第18章 クラウドプロバイダーの認証情報の管理
18.1. Cloud Credential Operator について
Cloud Credential Operator (CCO) は、クラウドプロバイダーの認証情報をカスタムリソース定義 (CRD) として管理します。CCO は CredentialsRequest
カスタムリソース (CR) で同期し、OpenShift Container Platform コンポーネントが、クラスターの実行に必要な特定のパーミッションと共にクラウドプロバイダーの認証情報を要求できるようにします。
install-config.yaml
ファイルで credentialsMode
パラメーターに異なる値を設定すると、CCO は複数の異なるモードで動作するように設定できます。モードが指定されていない場合や、credentialsMode
パラメーターが空の文字列 (""
) に設定されている場合、CCO はデフォルトモードで動作します。
18.1.1. モード
install-config.yaml
ファイルに credentialsMode
パラメーターの異なる値を設定することで、CCO を mint、passthrough、または manual モードで動作するように設定できます。これらのオプションにより、CCO がクラウド認証情報を使用してクラスターで CredentialsRequest
CR を処理し、CCO を組織のセキュリティー要件に対応するように設定する方法において透明性と柔軟性が提供されます。すべてのクラウドプロバイダーですべての CCO モードがサポートされている訳ではありません。
Mint: mint モードでは、CCO は提供される管理レベルのクラウド認証情報を使用して、必要となる特定のパーミッションのみでクラスター内のコンポーネントの新規の認証情報を作成します。
注記mint モードは、CCO が使用するデフォルトかつ推奨されるベストプラクティスの設定です。
- Passthrough: passthrough モードでは、CCO はクラウド認証情報を要求するコンポーネントに、指定されたクラウド認証情報を渡します。
Manual: manual モードでは、ユーザーは CCO の代わりにクラウド認証情報を管理します。
- Manual with AWS STS: manual モードでは、AWS クラスターを Amazon Web Services Security Token Service (AWS STS) を使用するように設定できます。この設定では、CCO は異なるコンポーネントに一時的な認証情報を使用します。
クラウドプロバイダー | Mint | passthrough | Manual |
---|---|---|---|
Amazon Web Services (AWS) | X | X | X |
Microsoft Azure | X [1] | X | |
Google Cloud Platform (GCP) | X | X | X |
Red Hat OpenStack Platform (RHOSP) | X | ||
Red Hat Virtualization (RHV) | X | ||
VMware vSphere | X |
- 手動モードは、Microsoft Azure Stack Hub でサポートされている唯一の CCO 設定です。
18.1.2. デフォルト動作
複数のモードがサポートされるプラットフォーム (AWS、Azure、および GCP) の場合、CCO がデフォルトモードで動作する際に、これは指定される認証情報を動的にチェックし、CredentialsRequest
CR を処理するのに十分なモードを判別します。
デフォルトで、CCO は推奨される操作モードの mint モードに十分な認証情報があるかどうかを判別し、これらの認証情報を使用してクラスター内のコンポーネントの適切な認証情報を作成します。mint モードに十分な認証情報がない場合は、passthrough モードに十分な認証情報があるかどうかを判別します。passthrough モードに十分な認証情報がない場合、CCO は CredentialsRequest
CR を適切に処理できません。
インストール時に提供された認証情報が不十分であると判別される場合、インストールは失敗します。AWS では、インストーラーはプロセスの早期の段階で失敗し、どの必須パーミッションが欠落しているかを示します。他のプロバイダーは、エラーが発生するまでエラーの原因についての具体的な情報を提供しない場合があります。
認証情報が正常なインストールの後に変更され、CCO が新規の認証情報が不十分であると判別する場合に、CCO は新規の CredentialsRequest
CR に条件を追加し、認証情報が不十分であるためにそれらを処理できないことを示唆します。
不十分な認証情報についての問題を解決するために、適切なパーミッションで認証情報を指定します。エラーがインストール時に発生した場合は、再度インストールを試行します。新規の CredentialsRequest
CR 関連の問題については、CCO が再び CR の処理を試行するのを待機します。別の方法として、AWS、Azure、および GCP の IAM を手動で作成できます。