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

在运营商关系中为托管凭据轮换设置 Key Vault

Azure 运营商关系利用机密和证书来管理组件的跨平台安全性。 运营商关系平台处理这些机密和证书的轮换。 默认情况下,运营商关系将凭据存储在托管的 Key Vault 中。 若要将轮换凭据保留在自己的 Key Vault 中,用户必须为 Azure 运营商关系实例设置 Key Vault。 创建后,用户需要在客户 Key Vault 上添加角色分配,以允许运营商关系平台编写更新的凭据,并额外将客户 Key Vault 链接到关系群集资源。

先决条件

注意

单个 Key Vault 可用于任意数量的群集。

为群集管理器配置托管标识

从 2024-06-01-public-preview API 开始,将在群集管理器中使用托管标识对密钥保管库的轮换凭据进行写访问。 群集管理器标识可以是系统分配的,也可以是用户分配的,还可以通过 API 或 CLI 直接管理。

以下示例介绍如何为群集管理器配置托管标识。

  • 创建或更新具有系统分配的标识的群集管理器
        az networkcloud clustermanager create --name "clusterManagerName" --location "location" \
        --analytics-workspace-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
        --fabric-controller-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName" \
        --managed-resource-group-configuration name="my-managed-rg" --tags key1="myvalue1" key2="myvalue2" --resource-group "resourceGroupName" --mi-system-assigned
  • 创建或更新具有用户分配的标识的群集管理器
        az networkcloud clustermanager create --name <Cluster Manager Name> --location <Location> \
        --analytics-workspace-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
        --fabric-controller-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName" \
        --managed-resource-group-configuration name="my-managed-rg" --tags key1="myvalue1" key2="myvalue2" \
        --resource-group <Resource Group Name> --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAI"
  • 将系统分配的标识添加到群集管理器
        az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> --mi-system-assigned
  • 将用户分配的标识添加到群集管理器
        az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> \
        --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAI"

获取托管标识的主体 ID

配置托管标识后,使用 CLI 查看群集管理器中的标识和关联的主体 ID 数据。

示例:

az networkcloud clustermanager show --ids /subscriptions/<Subscription ID>/resourceGroups/<Cluster Manager Resource Group Name>/providers/Microsoft.NetworkCloud/clusterManagers/<Cluster Manager Name>

系统分配的标识示例:

    "identity": {
        "principalId": "2cb564c1-b4e5-4c71-bbc1-6ae259aa5f87",
        "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
        "type": "SystemAssigned"
    },

用户分配的标识示例:

    "identity": {
        "type": "UserAssigned",
        "userAssignedIdentities": {
            "/subscriptions/<subscriptionID>/resourcegroups/<resourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentityName>": {
                "clientId": "e67dd610-99cf-4853-9fa0-d236b214e984",
                "principalId": "8e6d23d6-bb6b-4cf3-a00f-4cd640ab1a24"
            }
        }
    },

在关系群集上将凭据更新写入到客户 Key Vault

  • 分配运营商关系 Key Vault 编写器服务角色。 确保在“访问配置”视图上选择“Azure 基于角色的访问控制”作为 Key Vault 的权限模型。 然后在“访问控制”视图中,选择以添加角色分配
角色名称 角色定义 ID
运营商关系 Key Vault 编写器服务角色(预览版) 44f0a1a8-6fea-4b35-980a-8ff50c487c97

示例:

az role assignment create --assignee <Managed Identity Principal Id> --role 44f0a1a8-6fea-4b35-980a-8ff50c487c97 --scope /subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.KeyVault/vaults/<Key Vault Name>
  • 用户将客户 Key Vault 与运营商关系群集相关联。 必须在群集中配置 Key Vault 资源 ID,并启用该 ID 以存储群集的机密。

示例:

# Set and enable Customer Key Vault on Nexus cluster
az networkcloud cluster update --ids /subscriptions/<subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Nexus Cluster Name> --secret-archive "{key-vault-id:<Key Vault Resource ID>,use-key-vault:true}"

# Show Customer Key Vault setting (secretArchive) on the Nexus cluster
az networkcloud cluster show --ids /subscriptions/<subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Nexus Cluster Name> --query secretArchive

有关更多帮助:

az networkcloud cluster update --secret-archive ?? --help

向用户分配的标识添加权限

使用用户分配的标识时,将以下角色分配添加到 UAI 资源:

  1. 打开 Azure 门户并找到相关的用户分配标识。
  2. 在“访问控制(IAM)”下,单击“添加角色分配”
  3. 选择“角色”:托管标识操作员。 (查看托管标识操作员角色提供的权限)。
  4. 将访问权限分配给:用户、组或服务主体
  5. 选择“成员”:AFOI-NC-MGMT-PME-PROD 应用程序
  6. 查看并分配。