Configurar o Key Vault para rotação de credenciais gerenciadas no Nexus do Operador
O Nexus do Operador do Azure utiliza segredos e certificados para gerenciar a segurança de componentes em toda a plataforma. A plataforma Nexus do Operator lida com a rotação desses segredos e certificados. Por padrão, o Nexus do Operador armazena as credenciais em um Key Vault gerenciado. Para manter as credenciais giradas em seu próprio Key Vault, o usuário precisa configurar o Key Vault para a instância do Nexus do Operador do Azure. Depois de criado, o usuário precisa adicionar uma atribuição de função no Cofre de Chaves do Cliente para permitir que a Plataforma Nexus do Operador escreva credenciais atualizadas e, além disso, vincule o Cofre de Chaves do Cliente ao Recurso de Cluster Nexus.
Pré-requisitos
- Instale a última versão das extensões apropriadas da CLI
- Obter a ID de Assinatura para assinatura do cliente
Observação
Um único Key Vault pode ser usado para qualquer número de clusters.
Configurar a Identidade Gerenciada para o Gerenciador de Cluster
A partir da API 2024-06-01-public-preview, identidades gerenciadas são usadas no Gerenciador de Cluster para acesso para gravação a credenciais rotacionadas em um cofre de chaves. A identidade do Gerenciador de Cluster pode ser atribuída pelo usuário ou pelo sistema, e pode ser gerenciada diretamente por meio de APIs ou CLI.
Estes exemplos descrevem como configurar uma identidade gerenciada para um Gerenciador de Cluster.
- Criar ou atualizar o Gerenciador de Cluster com uma identidade atribuída pelo sistema
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
- Criar ou atualizar o Gerenciador de Clusters com uma identidade atribuída pelo usuário
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"
- Adicionar uma identidade atribuída pelo sistema ao Gerenciador de Clusters
az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> --mi-system-assigned
- Adicionar uma identidade atribuída pelo usuário ao Gerenciador de Cluster
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"
Obter a ID da entidade de segurança para a identidade gerenciada
Depois que uma identidade gerenciada for configurada, use a CLI para exibir a identidade e os dados de ID da entidade de segurança associados no gerenciador de cluster.
Exemplo:
az networkcloud clustermanager show --ids /subscriptions/<Subscription ID>/resourceGroups/<Cluster Manager Resource Group Name>/providers/Microsoft.NetworkCloud/clusterManagers/<Cluster Manager Name>
Exemplo de identidade atribuída pelo sistema:
"identity": {
"principalId": "2cb564c1-b4e5-4c71-bbc1-6ae259aa5f87",
"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
"type": "SystemAssigned"
},
Exemplo de identidade atribuída pelo usuário:
"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"
}
}
},
Gravando atualizações de credencial em um cofre de chaves do cliente no cluster Nexus
- Atribua a Função de Serviço de Gravador do Cofre de Chaves do Nexus do Operador. Verifique se o Controle de acesso baseado em função do Azure está selecionado como o modelo de permissão para o cofre de chaves no modo de exibição Configuração do Access. Em seguida, na exibição Controle de Acesso, selecione para adicionar uma atribuição de função.
Nome da Função | ID de definição de função |
---|---|
Função de serviço de gravador do cofre de chaves do Nexus do operador (versão prévia) | 44f0a1a8-6fea-4b35-980a-8ff50c487c97 |
Exemplo:
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>
- O usuário associa o Cofre de Chaves do Cliente ao cluster do Nexus do Operador. A ID do recurso do cofre de chaves deve ser configurada no cluster e habilitada para armazenar os segredos do cluster.
Exemplo:
# 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
Para obter mais ajuda:
az networkcloud cluster update --secret-archive ?? --help
Adicionar uma permissão à identidade atribuída pelo usuário
Ao usar uma identidade atribuída pelo usuário, adicione a seguinte atribuição de função ao recurso da UAI:
- Abra o portal do Azure e localize a identidade atribuída pelo usuário em questão.
- Em IAM (Controle de acesso), clique em Adicionar atribuição de função.
- Selecione a Função: Operador de Identidade Gerenciada. (Consulte as permissões que a função fornece managed-identity-operator).
- Atribua acesso a: Usuário, grupo ou entidade de serviço.
- Selecione Membro: aplicativo AFOI-NC-MGMT-PME-PROD.
- Revise e conclua a atribuição.