你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

创建用于部署 Azure Red Hat OpenShift 群集的服务主体

本文介绍如何使用 Azure CLI 或 Azure 门户创建服务主体。 部署 Microsoft Azure Red Hat OpenShift 群集时,可以使用服务主体。 新的群集部署还会创建服务主体。

若要与 Azure API 交互,Microsoft Azure Red Hat OpenShift 群集需要Microsoft Entra 服务主体。 此服务主体用于动态创建、管理或访问其他 Azure 资源,例如 Azure 负载均衡器或 Azure 容器注册表。 有关详细信息,请参阅 Microsoft Entra ID 中的应用程序和服务主体对象

除非配置更长的时段,否则服务主体将在一年内到期。 有关如何延长服务主体过期期限的信息,请参阅 轮换 Azure Red Hat OpenShift 群集的服务主体凭据

创建服务主体

以下部分介绍如何创建服务主体来部署 Azure Red Hat OpenShift 群集。

先决条件

如果使用 Azure CLI,则需要安装并配置 Azure CLI 2.30.0 或更高版本。 若要查找版本,请运行 az --version。 如果需要进行安装或升级,请参阅安装 Azure CLI

创建资源组

若要为 Azure Red Hat OpenShift 群集创建资源组,请运行以下 Azure CLI 命令。 资源组名称存储在变量中 AZ_RG

AZ_RG=$(az group create --name test-aro-rg --location eastus2 --query name --output tsv)

创建服务主体并分配基于角色的访问控制

每个 Azure RedHat OpenShift 群集的服务主体必须是唯一的。 以下命令创建变量 AZ_SUB_ID 来存储 Azure 订阅 ID,并将 参与者 角色和范围服务主体分配给 Azure Red Hat OpenShift 资源组。

AZ_SUB_ID=$(az account show --query id --output tsv)
az ad sp create-for-rbac --name "test-aro-sp" --role Contributor --scopes "/subscriptions/${AZ_SUB_ID}/resourceGroups/${AZ_RG}"

输出类似于以下示例:

{
  "appId": "55556666-ffff-7777-aaaa-8888bbbb9999",
  "displayName": "test-aro-sp",
  "password": "Gg7Hh~8Ii9.-Jj0Kk1Ll2Mm3Nn4Oo5_Pp6Qq7Rr8",
  "tenant": "bbbbcccc-1111-dddd-2222-eeee3333ffff"
}

记下此信息并将其存储在安全的位置。 密码值仅显示一次。 有关命令的详细信息,请参阅 az ad sp create-for-rbac

重要

此服务主体仅允许包含 Azure Red Hat OpenShift 群集的资源组上的参与者。 如果虚拟网络位于另一个资源组中,则需要将服务主体参与者角色分配给该资源组。 还需要在为服务主体创建的资源组中创建 Azure Red Hat OpenShift 群集。

若要使用 Azure 门户向现有服务主体授予权限,请参阅在门户中创建 Microsoft Entra 应用和服务主体

使用 Azure 门户创建服务主体

若要通过 Azure 门户为 Azure Red Hat OpenShift 群集创建服务主体,请参阅 注册 Microsoft Entra 应用并创建服务主体。 请务必保存应用程序(客户端)ID 和机密,并将其存储在安全的位置。 机密值仅显示一次。

从门户中添加角色分配时,“参与者”角色将列在 特权管理员角色列表 中。

清理资源

如果不需要,可以从 Microsoft Entra ID 中删除应用注册和服务主体。

以下命令获取应用程序 ID 并删除应用注册和服务主体。

APP_ID=$(az ad app list --display-name test-aro-sp --query [].appId --output tsv)
az ad app delete --id $APP_ID

转到 Microsoft Entra ID>应用注册>所拥有的应用程序。 输入显示名称 test-aro-sp,选择名称,然后选择 “删除”。

若要永久删除应用注册,请转到 “已删除的应用程序”,搜索应用的名称,选中应用的复选框,然后永久选择“ 删除”。

有关如何在 Azure CLI 中创建服务主体和分配角色的详细信息,请参阅 使用 Azure CLI 创建 Azure 服务主体 并使用 Azure CLI 分配 Azure 角色