第10章 クラウドプロバイダーの認証情報の設定変更
クラスターのクラウドプロバイダー認証情報設定を変更して、セキュリティーと認証の要件を満たすことができます。認証情報をローテーションまたは削除したり、サポートされている短期認証情報方法を有効にしたりできます。
サポートされる構成では、OpenShift Container Platform がクラウドプロバイダーに対して認証する方法を変更できます。
クラスターが使用するクラウド認証情報ストラテジーを確認するには、Cloud Credential Operator モードの削除を参照してください。
10.1. Cloud Credential Operator ユーティリティーを使用したクラウドプロバイダーのサービスキーのローテーション リンクのコピーリンクがクリップボードにコピーされました!
組織によっては、クラスターを認証するサービスキーをローテーションする必要があります。Cloud Credential Operator (CCO) ユーティリティー (ccoctl) を使用すると、次のクラウドプロバイダーにインストールされているクラスターのキーを更新できます。
- Security Token Service (STS) を使用する Amazon Web Services (AWS)
- GCP Workload Identity を使用する Google Cloud
- Workload ID を使用する Microsoft Azure
- IBM Cloud
10.1.1. AWS OIDC のバインドされたサービスアカウント署名者鍵のローテーション リンクのコピーリンクがクリップボードにコピーされました!
Amazon Web Services (AWS) 上の OpenShift Container Platform クラスターの Cloud Credential Operator (CCO) が STS を使用して手動モードで動作するように設定されている場合は、バインドされたサービスアカウント署名者鍵をローテーションできます。
鍵をローテーションするには、クラスター上の既存の鍵を削除します。削除すると、Kubernetes API サーバーによって新しい鍵が作成されます。このプロセス中の認証失敗を減らすために、新しい公開鍵を既存の発行者ファイルにすぐに追加する必要があります。クラスターが認証に新しいキーを使用した後は、残っているキーを削除できます。
OIDC のバインドされたサービスアカウント署名者鍵をローテーションするプロセスは、システムの中断を引き起こし、かなりの時間がかかります。いくつかのステップには時間的な制約があります。続行する前に、次の考慮事項を確認してください。
- 次の手順を読み、必ず時間の要件を理解してご承知おきください。正確な所要時間は個々のクラスターによって異なりますが、少なくとも 1 時間かかる可能性があります。
- 認証失敗のリスクを軽減するために、時間的な制約があるステップを理解し、準備しておく必要があります。
- このプロセス中に、すべてのサービスアカウントを更新し、クラスター上のすべての Pod を再起動する必要があります。これらのアクションはワークロードの中断を伴います。この影響を軽減するには、これらのサービスを一時的に停止し、クラスターの準備ができたときに再デプロイすることができます。
前提条件
-
cluster-adminロールを持つユーザーとして OpenShift CLI (oc) にアクセスできる。
ccoctlユーティリティーで使用できるように、次の権限を持つ AWS アカウントを作成した。-
s3:GetObject -
s3:PutObject -
s3:PutObjectTagging -
パブリック CloudFront ディストリビューション URL を介して IAM アイデンティティープロバイダーがアクセスするプライベート S3 バケットに OIDC 設定を保存するクラスターの場合、
ccoctlユーティリティーを実行する AWS アカウントにcloudfront:ListDistributions権限が必要です。
-
-
ccoctlユーティリティーを設定した。 クラスターが安定した状態にある。次のコマンドを実行すると、クラスターが安定していることを確認できます。
$ oc adm wait-for-stable-cluster --minimum-stable-period=5s
手順
次の環境変数を設定します。
INFRA_ID=$(oc get infrastructures cluster -o jsonpath='{.status.infrastructureName}') CLUSTER_NAME=${INFRA_ID%-*}各項目の説明:
CLUSTER_NAMEこの値は、インストール時に
install-config.yamlファイルのmetadata.nameフィールドで指定したクラスターの名前と一致する必要があります。注記実際のクラスターはこの例と異なる場合があります。また、リソース名が同じようにクラスター名に基づくものではない可能性があります。実際のクラスターに対応する正しいリソース名を必ず指定してください。
OIDC 設定をパブリック S3 バケットに保存する AWS クラスターの場合は、次の環境変数を設定します。
AWS_BUCKET=$(oc get authentication cluster -o jsonpath={'.spec.serviceAccountIssuer'} | awk -F'://' '{print$2}' |awk -F'.' '{print$1}')パブリック CloudFront ディストリビューション URL を介して IAM アイデンティティープロバイダーがアクセスするプライベート S3 バケットに OIDC 設定を保存する AWS クラスターの場合は、次の手順を実行します。
次のコマンドを実行して、パブリック CloudFront ディストリビューション URL を抽出します。
$ basename $(oc get authentication cluster -o jsonpath={'.spec.serviceAccountIssuer'} )出力例
<subdomain>.cloudfront.net<subdomain>は英数字の文字列です。次のコマンドを実行して、プライベート S3 バケット名を確認します。
$ aws cloudfront list-distributions --query "DistributionList.Items[].{DomainName: DomainName, OriginDomainName: Origins.Items[0].DomainName}[?contains(DomainName, '<subdomain>.cloudfront.net')]"出力例
[ { "DomainName": "<subdomain>.cloudfront.net", "OriginDomainName": "<s3_bucket>.s3.us-east-2.amazonaws.com" } ]<s3_bucket>はクラスターのプライベート S3 バケット名です。次の環境変数を設定します。
AWS_BUCKET=$<s3_bucket><s3_bucket>はクラスターのプライベート S3 バケット名です。
次のコマンドを実行して、使用する一時ディレクトリーを作成し、環境変数を割り当てます。
$ TEMPDIR=$(mktemp -d)Kubernetes API サーバーが新しいバインドされたサービスアカウント署名鍵を作成するように、次のバインドされたサービスアカウント署名鍵を削除します。
重要このステップを完了すると、Kubernetes API サーバーが新しい鍵のロールアウトを開始します。認証失敗のリスクを減らすために、残りのステップをできるだけ早く完了してください。残りのステップにより、ワークロードの中断が発生する可能性があります。
準備ができたら、以下のコマンドを実行して、次のバインドされたサービスアカウント署名鍵を削除します。
$ oc delete secrets/next-bound-service-account-signing-key \ -n openshift-kube-apiserver-operator次のコマンドを実行して、Kubernetes API サーバーが作成したサービスアカウント署名鍵シークレットから公開鍵をダウンロードします。
$ oc get secret/next-bound-service-account-signing-key \ -n openshift-kube-apiserver-operator \ -ojsonpath='{ .data.service-account\.pub }' | base64 \ -d > ${TEMPDIR}/serviceaccount-signer.public公開鍵を使用して次のコマンドを実行し、
keys.jsonファイルを作成します。$ ccoctl aws create-identity-provider \ --dry-run \ --output-dir ${TEMPDIR} \ --public-key-file=${TEMPDIR}/serviceaccount-signer.public \ --name fake \ --region us-east-1各項目の説明:
--dry-run-
ドライランモードは、API 呼び出しを行わずに、新しい
keys.jsonファイルを含むファイルをディスクに出力します。 --public-key-file- 前のステップでダウンロードした公開鍵へのパス。
--name-
一部のパラメーターには実際の値は必要ありません。これは、その
-dry-runオプションで API 呼び出しが行われないためです。 --region-
有効な AWS リージョン(例:
us-east-1)。この値は、クラスターが存在するリージョンと一致する必要はありません。
次のコマンドを実行して、
keys.jsonファイルの名前を変更します。$ cp ${TEMPDIR}/<number>-keys.json ${TEMPDIR}/jwks.new.json<number>は環境に応じて異なる 2 桁の数値です。次のコマンドを実行して、クラウドプロバイダーから既存の
keys.jsonファイルをダウンロードします。$ aws s3api get-object \ --bucket ${AWS_BUCKET} \ --key keys.json ${TEMPDIR}/jwks.current.json次のコマンドを実行して、2 つの
keys.jsonファイルを結合します。$ jq -s '{ keys: map(.keys[])}' ${TEMPDIR}/jwks.current.json ${TEMPDIR}/jwks.new.json > ${TEMPDIR}/jwks.combined.jsonローテーション中に古い鍵と新しい鍵の認証を有効にするために、次のコマンドを実行して、結合された
keys.jsonファイルをクラウドプロバイダーにアップロードします。$ aws s3api put-object \ --bucket ${AWS_BUCKET} \ --tagging "openshift.io/cloud-credential-operator/${CLUSTER_NAME}=owned" \ --key keys.json \ --body ${TEMPDIR}/jwks.combined.jsonKubernetes API サーバーが更新され、新しい鍵が使用されるまで待ちます。次のコマンドを実行すると、更新の進行状況を監視できます。
$ oc adm wait-for-stable-clusterこのプロセスには 15 分以上かかる場合があります。次の出力は、プロセスが完了したことを示します。
All clusteroperators are stableクラスター上のすべての Pod が新しい鍵を使用するように、Pod を再起動する必要があります。
重要このステップにより、複数のノードにわたる高可用性が設定されているサービスのアップタイムが維持されます。しかし、高可用性が設定されていないサービスのダウンタイムが発生する可能性があります。
次のコマンドを実行して、クラスター内のすべての Pod を再起動します。
$ oc adm reboot-machine-config-pool mcp/worker mcp/master次のコマンドを実行して、再起動と更新のプロセスを監視します。
$ oc adm wait-for-node-reboot nodes --allこのプロセスには 15 分以上かかる場合があります。次の出力は、プロセスが完了したことを示します。
All nodes rebooted次のコマンドを実行して更新の進行状況を監視します。
$ oc adm wait-for-stable-clusterこのプロセスには 15 分以上かかる場合があります。次の出力は、プロセスが完了したことを示します。
All clusteroperators are stable次のコマンドを実行して、結合された
keys.jsonファイルを、クラウドプロバイダー上の更新されたkeys.jsonファイルに置き換えます。$ aws s3api put-object \ --bucket ${AWS_BUCKET} \ --tagging "openshift.io/cloud-credential-operator/${CLUSTER_NAME}=owned" \ --key keys.json \ --body ${TEMPDIR}/jwks.new.json
10.1.2. Google Cloud OIDC のバインドされたサービスアカウント署名者鍵のローテーション リンクのコピーリンクがクリップボードにコピーされました!
Google Cloud 上の OpenShift Container Platform クラスターの Cloud Credential Operator (CCO) が GCP Workload Identity を使用して手動モードで動作するように設定されている場合は、バインドされたサービスアカウント署名者鍵をローテーションできます。
鍵をローテーションするには、クラスター上の既存の鍵を削除します。削除すると、Kubernetes API サーバーによって新しい鍵が作成されます。このプロセス中の認証失敗を減らすために、新しい公開鍵を既存の発行者ファイルにすぐに追加する必要があります。クラスターが認証に新しいキーを使用した後は、残っているキーを削除できます。
OIDC のバインドされたサービスアカウント署名者鍵をローテーションするプロセスは、システムの中断を引き起こし、かなりの時間がかかります。いくつかのステップには時間的な制約があります。続行する前に、次の考慮事項を確認してください。
- 次の手順を読み、必ず時間の要件を理解してご承知おきください。正確な所要時間は個々のクラスターによって異なりますが、少なくとも 1 時間かかる可能性があります。
- 認証失敗のリスクを軽減するために、時間的な制約があるステップを理解し、準備しておく必要があります。
- このプロセス中に、すべてのサービスアカウントを更新し、クラスター上のすべての Pod を再起動する必要があります。これらのアクションはワークロードの中断を伴います。この影響を軽減するには、これらのサービスを一時的に停止し、クラスターの準備ができたときに再デプロイすることができます。
前提条件
-
cluster-adminロールを持つユーザーとして OpenShift CLI (oc) にアクセスできる。
ccoctlユーティリティーが使用する Google Cloud アカウントに、次のいずれかの認証オプションを追加した。- IAM Workload Identity Pool Admin ロール
次の詳細な権限:
-
storage.objects.create -
storage.objects.delete
-
-
ccoctlユーティリティーを設定した。 クラスターが安定した状態にある。次のコマンドを実行すると、クラスターが安定していることを確認できます。
$ oc adm wait-for-stable-cluster --minimum-stable-period=5s
手順
次の環境変数を設定します。
CURRENT_ISSUER=$(oc get authentication cluster -o jsonpath='{.spec.serviceAccountIssuer}') GCP_BUCKET=$(echo ${CURRENT_ISSUER} | cut -d "/" -f4)注記実際のクラスターはこの例と異なる場合があります。また、リソース名が同じようにクラスター名に基づくものではない可能性があります。実際のクラスターに対応する正しいリソース名を必ず指定してください。
次のコマンドを実行して、使用する一時ディレクトリーを作成し、環境変数を割り当てます。
$ TEMPDIR=$(mktemp -d)Kubernetes API サーバーが新しいバインドされたサービスアカウント署名鍵を作成するように、次のバインドされたサービスアカウント署名鍵を削除します。
重要このステップを完了すると、Kubernetes API サーバーが新しい鍵のロールアウトを開始します。認証失敗のリスクを減らすために、残りのステップをできるだけ早く完了してください。残りのステップにより、ワークロードの中断が発生する可能性があります。
準備ができたら、以下のコマンドを実行して、次のバインドされたサービスアカウント署名鍵を削除します。
$ oc delete secrets/next-bound-service-account-signing-key \ -n openshift-kube-apiserver-operator次のコマンドを実行して、Kubernetes API サーバーが作成したサービスアカウント署名鍵シークレットから公開鍵をダウンロードします。
$ oc get secret/next-bound-service-account-signing-key \ -n openshift-kube-apiserver-operator \ -ojsonpath='{ .data.service-account\.pub }' | base64 \ -d > ${TEMPDIR}/serviceaccount-signer.public公開鍵を使用して次のコマンドを実行し、
keys.jsonファイルを作成します。$ ccoctl gcp create-workload-identity-provider \ --dry-run \ --output-dir=${TEMPDIR} \ --public-key-file=${TEMPDIR}/serviceaccount-signer.public \ --name fake \ --project fake \ --workload-identity-pool fake各項目の説明:
--dry-run-
ドライランモードは、API 呼び出しを行わずに、新しい
keys.jsonファイルを含むファイルをディスクに出力します。 --public-key-file- 前のステップでダウンロードした公開鍵へのパス。
--name-
一部のパラメーターには実際の値は必要ありません。これは、その
-dry-runオプションで API 呼び出しが行われないためです。
次のコマンドを実行して、
keys.jsonファイルの名前を変更します。$ cp ${TEMPDIR}/<number>-keys.json ${TEMPDIR}/jwks.new.json<number>は環境に応じて異なる 2 桁の数値です。次のコマンドを実行して、クラウドプロバイダーから既存の
keys.jsonファイルをダウンロードします。$ gcloud storage cp gs://${GCP_BUCKET}/keys.json ${TEMPDIR}/jwks.current.json次のコマンドを実行して、2 つの
keys.jsonファイルを結合します。$ jq -s '{ keys: map(.keys[])}' ${TEMPDIR}/jwks.current.json ${TEMPDIR}/jwks.new.json > ${TEMPDIR}/jwks.combined.jsonローテーション中に古い鍵と新しい鍵の認証を有効にするために、次のコマンドを実行して、結合された
keys.jsonファイルをクラウドプロバイダーにアップロードします。$ gcloud storage cp ${TEMPDIR}/jwks.combined.json gs://${GCP_BUCKET}/keys.jsonKubernetes API サーバーが更新され、新しい鍵が使用されるまで待ちます。次のコマンドを実行すると、更新の進行状況を監視できます。
$ oc adm wait-for-stable-clusterこのプロセスには 15 分以上かかる場合があります。次の出力は、プロセスが完了したことを示します。
All clusteroperators are stableクラスター上のすべての Pod が新しい鍵を使用するように、Pod を再起動する必要があります。
重要このステップにより、複数のノードにわたる高可用性が設定されているサービスのアップタイムが維持されます。しかし、高可用性が設定されていないサービスのダウンタイムが発生する可能性があります。
次のコマンドを実行して、クラスター内のすべての Pod を再起動します。
$ oc adm reboot-machine-config-pool mcp/worker mcp/master次のコマンドを実行して、再起動と更新のプロセスを監視します。
$ oc adm wait-for-node-reboot nodes --allこのプロセスには 15 分以上かかる場合があります。次の出力は、プロセスが完了したことを示します。
All nodes rebooted次のコマンドを実行して更新の進行状況を監視します。
$ oc adm wait-for-stable-clusterこのプロセスには 15 分以上かかる場合があります。次の出力は、プロセスが完了したことを示します。
All clusteroperators are stable次のコマンドを実行して、結合された
keys.jsonファイルを、クラウドプロバイダー上の更新されたkeys.jsonファイルに置き換えます。$ gcloud storage cp ${TEMPDIR}/jwks.new.json gs://${GCP_BUCKET}/keys.json
10.1.3. Azure OIDC のバインドされたサービスアカウント署名者鍵のローテーション リンクのコピーリンクがクリップボードにコピーされました!
Microsoft Azure 上の OpenShift Container Platform クラスターの Cloud Credential Operator (CCO) が Microsoft Entra Workload ID を使用して手動モードで動作するように設定されている場合は、バインドされたサービスアカウント署名者鍵をローテーションできます。
鍵をローテーションするには、クラスター上の既存の鍵を削除します。削除すると、Kubernetes API サーバーによって新しい鍵が作成されます。このプロセス中の認証失敗を減らすために、新しい公開鍵を既存の発行者ファイルにすぐに追加する必要があります。クラスターが認証に新しいキーを使用した後は、残っているキーを削除できます。
OIDC のバインドされたサービスアカウント署名者鍵をローテーションするプロセスは、システムの中断を引き起こし、かなりの時間がかかります。いくつかのステップには時間的な制約があります。続行する前に、次の考慮事項を確認してください。
- 次の手順を読み、必ず時間の要件を理解してご承知おきください。正確な所要時間は個々のクラスターによって異なりますが、少なくとも 1 時間かかる可能性があります。
- 認証失敗のリスクを軽減するために、時間的な制約があるステップを理解し、準備しておく必要があります。
- このプロセス中に、すべてのサービスアカウントを更新し、クラスター上のすべての Pod を再起動する必要があります。これらのアクションはワークロードの中断を伴います。この影響を軽減するには、これらのサービスを一時的に停止し、クラスターの準備ができたときに再デプロイすることができます。
前提条件
-
cluster-adminロールを持つユーザーとして OpenShift CLI (oc) にアクセスできる。
ccoctlユーティリティーで使用できるように、次の権限を持つグローバル Azure アカウントを作成した。-
Microsoft.Storage/storageAccounts/listkeys/action -
Microsoft.Storage/storageAccounts/read -
Microsoft.Storage/storageAccounts/write -
Microsoft.Storage/storageAccounts/blobServices/containers/read -
Microsoft.Storage/storageAccounts/blobServices/containers/write
-
-
ccoctlユーティリティーを設定した。 クラスターが安定した状態にある。次のコマンドを実行すると、クラスターが安定していることを確認できます。
$ oc adm wait-for-stable-cluster --minimum-stable-period=5s
手順
次の環境変数を設定します。
CURRENT_ISSUER=$(oc get authentication cluster -o jsonpath='{.spec.serviceAccountIssuer}') AZURE_STORAGE_ACCOUNT=$(echo ${CURRENT_ISSUER} | cut -d "/" -f3 | cut -d "." -f1) AZURE_STORAGE_CONTAINER=$(echo ${CURRENT_ISSUER} | cut -d "/" -f4)注記実際のクラスターはこの例と異なる場合があります。また、リソース名が同じようにクラスター名に基づくものではない可能性があります。実際のクラスターに対応する正しいリソース名を必ず指定してください。
次のコマンドを実行して、使用する一時ディレクトリーを作成し、環境変数を割り当てます。
$ TEMPDIR=$(mktemp -d)Kubernetes API サーバーが新しいバインドされたサービスアカウント署名鍵を作成するように、次のバインドされたサービスアカウント署名鍵を削除します。
重要このステップを完了すると、Kubernetes API サーバーが新しい鍵のロールアウトを開始します。認証失敗のリスクを減らすために、残りのステップをできるだけ早く完了してください。残りのステップにより、ワークロードの中断が発生する可能性があります。
準備ができたら、以下のコマンドを実行して、次のバインドされたサービスアカウント署名鍵を削除します。
$ oc delete secrets/next-bound-service-account-signing-key \ -n openshift-kube-apiserver-operator次のコマンドを実行して、Kubernetes API サーバーが作成したサービスアカウント署名鍵シークレットから公開鍵をダウンロードします。
$ oc get secret/next-bound-service-account-signing-key \ -n openshift-kube-apiserver-operator \ -ojsonpath='{ .data.service-account\.pub }' | base64 \ -d > ${TEMPDIR}/serviceaccount-signer.public公開鍵を使用して次のコマンドを実行し、
keys.jsonファイルを作成します。$ ccoctl aws create-identity-provider \ --dry-run \ --output-dir ${TEMPDIR} \ --public-key-file=${TEMPDIR}/serviceaccount-signer.public \ --name fake \ --region us-east-1各項目の説明:
ccoctl aws-
このコマンドには a
-dry-runオプションは含まれません。--dry-runオプションを使用するには、Azure クラスターの場合もawsを指定する必要があります。 --dry-run-
ドライランモードは、API 呼び出しを行わずに、新しい
keys.jsonファイルを含むファイルをディスクに出力します。 --public-key-file- 前のステップでダウンロードした公開鍵へのパス。
--name-
一部のパラメーターには実際の値は必要ありません。これは、その
-dry-runオプションで API 呼び出しが行われないためです。 --region-
有効な AWS リージョン(例:
us-east-1)。この値は、クラスターが存在するリージョンと一致する必要はありません。
次のコマンドを実行して、
keys.jsonファイルの名前を変更します。$ cp ${TEMPDIR}/<number>-keys.json ${TEMPDIR}/jwks.new.json<number>は環境に応じて異なる 2 桁の数値です。次のコマンドを実行して、クラウドプロバイダーから既存の
keys.jsonファイルをダウンロードします。$ az storage blob download \ --container-name ${AZURE_STORAGE_CONTAINER} \ --account-name ${AZURE_STORAGE_ACCOUNT} \ --name 'openid/v1/jwks' \ -f ${TEMPDIR}/jwks.current.json次のコマンドを実行して、2 つの
keys.jsonファイルを結合します。$ jq -s '{ keys: map(.keys[])}' ${TEMPDIR}/jwks.current.json ${TEMPDIR}/jwks.new.json > ${TEMPDIR}/jwks.combined.jsonローテーション中に古い鍵と新しい鍵の認証を有効にするために、次のコマンドを実行して、結合された
keys.jsonファイルをクラウドプロバイダーにアップロードします。$ az storage blob upload \ --overwrite \ --account-name ${AZURE_STORAGE_ACCOUNT} \ --container-name ${AZURE_STORAGE_CONTAINER} \ --name 'openid/v1/jwks' \ -f ${TEMPDIR}/jwks.combined.jsonKubernetes API サーバーが更新され、新しい鍵が使用されるまで待ちます。次のコマンドを実行すると、更新の進行状況を監視できます。
$ oc adm wait-for-stable-clusterこのプロセスには 15 分以上かかる場合があります。次の出力は、プロセスが完了したことを示します。
All clusteroperators are stableクラスター上のすべての Pod が新しい鍵を使用するように、Pod を再起動する必要があります。
重要このステップにより、複数のノードにわたる高可用性が設定されているサービスのアップタイムが維持されます。しかし、高可用性が設定されていないサービスのダウンタイムが発生する可能性があります。
次のコマンドを実行して、クラスター内のすべての Pod を再起動します。
$ oc adm reboot-machine-config-pool mcp/worker mcp/master次のコマンドを実行して、再起動と更新のプロセスを監視します。
$ oc adm wait-for-node-reboot nodes --allこのプロセスには 15 分以上かかる場合があります。次の出力は、プロセスが完了したことを示します。
All nodes rebooted次のコマンドを実行して更新の進行状況を監視します。
$ oc adm wait-for-stable-clusterこのプロセスには 15 分以上かかる場合があります。次の出力は、プロセスが完了したことを示します。
All clusteroperators are stable次のコマンドを実行して、結合された
keys.jsonファイルを、クラウドプロバイダー上の更新されたkeys.jsonファイルに置き換えます。$ az storage blob upload \ --overwrite \ --account-name ${AZURE_STORAGE_ACCOUNT} \ --container-name ${AZURE_STORAGE_CONTAINER} \ --name 'openid/v1/jwks' \ -f ${TEMPDIR}/jwks.new.json
10.1.4. IBM Cloud 認証情報のローテーション リンクのコピーリンクがクリップボードにコピーされました!
既存の IBM Cloud サービス ID の API キーをローテーションし、対応するクラスターシークレットを更新して、有効なクラウドプロバイダー認証情報を維持できます。
既存のサービス ID の API キーをローテーションし、対応するシークレットを更新できます。
前提条件
-
ccoctlユーティリティーを設定した。 - インストールされているライブ OpenShift Container Platform クラスターに既存のサービス ID がある。
手順
ccoctlユーティリティーを使用してサービス ID の API キーをローテーションし、次のコマンドを実行してシークレットを更新します。$ ccoctl <provider_name> refresh-keys \ --kubeconfig <openshift_kubeconfig_file> \ --credentials-requests-dir <path_to_credential_requests_directory> \ --name <name>各項目の説明:
<provider_name>-
プロバイダーの名前。例:
ibmcloudまたはpowervs。 <openshift_kubeconfig_file>-
クラスターに関連付けられている
kubeconfigファイル。たとえば、<installation_directory>/auth/kubeconfigです。 <path_to_credential_requests_directory>- 認証情報の要求が保存されるディレクトリー。
<name>OpenShift Container Platform クラスターの名前。
注記クラスターで
TechPreviewNoUpgrade機能セットによって有効化されたテクノロジープレビュー機能を使用している場合は、--enable-tech-previewパラメーターを含める必要があります。