第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> | 指定されたプロジェクトのすべてのサービスアカウントが含まれます。 |
各サービスのアカウントには、2 つのシークレットが自動的に含まれます。
- API トークン
- OpenShift Container レジストリーの認証情報
生成される API トークンとレジストリーの認証情報は期限切れになることはありませんが、シークレットを削除することで取り消すことができます。シークレットが削除されると、新規のシークレットが自動生成され、これに置き換わります。