This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.12. クラウドプロバイダーの認証情報のローテーションまたは削除
OpenShift Container Platform のインストール後に、一部の組織では、初回インストール時に使用されたクラウドプロバイダーの認証情報のローテーションまたは削除が必要になります。
クラスターが新規の認証情報を使用できるようにするには、Cloud Credential Operator (CCO) が使用するシークレットを更新して、クラウドプロバイダーの認証情報を管理できるようにする必要があります。
5.12.1. Cloud Credential Operator ユーティリティーを使用したクラウドプロバイダー資格情報のローテーション
					Cloud Credential Operator (CCO) ユーティリティー ccoctl は、IBM Cloud にインストールされたクラスターのシークレットの更新をサポートしています。
				
5.12.1.1. IBM Cloud の API キーのローテーション
既存のサービス ID の API キーをローテーションし、対応するシークレットを更新できます。
前提条件
- 
								ccoctlバイナリーを設定している。
- IBM Cloud にインストールされたライブ OpenShift Container Platform クラスターに既存のサービス ID がある。
手順
- ccoctlユーティリティーを使用して、サービス ID の API キーをローテーションし、シークレットを更新します。- ccoctl ibmcloud refresh-keys \ --kubeconfig <openshift_kubeconfig_file> \ --credentials-requests-dir <path_to_credential_requests_directory> \ --name <name>- $ ccoctl ibmcloud refresh-keys \ --kubeconfig <openshift_kubeconfig_file> \- 1 - --credentials-requests-dir <path_to_credential_requests_directory> \- 2 - --name <name>- 3 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- クラスターで - TechPreviewNoUpgrade機能セットによって有効化されたテクノロジープレビュー機能を使用している場合は、- --enable-tech-previewパラメーターを含める必要があります。
5.12.2. クラウドプロバイダーの認証情報の手動によるローテーション
クラウドプロバイダーの認証情報が何らかの理由で変更される場合、クラウドプロバイダーの認証情報の管理に Cloud Credential Operator (CCO) が使用するシークレットを手動で更新する必要があります。
クラウド認証情報をローテーションするプロセスは、CCO を使用するように設定されているモードによって変わります。mint モードを使用しているクラスターの認証情報をローテーションした後に、削除された認証情報で作成されたコンポーネントの認証情報は手動で削除する必要があります。
前提条件
- クラスターは、使用している CCO モードでのクラウド認証情報の手動ローテーションをサポートするプラットフォームにインストールされている。 - mint モードについては、Amazon Web Services (AWS) および Google Cloud Platform (GCP) がサポートされます。
- passthrough モードは、Amazon Web Services (AWS)、Microsoft Azure、Google Cloud Platform (GCP)、Red Hat OpenStack Platform (RHOSP)、Red Hat Virtualization (RHV)、および VMware vSphere でサポートされます。
 
- クラウドプロバイダーとのインターフェイスに使用される認証情報を変更している。
- 新規認証情報には、モードの CCO がクラスターで使用されるように設定するのに十分なパーミッションがある。
手順
- 
							Web コンソールの Administrator パースペクティブで、Workloads Secrets に移動します。 
- Secrets ページの表で、クラウドプロバイダーのルートシークレットを見つけます。 - Expand - プラットフォーム - シークレット名 - AWS - aws-creds- Azure - azure-credentials- GCP - gcp-credentials- RHOSP - openstack-credentials- RHV - ovirt-credentials- VMware vSphere - vsphere-creds
- 
							シークレットと同じ行にある Options メニュー 
							 をクリックし、Edit Secret を選択します。 をクリックし、Edit Secret を選択します。
