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.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
角色添加到应用程序注册服务主体中,以便集群可以为组件分配凭证。 -
要以 mint 模式操作 Cloud Credential Operator(CCO),应用程序注册服务主体还需要
Azure Active Directory Graph/Application.ReadWrite.OwnedBy
API 权限。 - 要以 passthrough 模式 操作 CCO,应用程序注册服务主体不需要额外的 API 权限。
如需有关 CCO 模式的更多信息,请参阅 身份验证和授权 指南的"管理云供应商凭证"一节中的"关于 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 如需进一步了解可通过此命令授予的具体权限,请参阅 Windows Azure Active Directory 权限的 GUID 表。
批准权限请求。如果您的帐户没有 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
参数值。
-
您必须始终将