11.2. デフォルトのサービスアカウント
OpenShift Container Platform クラスターには、クラスター管理用のデフォルトのサービスアカウントが含まれ、各プロジェクトのサービスアカウントは追加で生成されます。
11.2.1. デフォルトのクラスターサービスアカウント
一部のインフラストラクチャーコントローラーは、サービスアカウント認証情報を使用して実行されます。以下のサービスアカウントは、サーバーの起動時に OpenShift Container Platform インフラストラクチャープロジェクト (openshift-infra
) に作成され、クラスター全体での以下のロールが付与されます。
サービスアカウント | 説明 |
---|---|
|
|
|
|
|
|
11.2.2. デフォルトのプロジェクトサービスアカウントおよびロール
3 つのサービスアカウントが各プロジェクトで自動的に作成されます。
サービスアカウント | 使用法 |
---|---|
|
ビルド Pod で使用されます。これには |
|
デプロイメント Pod で使用され、 |
| 別のサービスアカウントが指定されていない限り、その他すべての Pod を実行するために使用されます。 |
プロジェクトのすべてのサービスアカウントには system:image-puller
ロールが付与されます。 このロールは、内部コンテナーイメージレジストリーを使用してイメージをイメージストリームからプルすることを可能にします。
11.2.3. 自動生成されるサービスアカウントトークンシークレット
サービスアカウントが作成されると、そのサービスアカウント用のトークンシークレットが自動的に生成されます。このサービスアカウントトークンシークレットは、自動的に生成された Docker 設定シークレットとともに、内部 OpenShift Container Platform レジストリーに対する認証に使用されます。これらの自動生成されたシークレットは、自分での使用に依存することがないようにしてください。これらは将来の OpenShift Container Platform リリースで削除される可能性があります。
OpenShift Container Platform 4.11 より前では、サービスアカウントの作成時に 2 番目のサービスアカウントトークンシークレットが生成されました。このサービスアカウントトークンシークレットは、Kubernetes API へのアクセスに使用されていました。
OpenShift Container Platform 4.11 以降、この 2 番目のサービスアカウントトークンシークレットは作成されなくなりました。これは、LegacyServiceAccountTokenNoAutoGeneration
アップストリーム Kubernetes フィーチャーゲートが有効になっており、Kubernetes API にアクセスするためのシークレットベースのサービスアカウントトークンの自動生成が停止されているためです。
4.13 にアップグレードした後も、既存のサービスアカウントトークンシークレットは削除されず、引き続き機能します。
バインドされたサービスアカウントトークンを取得するために、予測されたボリュームでワークロードが自動的に挿入されます。ワークロードに追加のサービスアカウントトークンが必要な場合は、ワークロードマニフェストに追加の予測ボリュームを追加します。バインドされたサービスアカウントトークンは、次の理由により、サービスアカウントトークンのシークレットよりも安全です。
- バインドされたサービスアカウントトークンには有効期間が制限されています。
- バインドされたサービスアカウントトークンには対象ユーザーが含まれます。
- バインドされたサービスアカウントトークンは Pod またはシークレットにバインドでき、バインドされたオブジェクトが削除されるとバインドされたトークンは無効になります。
詳細は、ボリュームプロジェクションを使用したバインドされたサービスアカウントトークンの設定 を参照してください。
読み取り可能な API オブジェクト内の有効期限のないトークンのセキュリティー露出が許容される場合は、サービスアカウントトークンシークレットを手動で作成してトークンを取得することもできます。詳細は、サービスアカウントトークンシークレットの作成 を参照してください。
関連情報
- バインドされたサービスアカウントトークンのリクエストは、ボリュームプロジェクションを使用したバインドされたサービスアカウントトークンの設定 を参照してください。
- サービスアカウントトークンシークレットの作成は、サービスアカウントトークンシークレットの作成 を参照してください。