- Value フィールドの内容を記録します。この情報を使用して、認証情報の更新後に値が異なることを確認できます。
- Value フィールドのテキストをクラウドプロバイダーの新規の認証情報で更新し、Save をクリックします。
- vSphere CSI Driver Operator が有効になっていない vSphere クラスターの認証情報を更新する場合は、Kubernetes コントローラーマネージャーを強制的にロールアウトして更新された認証情報を適用する必要があります。 注記- vSphere CSI Driver Operator が有効になっている場合、この手順は不要です。 - 更新された vSphere 認証情報を適用するには、 - cluster-adminロールを持つユーザーとして OpenShift Container Platform CLI にログインし、以下のコマンドを実行します。- oc patch kubecontrollermanager cluster \ -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date )"'"}}' \ --type=merge- $ oc patch kubecontrollermanager cluster \ -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date )"'"}}' \ --type=merge- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 認証情報がロールアウトされている間、Kubernetes Controller Manager Operator のステータスは - Progressing=trueを報告します。ステータスを表示するには、次のコマンドを実行します。- oc get co kube-controller-manager - $ oc get co kube-controller-manager- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- クラスターの CCO が mint モードを使用するように設定されている場合、個別の - CredentialsRequestオブジェクトによって参照される各コンポーネントシークレットを削除します。- 
									cluster-adminロールを持つユーザーとして OpenShift Container Platform CLI にログインします。
- 参照されたすべてのコンポーネントシークレットの名前および namespace を取得します。 - oc -n openshift-cloud-credential-operator get CredentialsRequest \ -o json | jq -r '.items[] | select (.spec.providerSpec.kind=="<provider_spec>") | .spec.secretRef' - $ oc -n openshift-cloud-credential-operator get CredentialsRequest \ -o json | jq -r '.items[] | select (.spec.providerSpec.kind=="<provider_spec>") | .spec.secretRef'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ここで、 - <provider_spec>はクラウドプロバイダーの対応する値になります。- 
											AWS: AWSProviderSpec
- 
											GCP: GCPProviderSpec
 - AWS の部分的なサンプル出力 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
											AWS: 
- 参照されるコンポーネントの各シークレットを削除します。 - oc delete secret <secret_name> \ -n <secret_namespace> - $ oc delete secret <secret_name> \- 1 - -n <secret_namespace>- 2 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - AWS シークレットの削除例 - oc delete secret ebs-cloud-credentials -n openshift-cluster-csi-drivers - $ oc delete secret ebs-cloud-credentials -n openshift-cluster-csi-drivers- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - プロバイダーコンソールから認証情報を手動で削除する必要はありません。参照されるコンポーネントのシークレットを削除すると、CCO はプラットフォームから既存の認証情報を削除し、新規の認証情報を作成します。 
 
- 
									
検証
認証情報が変更されたことを確認するには、以下を実行します。
- 
							Web コンソールの Administrator パースペクティブで、Workloads Secrets に移動します。 
- Value フィールドの内容が変更されていることを確認します。
5.12.3. クラウドプロバイダーの認証情報の削除
					Cloud Credential Operator (CCO) を mint モードで使用して OpenShift Container Platform クラスターをインストールした後に、クラスターの kube-system namespace から管理者レベルの認証情報シークレットを削除できます。管理者レベルの認証情報は、アップグレードなどの昇格されたパーミッションを必要とする変更時にのみ必要です。
				
z-stream 以外のアップグレードの前に、認証情報のシークレットを管理者レベルの認証情報と共に元に戻す必要があります。認証情報が存在しない場合は、アップグレードがブロックされる可能性があります。
前提条件
- クラスターが、CCO からのクラウド認証情報の削除をサポートするプラットフォームにインストールされている。サポート対象プラットフォームは AWS および GCP。
手順
- 
							Web コンソールの Administrator パースペクティブで、Workloads Secrets に移動します。 
- Secrets ページの表で、クラウドプロバイダーのルートシークレットを見つけます。 - Expand - プラットフォーム - シークレット名 - AWS - aws-creds- GCP - gcp-credentials
- 
							シークレットと同じ行にある Options メニュー 
							 をクリックし、Delete Secret を選択します。 をクリックし、Delete Secret を選択します。