第11章 サービスアカウントの概要および作成
11.1. サービスアカウントの概要 リンクのコピーリンクがクリップボードにコピーされました!
サービスアカウントは、コンポーネントが API に直接アクセスできるようにする OpenShift Container Platform アカウントです。サービスアカウントは各プロジェクトに存在する API オブジェクトです。サービスアカウントは、通常ユーザーの認証情報を共有せずに API アクセスを制御する柔軟な方法を提供します。
OpenShift Container Platform CLI または Web コンソールを使用する場合、API トークンは API に対する認証を行います。コンポーネントをサービスアカウントに関連付け、通常ユーザーの認証情報を使用せずにそれらが API にアクセスできるようにします。
たとえば、サービスアカウントにより、以下が可能になります。
- レプリケーションコントローラーによる、Pod を作成または削除するための API 呼び出しの実行。
- コンテナー内のアプリケーションによる、検出目的での API 呼び出しの実行。
- 外部アプリケーションによる、モニターまたは統合目的での API 呼び出しの実行。
各サービスアカウントのユーザー名は、そのプロジェクトおよび名前から派生します。
system:serviceaccount:<project>:<name>
すべてのサービスアカウントは 2 つのグループのメンバーでもあります。
| グループ | 説明 |
|---|---|
| system:serviceaccounts | システムのすべてのサービスアカウントが含まれます。 |
| system:serviceaccounts:<project> | 指定されたプロジェクトのすべてのサービスアカウントが含まれます。 |
11.1.1. 自動的に生成されたイメージプルシークレット リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform は、各サービスアカウントに対してイメージプルシークレットを自動的に作成し、内部イメージレジストリーとユーザー認証を統合します。
OpenShift Container Platform 4.16 より前では、作成されたサービスアカウントごとに、長期間有効なサービスアカウント API トークンシークレットも生成されていました。OpenShift Container Platform 4.16 以降では、このサービスアカウント API トークンシークレットは作成されません。
バージョン 4.21 にアップグレードした後も、既存の長期有効なサービスアカウント API トークンシークレットは削除されず、引き続き機能します。クラスターで使用されている長期有効の API トークンを検出する方法、または不要な場合にそれらを削除する方法については、OpenShift Container Platform における長期有効のサービスアカウント API トークン (Red Hat ナレッジベース) を参照してください。
このイメージプルシークレットは、OpenShift イメージレジストリーをクラスターのユーザー認証および認可システムに統合するために必要です。
ただし、ImageRegistry 機能を有効にしていない場合、または Cluster Image Registry Operator の設定で統合済みの OpenShift イメージレジストリーを無効にしている場合、イメージプルシークレットはサービスアカウントごとに生成されません。
統合済みの OpenShift イメージレジストリーを有効にしていたクラスターでそれを無効にすると、以前に生成されたイメージプルシークレットが自動的に削除されます。