Настройка Key Vault для смены управляемых учетных данных в операторе Nexus
Оператор Azure Nexus использует секреты и сертификаты для управления безопасностью компонентов на платформе. Платформа Operator Nexus обрабатывает поворот этих секретов и сертификатов. По умолчанию Оператор Nexus сохраняет учетные данные в управляемом хранилище ключей. Чтобы сохранить повернутые учетные данные в собственном Key Vault, пользователь должен настроить Key Vault для экземпляра Nexus оператора Azure. После создания пользователь должен добавить назначение ролей в Хранилище ключей клиента, чтобы разрешить оператору Nexus Platform записывать обновленные учетные данные, а также связать Хранилище ключей клиента с ресурсом кластера Nexus.
Необходимые компоненты
- Установка последней версии соответствующих расширений CLI
- Получение идентификатора подписки клиента
Примечание.
Для любого количества кластеров можно использовать одно хранилище ключей.
Настройка управляемого удостоверения для Диспетчера кластеров
Начиная с API предварительной версии 2024-06-01-public-preview, управляемые удостоверения используются в диспетчере кластеров для записи для смены учетных данных в хранилище ключей. Удостоверение Диспетчера кластеров может быть назначено системой или назначаемое пользователем, и управлять их можно напрямую через API или с помощью ИНТЕРФЕЙСА командной строки.
В этих примерах описывается настройка управляемого удостоверения для диспетчера кластеров.
- Создание или обновление диспетчера кластеров с помощью назначаемого системой удостоверения
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"
- Добавление назначенного системой удостоверения в Cluster Manager
az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> --mi-system-assigned
- Добавление назначаемого пользователем удостоверения в Cluster Manager
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"
Получение идентификатора субъекта для управляемого удостоверения
После настройки управляемого удостоверения используйте интерфейс командной строки для просмотра удостоверения и связанных данных идентификатора субъекта в диспетчере кластеров.
Пример:
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"
}
}
},
Запись обновлений учетных данных в Хранилище ключей клиента в кластере Nexus
- Назначьте роль службы записи хранилища ключей Nexus. Убедитесь, что управление доступом на основе ролей Azure выбрано в качестве модели разрешений для хранилища ключей в представлении конфигурации Access. Затем в представлении контроль доступа выберите, чтобы добавить назначение роли.
Имя роли | Идентификатор определения роли |
---|---|
Роль службы записи хранилища ключей Nexus (предварительная версия) | 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>
- Пользователь связывает Customer Key Vault с кластером Operator Nexus. Идентификатор ресурса хранилища ключей должен быть настроен в кластере и включен для хранения секретов кластера.
Пример:
# 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:
- Откройте портал Azure и найдите назначаемое пользователем удостоверение.
- В разделе управления доступом (IAM) нажмите кнопку "Добавить назначение ролей".
- Выберите роль: оператор управляемых удостоверений. (См. разрешения, которые роль предоставляет оператору managed-identity-.
- Назначение доступа: пользователю, группе или субъекту-службе.
- Выберите участника: приложение AFOI-NC-MGMT-PME-PROD.
- Проверьте и назначьте.