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 login
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 認証情報を使用して Web コンソールで Azure にログインします。
Azure アカウントでサブスクリプションを使用している場合は、適切なサブスクリプションを使用していることを確認してください。
利用可能なアカウントの一覧を表示し、クラスターに使用するサブスクリプションの
tenantId
の値を記録します。az account list --refresh
$ az account list --refresh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アクティブなアカウントの詳細を表示し、
tenantId
値が使用するサブスクリプションと一致することを確認します。az account show
$ az account show
Copy 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 show
Copy 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.OwnedBy
API パーミッションも必要です。 - 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=Role
Copy 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 effective
Copy 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-000000000000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<appId>
を、サービスプリンシパルのappId
パラメーター値に置き換えます。
-
クラスターはそのコンポーネントの認証情報を割り当てできるように、