サービスアカウント

サービスアカウントというのは、コンテナーイメージやコンテナー化アプリケーションの自動化管理に用いる Docker ID のことです。 サービスアカウントは普通、自動化フローにおいて用いるものであって、Team プラン内のメンバー間において共有する Docker ID ではありません。 サービスアカウントの一般的な利用例としては、Docker Hub 内容のミラーリングや、CI/CD プロセスにおけるイメージのプル操作などがあります。

メモ

Team プランに含まれるサービスアカウントでは、1 日のプル数が 5,000 回に制限されています。 これよりも多くの回数を必要とする場合は、拡張サービスアカウントアドオン (Enhanced Service Account add-on) を購入することができます。

拡張サービスアカウントアドオンの価格

拡張サービスアカウントアドオン (Enhanced Service Account add-on) の価格については、以下の表を参照してください。

層(Tier) 1 日のプル数* 年額
1 5,000-10,000 $9,950/年
2 10,000-25,000 $17,950/年
3 25,000-50,000 $32,950/年
4 50,000-100,000 $58,950/年
5 100,000 以上 営業担当への問い合わせ

*初期の層 (Tier) が構成されると、年間最低価格が発生します。 利用は年単位です。 年間において 25 % までのプル数増加、また 20 日間の延長までは、追加料金が発生せずに利用できます。 利用回数に関する報告は、求めに応じて提供されます。 当初の 1 年間の終わりには、次年度に向けて適当な層 (Tier) が構成されます。

プル 1 回はどのように定義されるか

  • 1 つのプルリクエストは、レジストリマニフェスト URL (/v2/*/manifests/*) に対する最大 2 つまでのGETリクエストとして定義されます。
  • イメージプル 1 つは、普通は 1 つのマニフェストリクエストになります。
  • マルチアーキテクチャーイメージに対するプルリクエスト 1 つは、2 つのマニフェストリクエストになります。
  • HEADリクエストはカウントされません。
  • この制限が適用されるのはユーザーに対してです。 つまりプルされるイメージ単位ではなく、また所有者によるプルに対してでもありません。

新たなサービスアカウントの生成

Team アカウント向けに新たなサービスアカウントを生成するには、以下のようにします。

  1. 新たな Docker ID を生成します。
  2. 組織内において 1 つの チーム を生成します。 そのチームにおいて、プライベートリポジトリへのアクセス権限を読み込み専用とします。
  3. 組織 において、上で生成した Docker ID を追加します。
  4. 上で生成した チーム に対して、その Docker ID を追加します。
  5. そのユーザーアカウントから パーソナルアカウントトークン (personal access token; PAT) を生成して、CI 向けにこれを利用します。

メモ

オープンソースを提供するリポジトリに対して、読み込み専用の PAT を必要とする場合、あるいは公式イメージや公開イメージへのアクセスを行う場合、上で生成した Docker ID に対して、何かのアクセス権限を付与する必要はありません。

追加情報

追加情報として、以下のトピックを参照してください。

Docker, service, accounts, Docker Hub