Suporte do Azure Operator Nexus Cluster para identidades gerenciadas e recursos fornecidos pelo usuário
Para melhorar a segurança da plataforma Operator Nexus, as identidades gerenciadas agora são suportadas para Operator Nexus Clusters. As identidades gerenciadas fornecem uma maneira segura para os aplicativos acessarem outros recursos do Azure e eliminam a necessidade de os usuários gerenciarem credenciais. Além disso, o Operator Nexus agora tem um modelo de recurso fornecido pelo usuário. Além de maior segurança, essa mudança proporciona uma experiência de usuário consistente em toda a plataforma.
As identidades gerenciadas são usadas com os seguintes recursos de usuário fornecidos no Operator Nexus Clusters:
- Contas de armazenamento usadas para a saída de comandos run-* bare metal.
- Cofres de chaves usados para rotação de credenciais.
- Espaços de trabalho do Log Analytics usados para capturar algumas métricas.
Para saber mais sobre identidades gerenciadas no Azure, consulte Identidades gerenciadas para recursos do Azure. Os Clusters Nexus do operador suportam várias Identidades Gerenciadas Atribuídas ao Usuário (UAMI) ou uma identidade gerenciada atribuída ao sistema (SAMI).
Embora um usuário possa optar por usar qualquer tipo de identidade gerenciada, os UAMIs são recomendados. Eles permitem que os usuários pré-configurem recursos com o acesso apropriado ao UAMI antes da criação ou atualização do Operator Nexus Cluster. O mesmo UAMI pode ser usado para todos os recursos, ou se os usuários quiserem acesso refinado, eles podem definir UAMIs para cada recurso.
Uma vez adicionada, a identidade só pode ser removida por meio da chamada de API no momento. Para obter informações sobre como usar a API para atualizar identidades gerenciadas de cluster, consulte Atualizar identidades de cluster. Esta seção inclui informações sobre como excluir as identidades gerenciadas.
Pré-requisitos
- Instalar a CLI do Azure.
- Instale a versão mais recente das extensões apropriadas da CLI do Azure.
Nota
A funcionalidade de identidade gerenciada para o Log Analytics Workspace e o Key Vault existe com a API 2024-10-01-preview e estará disponível com a API GA 2025-02-01.
Clusters Nexus do operador com identidades gerenciadas atribuídas pelo usuário (UAMI)
É uma prática recomendada definir primeiro todos os recursos fornecidos pelo usuário (Conta de Armazenamento, LAW e Cofre de Chaves), as identidades gerenciadas associadas a esses recursos e, em seguida, atribuir à identidade gerenciada o acesso apropriado ao recurso. Se essas etapas não forem concluídas antes da criação do Cluster, elas precisarão ser concluídas antes da implantação do Cluster.
Os impactos de não configurar esses recursos por tempo de implantação para um novo Cluster são os seguintes:
- Conta de armazenamento: as saídas do comando run-* não podem ser gravadas na conta de armazenamento.
- LAW: A implantação do cluster falha, pois a LAW é necessária para instalar extensões de software durante a implantação.
- Cofre de Chaves: as rotações de credenciais falham quando há uma verificação para garantir o acesso de gravação ao Cofre de Chaves fornecido pelo usuário antes de executar a rotação de credenciais.
A atualização do cluster pode ser feita a qualquer momento. Alterar as configurações do LAW pode causar uma breve interrupção no envio de métricas para o LAW, pois as extensões que usam o LAW podem precisar ser reinstaladas.
As etapas a seguir devem ser seguidas para usar UAMIs com Nexus Clusters e recursos associados.
- Criar o UAMI ou UAMIs
- Crie os recursos e atribua o UAMI aos recursos
- Criar ou atualizar o Cluster para usar as Identidades Gerenciadas Atribuídas pelo Usuário e os recursos fornecidos pelo usuário
Criar o UAMI ou UAMIs
- Crie o UAMI ou UAMIs para os recursos em questão. Para obter mais informações sobre como criar as identidades gerenciadas, consulte Gerenciar identidades gerenciadas atribuídas pelo usuário.
Crie os recursos e atribua o UAMI aos recursos
Configuração de Contas de Armazenamento
- Crie uma conta de armazenamento ou identifique uma conta de armazenamento existente que você deseja usar. Consulte Criar uma conta de armazenamento do Azure.
- Crie um contêiner de armazenamento de blob na conta de armazenamento. Consulte Criar um contêiner.
- Atribua a
Storage Blob Data Contributor
função aos usuários e ao UAMI que precisam acessar a saída do comando run-*. Veja Atribuir uma função do Azure para acesso aos dados de blobs. - Para limitar o acesso à Conta de Armazenamento a um conjunto selecionado de redes IP ou virtuais, consulte Configurar firewalls de Armazenamento do Azure e redes virtuais.
- Os IPs de todos os usuários que executam comandos run-* precisam ser adicionados às listas e/ou
Firewall
da Conta deVirtual Networks
Armazenamento. - Certifique-se de que
Allow Azure services on the trusted services list to access this storage account.
está selecionado emExceptions
está selecionado.
- Os IPs de todos os usuários que executam comandos run-* precisam ser adicionados às listas e/ou
Configuração dos espaços de trabalho do Log Analytics
- Crie um espaço de trabalho do Log Analytics (LAW) ou identifique um LAW existente que você deseja usar. Consulte Criar um espaço de trabalho do Log Analytics.
- Atribua a
Log Analytics Contributor
função ao UAMI para o espaço de trabalho de análise de log. Consulte Gerenciar o acesso aos espaços de trabalho do Log Analytics.
Configuração do Cofre da Chave
- Crie um Cofre da Chave ou identifique um Cofre da Chave existente que você deseja usar. Consulte Criar um cofre de chaves.
- Habilite o Cofre de Chaves para Controle de Acesso Baseado em Função (RBAC). Consulte Habilitar permissões do Azure RBAC no Cofre da Chave.
- Atribua a
Operator Nexus Key Vault Writer Service Role (Preview)
função ao UAMI para o Cofre da Chave. Consulte Atribuir função.- O ID de definição de função para a Função de Serviço do Gravador do Cofre de Chave do Operador Nexus é
44f0a1a8-6fea-4b35-980a-8ff50c487c97
. Esse formato é necessário se estiver usando a linha de comando do Azure para fazer a atribuição de função.
- O ID de definição de função para a Função de Serviço do Gravador do Cofre de Chave do Operador Nexus é
- Ao usar um UAMI para acessar um Cofre de Chaves, o acesso a essa identidade deve ser provisionado para a plataforma Nexus. Especificamente,
Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
a permissão precisa ser adicionada à identidade atribuída pelo usuário para o ID doAFOI-NC-MGMT-PME-PROD
Microsoft Entra. É uma limitação conhecida da plataforma que será abordada no futuro.- Abra o portal do Azure e localize a identidade atribuída pelo usuário em questão.
- Em Controle de acesso (IAM), selecione Adicionar atribuição de função.
- Selecione Função: Operador de identidade gerenciado. (Consulte as permissões que a função fornece ao operador de identidade gerenciada).
- Atribua acesso a: Usuário, grupo ou entidade de serviço.
- Selecione Membro: AFOI-NC-MGMT-PME-PROD application.
- Rever e atribuir.
- Para limitar o acesso ao Cofre da Chave a um conjunto selecionado de redes IP ou virtuais, consulte Configurar firewalls e redes virtuais do Cofre da Chave do Azure.
- Os IPs para todos os usuários que precisam acessar o Cofre da Chave precisam ser adicionados às listas e/ou
Firewall
do Cofre daVirtual Networks
Chave. - Certifique-se de que a
Allow trusted Microsoft services to bypass this firewall.
opção em baixoExceptions
está selecionada.
- Os IPs para todos os usuários que precisam acessar o Cofre da Chave precisam ser adicionados às listas e/ou
Criar ou atualizar o Nexus Cluster para usar as Identidades Gerenciadas Atribuídas pelo Usuário e os recursos fornecidos pelo usuário
Definir o(s) UAMI(S) no cluster
Ao criar ou atualizar um Cluster com uma identidade gerenciada atribuída ao usuário, use o --mi-user-assigned
parâmetro junto com a ID do recurso do UAMI. Se desejar especificar vários UAMIs, liste os IDs de recursos dos UAMIs com um espaço entre eles. Cada UAMI usado para um Cofre de Chaves, LAW ou Conta de Armazenamento deve ser fornecido nesta lista.
Ao criar o Cluster, você pode especificar os UAMIs e --mi-user-assigned
também definir as configurações de recursos. Ao atualizar um Cluster para alterar um UAMI, você deve primeiro atualizar o Cluster para definir os --mi-user-assigned
valores e, em seguida, atualizar o Cluster para modificar as configurações de recursos para usá-lo.
Configurações da Conta de Armazenamento
A --command-output-settings
construção de dados é usada para definir a Conta de Armazenamento onde a saída do comando run é gravada. Consiste nos seguintes domínios:
-
container-url
: A URL do contêiner da conta de armazenamento que deve ser usada pelas identidades especificadas. -
identity-resource-id
: O ID de recurso de identidade gerenciado atribuído ao usuário a ser usado. Mutuamente exclusivo com um tipo de identidade atribuído ao sistema. -
identity-type
: O tipo de identidade gerenciada que está sendo selecionada.UserAssignedIdentity
Utilize.
Configurações do espaço de trabalho do Log Analytics
A --analytics-output-settings
construção de dados é usada para definir a LEI para onde as métricas são enviadas. Consiste nos seguintes domínios:
-
analytics-workspace-id
: O ID do recurso do espaço de trabalho de análise que deve ser usado pela identidade especificada. -
identity-resource-id
: O ID de recurso de identidade gerenciado atribuído ao usuário a ser usado. Mutuamente exclusivo com um tipo de identidade atribuído ao sistema -
identity-type
: O tipo de identidade gerenciada que está sendo selecionada.UserAssignedIdentity
Utilize.
Configurações do Cofre da Chave
A --secret-archive-settings
construção de dados é usada para definir o Cofre da Chave onde as credenciais giradas são gravadas. Consiste nos seguintes domínios:
-
identity-resource-id
: O ID de recurso de identidade gerenciado atribuído ao usuário a ser usado. -
identity-type
: O tipo de identidade gerenciada que está sendo selecionada.UserAssignedIdentity
Utilize. -
vault-uri
: O URI do cofre de chaves usado como arquivo secreto.
Exemplos de comandos de criação de cluster
Exemplo 1: Este exemplo é um comando Cluster create abreviado que usa um UAMI na Conta de Armazenamento, LAW e Cofre de Chaves.
az networkcloud cluster create --name "clusterName" -g "resourceGroupName" \
...
--mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
--command-output-settings identity-type="UserAssignedIdentity" \
identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container" \
--analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
identity-type="UserAssignedIdentity" \
identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
--secret-archive-settings vault-uri="https://mykv.vault.azure.net/"
identity-type="UserAssignedIdentity" \
identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
Exemplo 2: Este exemplo é um comando Cluster create abreviado que usa dois UAMIs. A Conta de Armazenamento e a LAW usam o primeiro UAMI e o Cofre da Chave usa o segundo.
az networkcloud cluster create --name "clusterName" -g "resourceGroupName" \
...
--mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstUAMI" "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondUAMI" \
--command-output-settings identity-type="UserAssignedIdentity" \
identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstUAMI" \
container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container" \
--analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
identity-type="UserAssignedIdentity" \
identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstUAMI" \
--secret-archive-settings vault-uri="https://mykv.vault.azure.net/"
identity-type="UserAssignedIdentity" \
identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondUAMI"
Exemplos de atualização de cluster
A atualização de um cluster é um processo de duas etapas. Se você precisar alterar o UAMI de um recurso, primeiro atualize o cluster para incluí-lo no campo e, em --mi-user-assigned
seguida, atualize o correspondente --identity-resource-id
para a Conta de Armazenamento, LAW ou Cofre da Chave.
Se houver vários UAMIs em uso, a lista completa de UAMIs deve ser especificada no campo durante a --mi-user-assigned
atualização. Se um SAMI estiver em uso no Cluster e você estiver adicionando um UAMI, deverá incluir --mi-system-assigned
no comando update. A falha na inclusão de identidades gerenciadas existentes faz com que elas sejam removidas.
Para LAW e Key Vault, a transição das construções de dados existentes para as novas construções que usam identidades gerenciadas pode ser feita por meio de uma Atualização de Cluster.
Exemplo 1: Adicionar um UAMI a um cluster. Em seguida, atribua o UAMI às configurações de arquivo secreto (Cofre de Chaves). Se este cluster tivesse um SAMI definido, o SAMI seria removido.
Atualização de cluster para adicionar o UAMI myUAMI
.
az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
--mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
Atualização de cluster para atribuir myUAMI
às configurações de arquivo secreto.
az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
--secret-archive-settings identity-type="UserAssignedIdentity" \
identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
vault-uri="https://keyvaultname.vault.azure.net/"
Exemplo 2: Adicionar UAMI mySecondUAMI
a um cluster que já tem myFirstUAMI
e que é mantido. Em seguida, atualize o Cluster para atribuir mySecondUAMI
as configurações de saída do comando (Conta de Armazenamento).
Atualização de cluster para adicionar o UAMI mySecondUAMI
mantendo myFirstUAMI
o .
az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
--mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstUAMI" "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondUAMI" \
Atualização de cluster para atribuir mySecondUAMI
às configurações de saída do comando.
az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
--command-output-settings identity-type="UserAssignedIdentity" \
identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondUAMI" \
container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container"
Exemplo 3: Atualize um cluster que já tenha um SAMI e adicione um UAMI. O SAMI é mantido. Em seguida, atribua o UAMI às configurações de saída de análise de log (LAW).
Atenção
Alterar as configurações do LAW pode causar uma breve interrupção no envio de métricas para o LAW, pois as extensões que usam o LAW podem precisar ser reinstaladas.
Atualização de cluster para adicionar o UAMI mUAMI
.
az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
--mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
--mi-system-assigned
Atualização de cluster para atribuir myUAMI
às configurações de saída da análise de log.
az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
--analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
identity-type="UserAssignedIdentity" \
identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI"
Exibir a ID principal da Identidade Gerenciada Atribuída ao Usuário
O ID do recurso de identidade pode ser encontrado selecionando "Visualização JSON" no recurso de identidade; o ID está na parte superior do painel que aparece. A URL do contêiner pode ser encontrada na guia Configurações -> Propriedades do recurso de contêiner.
A CLI também pode ser usada para exibir a identidade e os dados de ID principal associados dentro do cluster.
Exemplo:
az networkcloud cluster show --ids /subscriptions/<Subscription ID>/resourceGroups/<Cluster Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Cluster Name>
Saída:
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/subscriptionID/resourcegroups/<resourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentityName>": {
"clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"principalId": "bbbbbbbb-cccc-dddd-2222-333333333333"
}
}
},
Clusters Nexus do operador com uma identidade gerenciada atribuída pelo sistema
O uso de uma Identidade Gerenciada Atribuída pelo Sistema (SAMI) segue um padrão diferente dos UAMIs. Embora os recursos fornecidos pelo usuário (Conta de Armazenamento, LAW e Cofre de Chaves) possam ser criados antes da criação do Cluster, o SAMI não existe até que o Cluster seja criado. Os usuários precisam consultar o Cluster para obter o SAMI, atribuir os privilégios corretos ao SAMI para cada recurso e, em seguida, atualizar o Cluster com as configurações dos recursos especificando a identidade atribuída ao sistema.
Para um novo Cluster, essas etapas precisam ser concluídas antes da implantação do Cluster. Os impactos de não configurar esses recursos por tempo de implantação para um novo Cluster são os seguintes:
- Conta de armazenamento: as saídas do comando run-* não podem ser gravadas na conta de armazenamento.
- LAW: A implantação do cluster falha, pois a LAW é necessária para instalar extensões de software durante a implantação.
- Cofre de Chaves: as rotações de credenciais falham quando há uma verificação para garantir o acesso de gravação ao Cofre de Chaves fornecido pelo usuário antes de executar a rotação de credenciais.
A atualização do cluster pode ser feita a qualquer momento. Alterar as configurações do LAW pode causar uma breve interrupção no envio de métricas para o LAW, pois as extensões que usam o LAW podem precisar ser reinstaladas.
As etapas a seguir devem ser seguidas para usar UAMIs com Nexus Clusters e recursos associados.
- Criar ou atualizar o cluster com um SAMI
- Consultar o cluster para obter o SAMI
- Crie os recursos e atribua o SAMI aos recursos
- Atualizar o cluster com as informações de recursos fornecidas pelo usuário
- Implantar o cluster (se novo)
Criar ou atualizar o cluster com um SAMI
Ao criar ou atualizar um Cluster com uma identidade gerenciada atribuída ao sistema, use o --mi-system-assigned
parâmetro. O processo de criação ou atualização do cluster gera as informações do SAMI.
Exemplo 1: Este exemplo é um comando Cluster create abreviado que especifica um SAMI.
az networkcloud cluster create --name "clusterName" -g "resourceGroupName" \
...
--mi-system-assigned
Exemplo 2: Este exemplo atualiza um Cluster para adicionar um SAMI. Todos os UAMIs definidos no cluster são removidos.
az networkcloud cluster update --name "clusterName" -g "resourceGroupName" \
--mi-system-assigned
Exemplo 3: Este exemplo atualiza um cluster para adicionar um SAMI e mantém o UAMI existente, myUAMI
.
az networkcloud cluster update --name "clusterName" -g "resourceGroupName" \
--mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
--mi-system-assigned
Consultar o cluster para obter o SAMI
A ID do recurso de identidade pode ser encontrada selecionando "Exibição JSON" no recurso de identidade no portal do Azure.
A CLI também pode ser usada para exibir a identidade e os dados de ID principal associados dentro do cluster.
Observe a principalId
identidade que é usada ao conceder acesso aos recursos.
Exemplo:
az networkcloud cluster show --ids /subscriptions/<Subscription ID>/resourceGroups/<Cluster Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Cluster Name>
Exemplo de identidade atribuída ao sistema:
"identity": {
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"type": "SystemAssigned"
},
Crie os recursos e atribua o SAMI aos recursos
Configuração de Contas de Armazenamento
- Crie uma conta de armazenamento ou identifique uma conta de armazenamento existente que você deseja usar. Consulte Criar uma conta de armazenamento do Azure.
- Crie um contêiner de armazenamento de blob na conta de armazenamento. Consulte Criar um contêiner.
- Atribua a
Storage Blob Data Contributor
função aos usuários e ao SAMI que precisam acessar a saída do comando run-*. Veja Atribuir uma função do Azure para acesso aos dados de blobs. -
- Para limitar o acesso à Conta de Armazenamento a um conjunto selecionado de redes IP ou virtuais, consulte Configurar firewalls de Armazenamento do Azure e redes virtuais.
- Os IPs de todos os usuários que executam comandos run-* precisam ser adicionados às listas e/ou
Firewall
da Conta deVirtual Networks
Armazenamento. - Certifique-se de que
Allow Azure services on the trusted services list to access this storage account.
está selecionado emExceptions
está selecionado.
Configuração dos espaços de trabalho do Log Analytics
- Crie um espaço de trabalho do Log Analytics (LAW) ou identifique um LAW existente que você deseja usar. Consulte Criar um espaço de trabalho do Log Analytics.
- Atribua a
Log Analytics Contributor
função ao SAMI para o espaço de trabalho de análise de log. Consulte Gerenciar o acesso aos espaços de trabalho do Log Analytics.
Configuração do Cofre da Chave
- Crie um Cofre da Chave ou identifique um Cofre da Chave existente que você deseja usar. Consulte Criar um cofre de chaves.
- Habilite o Cofre de Chaves para Controle de Acesso Baseado em Função (RBAC). Consulte Habilitar permissões do Azure RBAC no Cofre da Chave.
- Atribua a
Operator Nexus Key Vault Writer Service Role (Preview)
função ao SAMI do Cofre da Chave. Consulte Atribuir função.- O ID de definição de função para a Função de Serviço do Gravador do Cofre de Chave do Operador Nexus é
44f0a1a8-6fea-4b35-980a-8ff50c487c97
. Esse formato é necessário se estiver usando a linha de comando do Azure para fazer a atribuição de função.
- O ID de definição de função para a Função de Serviço do Gravador do Cofre de Chave do Operador Nexus é
- Para limitar o acesso ao Cofre da Chave a um conjunto selecionado de redes IP ou virtuais, consulte Configurar firewalls e redes virtuais do Cofre da Chave do Azure.
- Os IPs para todos os usuários que precisam acessar o Cofre da Chave precisam ser adicionados às listas e/ou
Firewall
do Cofre daVirtual Networks
Chave. - Certifique-se de que a
Allow trusted Microsoft services to bypass this firewall.
opção em baixoExceptions
está selecionada.
- Os IPs para todos os usuários que precisam acessar o Cofre da Chave precisam ser adicionados às listas e/ou
Atualizar o cluster com as informações de recursos fornecidas pelo usuário
Configurações da Conta de Armazenamento
A --command-output-settings
construção de dados é usada para definir a Conta de Armazenamento onde a saída do comando run é gravada. Consiste nos seguintes domínios:
-
container-url
: A URL do contêiner da conta de armazenamento que deve ser usada pelas identidades especificadas. -
identity-resource-id
: Não é necessário ao usar um SAMI -
identity-type
: O tipo de identidade gerenciada que está sendo selecionada.SystemAssignedIdentity
Utilize.
Configurações do espaço de trabalho do Log Analytics
A --analytics-output-settings
construção de dados é usada para definir a LEI para onde as métricas são enviadas. Consiste nos seguintes domínios:
-
analytics-workspace-id
: O ID do recurso do espaço de trabalho de análise que deve ser usado pela identidade especificada. -
identity-resource-id
: Não é necessário ao usar um SAMI -
identity-type
: O tipo de identidade gerenciada que está sendo selecionada.SystemAssignedIdentity
Utilize.
Configurações do Cofre da Chave
A --secret-archive-settings
construção de dados é usada para definir o Cofre da Chave onde as credenciais giradas são gravadas. Consiste nos seguintes domínios:
-
identity-resource-id
: Não é necessário ao usar um SAMI -
identity-type
: O tipo de identidade gerenciada que está sendo selecionada.SystemAssignedIdentity
Utilize. -
vault-uri
: O URI do cofre de chaves usado como arquivo secreto.
Exemplos de atualização de cluster
A atualização de um cluster segue o mesmo padrão de criação. Se você precisar alterar o UAMI para um recurso, deverá incluí-lo no --mi-user-assigned
campo e correspondente --identity-resource-id
para a Conta de Armazenamento, LAW ou Cofre de Chaves. Se houver vários UAMIs em uso, a lista completa de UAMIs deve ser especificada no campo durante a --mi-user-assigned
atualização.
Para LAW e Key Vault, a transição das construções de dados existentes para as novas construções que usam UAMI pode ser feita por meio de uma Atualização de Cluster.
Importante
Ao atualizar um cluster com um UAMI ou UAMIs em uso, você deve incluir os UAMIs existentes na --mi-user-assigned
lista de identidade ao adicionar um SAMI ou atualizar. Se um SAMI estiver em uso no Cluster e você estiver adicionando um UAMI, deverá incluir --mi-system-assigned
no comando update. Se isso não for feito, as respetivas identidades gerenciadas serão removidas.
Exemplo 1: Adicionar ou atualizar as configurações de saída do comando (Conta de Armazenamento) para um Cluster.
az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
--command-output-settings identity-type="SystemAssignedIdentity" \
container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container"
Exemplo 2: Adicionar ou atualizar as configurações de saída de análise de log (LAW) para um Cluster.
Atenção
Alterar as configurações do LAW pode causar uma breve interrupção no envio de métricas para o LAW, pois as extensões que usam o LAW podem precisar ser reinstaladas.
az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
--analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
identity-type="SystemAssignedIdentity" \
Exemplo 3: Adicionar ou atualizar as configurações de arquivo secreto (Cofre de Chaves) para um Cluster.
az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
--secret-archive-settings identity-type="SystemAssignedIdentity" \
vault-uri="https://keyvaultname.vault.azure.net/"
Exemplo 4: Este exemplo combina todos os três recursos usando um SAMI em uma atualização.
az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
--command-output-settings identity-type="SystemAssignedIdentity" \
container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container"
--analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
identity-type="SystemAssignedIdentity" \
--secret-archive-settings identity-type="SystemAssignedIdentity" \
vault-uri="https://keyvaultname.vault.azure.net/"
Atualizar identidades de cluster por meio de APIs
As identidades gerenciadas por cluster podem ser atribuídas via CLI. A desatribuição das identidades pode ser feita por meio de chamadas de API.
Nota, <APIVersion>
é a versão da API 2024-07-01 ou mais recente.
Para remover todas as identidades gerenciadas, execute:
az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body "{\"identity\":{\"type\":\"None\"}}"
Se as identidades gerenciadas atribuídas pelo usuário e pelo sistema tiverem sido adicionadas, as identidades atribuídas pelo usuário poderão ser removidas atualizando o
type
paraSystemAssigned
:az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body @~/uai-body.json
O corpo da solicitação (uai-body.json exemplo:
{ "identity": { "type": "SystemAssigned" } }
Se as identidades gerenciadas atribuídas pelo usuário e pelo sistema tiverem sido adicionadas, as identidades atribuídas pelo sistema poderão ser removidas atualizando o
type
paraUserAssigned
:az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body @~/uai-body.json
O corpo da solicitação (uai-body.json exemplo:
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": {} } } }
Se várias identidades gerenciadas atribuídas pelo usuário forem adicionadas, uma delas poderá ser removida executando:
az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body @~/uai-body.json
O corpo da solicitação (uai-body.json exemplo:
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": null } } }