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.3.9.3.6. サービスプリンシパルの作成
OpenShift Container Platform およびそのインストールプログラムは Azure Resource Manager 経由で Microsoft Azure リソースを作成する必要があるため、これを表すサービスプリンシパルを作成する必要があります。
前提条件
- Azure CLI のインストールまたは更新を実行します。
-
jqパッケージをインストールします。 - Azure アカウントには、使用するサブスクリプションに必要なロールがなければなりません。
手順
Azure CLI にログインします。
az login
$ az loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow 認証情報を使用して Web コンソールで Azure にログインします。
Azure アカウントでサブスクリプションを使用している場合は、適切なサブスクリプションを使用していることを確認してください。
利用可能なアカウントの一覧を表示し、クラスターに使用するサブスクリプションの
tenantIdの値を記録します。az account list --refresh
$ az account list --refreshCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アクティブなアカウントの詳細を表示し、
tenantId値が使用するサブスクリプションと一致することを確認します。az account show
$ az account showCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
tenantIdパラメーターの値が適切なサブスクリプションの UUID であることを確認します。
適切なサブスクリプションを使用していない場合には、アクティブなサブスクリプションを変更します。
az account set -s <id>
$ az account set -s <id>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用する必要のあるサブスクリプションの
idの値を<id>の代わりに使用します。
アクティブなサブスクリプションを変更したら、アカウント情報を再度表示します。
az account show
$ az account showCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
直前の出力の
tenantIdおよびidパラメーターの値を記録します。OpenShift Container Platform のインストール時にこれらの値が必要になります。 アカウントのサービスプリンシパルを作成します。
az ad sp create-for-rbac --role Contributor --name <service_principal>
$ az ad sp create-for-rbac --role Contributor --name <service_principal>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<service_principal>を、サービスプリンシパルに割り当てる名前に置き換えます。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
直前の出力の
appIdおよびpasswordパラメーターの値を記録します。OpenShift Container Platform のインストール時にこれらの値が必要になります。 サービスプリンシパルに追加パーミッションを付与します。
-
クラスターはそのコンポーネントの認証情報を割り当てできるように、
ContributorおよびUser Access Administratorロールを常にアプリケーション登録サービスプリンシパルに追加する必要があります。 -
Cloud Credential Operator (CCO) を mint モード で操作するには、アプリケーション登録サービスプリンシパルで
Azure Active Directory Graph/Application.ReadWrite.OwnedByAPI パーミッションも必要です。 - CCO を passthrough モード で操作するには、アプリケーション登録サービスプリンシパルで追加の API パーミッションは必要ありません。
CCO モードの詳細は、Red Hat Operator の参照情報のCloud Credential Operator について参照してください。
User Access Administratorロールを割り当てるには、以下のコマンドを実行します。az role assignment create --role "User Access Administrator" \ --assignee-object-id $(az ad sp list --filter "appId eq '<appId>'" \ | jq '.[0].id' -r)$ az role assignment create --role "User Access Administrator" \ --assignee-object-id $(az ad sp list --filter "appId eq '<appId>'" \ | jq '.[0].id' -r)1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<appId>を、サービスプリンシパルのappIdパラメーター値に置き換えます。
Azure Active Directory Graphパーミッションを割り当てるには、以下のコマンドを実行します。az ad app permission add --id <appId> \ --api 00000002-0000-0000-c000-000000000000 \ --api-permissions 824c81eb-e3f8-4ee6-8f6d-de7f50d565b7=Role$ az ad app permission add --id <appId> \1 --api 00000002-0000-0000-c000-000000000000 \ --api-permissions 824c81eb-e3f8-4ee6-8f6d-de7f50d565b7=RoleCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<appId>を、サービスプリンシパルのappIdパラメーター値に置き換えます。
出力例
Invoking "az ad app permission grant --id 46d33abc-b8a3-46d8-8c84-f0fd58177435 --api 00000002-0000-0000-c000-000000000000" is needed to make the change effective
Invoking "az ad app permission grant --id 46d33abc-b8a3-46d8-8c84-f0fd58177435 --api 00000002-0000-0000-c000-000000000000" is needed to make the change effectiveCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドで付与する特定のパーミッションについての詳細は、GUID Table for Windows Azure Active Directory Permissions を参照してください。
パーミッション要求を承認します。アカウントに Azure Active Directory テナント管理者ロールがない場合は、所属する組織のガイドラインに従い、テナント管理者にパーミッション要求を承認するようにリクエストしてください。
az ad app permission grant --id <appId> \ --api 00000002-0000-0000-c000-000000000000$ az ad app permission grant --id <appId> \1 --api 00000002-0000-0000-c000-000000000000Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<appId>を、サービスプリンシパルのappIdパラメーター値に置き換えます。
-
クラスターはそのコンポーネントの認証情報を割り当てできるように、