サービスアカウント
サービスアカウントというのは、コンテナーイメージやコンテナー化アプリケーションの自動化管理に用いる 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 アカウント向けに新たなサービスアカウントを生成するには、以下のようにします。
- 新たな Docker ID を生成します。
- 組織内において 1 つの チーム を生成します。 そのチームにおいて、プライベートリポジトリへのアクセス権限を読み込み専用とします。
- 組織 において、上で生成した Docker ID を追加します。
- 上で生成した チーム に対して、その Docker ID を追加します。
- そのユーザーアカウントから パーソナルアカウントトークン (personal access token; PAT) を生成して、CI 向けにこれを利用します。
メモ
オープンソースを提供するリポジトリに対して、読み込み専用の PAT を必要とする場合、あるいは公式イメージや公開イメージへのアクセスを行う場合、上で生成した Docker ID に対して、何かのアクセス権限を付与する必要はありません。
追加情報
追加情報として、以下のトピックを参照してください。
Docker, service, accounts, Docker Hub