1.5.2.5. Microsoft Azure のクレデンシャルの作成のサポートが削除されました
OpenShift Container Platform 4.7.47 以降、Microsoft Azure クラスターのミントモードで Cloud Credential Operator (CCO) を使用するためのサポートが OpenShift Container Platform 4.7 から削除されました。この変更は、2022 年 6 月 30 日に Microsoft が Azure AD Graph API を廃止する予定であるためであり、z-stream 更新でサポートされているすべてのバージョンの OpenShift Container Platform にバックポートされます。
ミントモードを使用する以前にインストールされた Azure クラスターの場合、CCO は既存のシークレットを更新しようとします。シークレットに以前に作成されたアプリ登録サービスプリンシパルのクレデンシャルが含まれている場合、そのシークレットは kube-system/azure-credentials
のシークレットの内容で更新されます。この動作は、パススルーモードに似ています。
クレデンシャルモードがデフォルト値の ""
に設定されているクラスターの場合、更新された CCO は、ミントモードでの動作からパススルーモードでの動作に自動的に変更されます。クラスターでクレデンシャルモードが明示的にミントモード ("Mint"
) に設定されている場合は、値を ""
または "Passthrough"
に変更する必要があります。
ミントモードで必要な Contributor
のロールに加えて、変更されたアプリ登録サービスプリンシパルには、パススルーモードで使用される User Access Administrator
のロールが必要になりました。
Azure AD Graph API は引き続き利用可能ですが、OpenShift Container Platform のアップグレードバージョンの CCO は、以前に作成されたアプリ登録サービスプリンシパルをクリーンアップしようとします。Azure AD Graph API を廃止する前にクラスターをアップグレードすると、リソースを手動でクリーンアップする必要がなくなる場合があります。
Azure AD Graph API が廃止された後、クラスターがミントモードをサポートしなくなったバージョンの OpenShift Container Platform にアップグレードされた場合、CCO は関連する credentialsrequest
に OrphanedCloudResource
条件を設定しますが、エラーを致命的なものとして扱いません。この条件には、unable to clean up App Registration / Service Principal: <app_registration_name>
と類似したメッセージが含まれます。Azure AD Graph API が廃止された後のクリーンアップでは、Azure CLI ツールまたは Azure Web コンソールを使用して手動で介入し、残りのアプリ登録サービスプリンシパルを削除する必要があります。
リソースを手動でクリーンアップするには、影響を受けるリソースを見つけて削除する必要があります。
Azure CLI ツールを使用して、次のコマンドを実行し、
OrphanedCloudResource
条件メッセージから<app_registration_name>
を使用するアプリ登録サービスプリンシパルをフィルター処理します。$ az ad app list --filter "displayname eq '<app_registration_name>'" --query '[].objectId'
出力例
[ "038c2538-7c40-49f5-abe5-f59c59c29244" ]
次のコマンドを実行して、アプリ登録サービスプリンシパルを削除します。
$ az ad app delete --id 038c2538-7c40-49f5-abe5-f59c59c29244
リソースを手動でクリーンアップした後、CCO はリソースがクリーンアップされたことを確認できないため、OrphanedCloudResource
状態が持続します。