Configurar identidades gerenciadas para recursos do Azure em um conjunto de dimensionamento de máquinas virtuais
Identidades gerenciadas para recursos do Azure é um recurso do Microsoft Entra ID. Cada um dos serviços do Azure que dão suporte a identidades gerenciadas para recursos do Azure está sujeito à própria linha do tempo. Não deixe de examinar o status de disponibilidade das identidades gerenciadas do seu recurso e os problemas conhecidos antes de começar.
As identidades gerenciadas dos recursos do Azure fornecem aos serviços do Azure uma identidade gerenciada automaticamente na ID do Microsoft Entra. Use essa identidade para autenticar qualquer serviço que dê suporte à autenticação do Microsoft Entra, sem a necessidade de ter as credenciais no código.
Para obter informações sobre a definição e os detalhes do Azure Policy, consulte Usar o Azure Policy para atribuir identidades gerenciadas (versão prévia).
Neste artigo, por meio do portal do Azure, você aprenderá a executar as seguintes operações das identidades gerenciadas para recursos do Azure em um conjunto de dimensionamento de máquinas virtuais:
Se você não estiver familiarizado com identidades gerenciadas para recursos do Azure, confira a seção de visão geral.
Se você ainda não tiver uma conta do Azure, inscreva-se em uma conta gratuita antes de continuar.
Para realizar as operações de gerenciamento deste artigo, a conta precisará das seguintes atribuições de função do Azure:
Observação
Não são necessárias atribuições de função do diretório adicionais do Microsoft Entra.
- Colaborador de Máquina Virtual para habilitar e remover identidade gerenciada atribuída ao sistema de um conjunto de dimensionamento de máquinas virtuais.
Identidade gerenciada atribuída pelo sistema
Nesta seção, você aprenderá como habilitar e desabilitar a identidade gerenciada atribuída ao sistema usando o portal do Azure.
Habilitar identidade gerenciada atribuída ao sistema durante a criação de um conjunto de dimensionamento de máquinas virtuais
Atualmente, o portal do Azure não dá suporte à habilitação da identidade gerenciada atribuída ao sistema durante a criação de um conjunto de dimensionamento de máquinas virtuais. Em vez disso, consulte o seguinte artigo de Início Rápido de criação do conjunto de dimensionamento de máquinas virtuais para criar primeiro um conjunto de dimensionamento de máquinas virtuais e, em seguida, vá para a próxima seção para obter detalhes sobre como habilitar a identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais:
Habilitar identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais existente
Dica
As etapas neste artigo podem variar ligeiramente com base no portal do qual você começa.
Para habilitar a identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais que foi originalmente provisionado sem ela:
Entre no Portal do Azure usando uma conta associada à assinatura do Azure que contém o conjunto de dimensionamento de máquinas virtuais.
Navegue até o conjunto de dimensionamento de máquinas virtuais desejado.
Em Sistema atribuído, Status, selecione Ativado e, em seguida, clique em Salvar:
Remover identidade gerenciada atribuída ao sistema de um conjunto de dimensionamento de máquinas virtuais
Se você tiver um conjunto de dimensionamento de máquinas virtuais que não precise mais de uma identidade gerenciada atribuída ao sistema:
Entre no Portal do Azure usando uma conta associada à assinatura do Azure que contém o conjunto de dimensionamento de máquinas virtuais. Certifique-se também de que sua conta pertence a uma função que concede permissões de gravação no conjunto de dimensionamento de máquinas virtuais.
Navegue até o conjunto de dimensionamento de máquinas virtuais desejado.
Em Sistema atribuído, Status, selecione Desativado e, em seguida, clique em Salvar:
Identidade gerenciada atribuída pelo usuário
Nesta seção, você aprenderá como adicionar e remover uma identidade gerenciada atribuída ao usuário de um conjunto de dimensionamento de máquinas virtuais usando o portal do Azure.
Atribuir uma identidade gerenciada atribuída ao usuário durante a criação de um conjunto de dimensionamento de máquinas virtuais
Atualmente, o portal do Azure não dá suporte à atribuição de uma identidade gerenciada atribuída ao usuário durante a criação de um conjunto de dimensionamento de máquinas virtuais. Em vez disso, consulte o seguinte artigo de Início Rápido de criação do conjunto de dimensionamento de máquinas virtuais para criar primeiro um conjunto de dimensionamento de máquinas virtuais e, em seguida, vá para a próxima seção para obter detalhes sobre como atribuir uma identidade gerenciada atribuída ao usuário a ele:
Atribuir uma identidade gerenciada atribuída ao usuário a um conjunto de dimensionamento de máquinas virtuais existente
Entre no Portal do Azure usando uma conta associada à assinatura do Azure que contém o conjunto de dimensionamento de máquinas virtuais.
Navegue até o conjunto de dimensionamento de máquinas virtuais desejado e clique em Identidade, Usuário atribuído e, em seguida, +Adicionar.
Clique na identidade atribuída ao usuário que você quer adicionar ao conjunto de dimensionamento de máquinas virtuais e, em seguida, clique em Adicionar.
Remover uma identidade gerenciada atribuída ao usuário de um conjunto de dimensionamento de máquinas virtuais
Entre no portal do Azure usando uma conta associada à assinatura do Azure que contenha a VM.
Navegue até o conjunto de dimensionamento de máquinas virtuais desejado e clique em Identidade, Usuário atribuído, no nome da identidade gerenciada atribuída ao usuário que você quer excluir e clique em Remover (clique em Sim no painel de confirmação).
Próximas etapas
- Usando o portal do Azure, conceda um acesso de identidade gerenciada do conjunto de dimensionamento de máquinas virtuais do Azure a outro recurso do Azure.
Neste artigo, você aprenderá a executar as seguintes operações para identidades gerenciadas para recursos do Azure em um conjunto de dimensionamento de máquinas virtuais do Azure usando a CLI do Azure:
- Habilitar e desabilitar a identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais do Azure
- Adicionar e remover uma identidade gerenciada atribuída ao usuário em um conjunto de dimensionamento de máquinas virtuais do Azure
Se você ainda não tiver uma conta do Azure, inscreva-se em uma conta gratuita antes de continuar.
Pré-requisitos
Se você não estiver familiarizado com as identidades gerenciadas dos recursos do Azure, confira O que são as identidades gerenciadas dos recursos do Azure?. Para saber mais sobre tipos de identidade gerenciada atribuída pelo sistema e pelo usuário, confira Tipos de identidade gerenciada.
Para realizar as operações de gerenciamento descritas neste artigo, sua conta precisará das seguintes atribuições de controle de acesso baseado em função do Azure:
Colaborador da Máquina Virtual para criar um conjunto de dimensionamento de máquinas virtuais e habilitar e remover identidade gerenciada atribuída ao usuário e/ou ao sistema de um conjunto de dimensionamento de máquinas virtuais.
Função de Contratada de Identidade Gerenciada para criar uma identidade gerenciada atribuída pelo usuário.
Papel de Operador de Identidade Gerenciado para atribuir e remover uma identidade gerenciada atribuída pelo usuário de e para um conjunto de dimensionamento de máquina virtual.
Observação
Não são necessárias atribuições de função do diretório adicionais do Microsoft Entra.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
Identidade gerenciada atribuída pelo sistema
Nesta seção, você aprenderá a habilitar e desabilitar a identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais do Azure usando a CLI do Azure.
Habilitar a identidade gerenciada atribuída ao sistema durante a criação de um conjunto de dimensionamento de máquinas virtuais do Azure
Para criar um conjunto de dimensionamento de máquinas virtuais com a identidade gerenciada atribuída ao sistema habilitada:
Crie um grupo de recursos para confinamento e implantação do conjunto de dimensionamento de máquinas virtuais e os recursos relacionados, usando az group create. Se você já tiver um grupo de recursos e quiser usá-lo, ignore esta etapa:
az group create --name myResourceGroup --location westus
Crie um conjunto de dimensionamento de máquinas virtuais. O exemplo a seguir cria um conjunto de dimensionamento de máquinas virtuais nomeado myVMSS com uma identidade gerenciada atribuída ao sistema, conforme solicitado pelo parâmetro
--assign-identity
, com--role
e--scope
especificados. Os parâmetros--admin-username
e--admin-password
especificam o nome de usuário e a senha do usuário administrativo para a entrada na máquina virtual. Atualize esses valores como adequado ao seu ambiente:az vmss create --resource-group myResourceGroup --name myVMSS --image win2016datacenter --upgrade-policy-mode automatic --custom-data cloud-init.txt --admin-username azureuser --admin-password myPassword12 --assign-identity --generate-ssh-keys --role contributor --scope mySubscription
Ativar identidade gerenciada atribuída pelo sistema em um conjunto de dimensionamento de máquina virtual do Azure existente
Se você precisar Habilitar a identidade gerenciada atribuída pelo sistema em um conjunto de dimensionamento de máquinas virtuais do Azure existente:
az vmss identity assign -g myResourceGroup -n myVMSS
Desabilitar identidade gerenciada atribuída ao sistema de um conjunto de dimensionamento de máquinas virtuais do Azure
Se você tiver um conjunto de dimensionamento de máquinas virtuais que não precise mais da identidade gerenciada atribuída ao sistema, mas ainda precisar de identidades gerenciadas atribuídas ao usuário, use o comando a seguir:
az vmss update -n myVM -g myResourceGroup --set identity.type='UserAssigned'
Se você tiver uma máquina virtual que não precise mais da identidade gerenciada atribuída ao sistema e não tiver identidades gerenciadas atribuídas ao usuário, use o comando a seguir:
Observação
O valor none
diferencia maiúsculas de minúsculas. Deve estar em letras minúsculas.
az vmss update -n myVM -g myResourceGroup --set identity.type="none"
Identidade gerenciada atribuída pelo usuário
Nesta seção, você aprende como habilitar e remover uma identidade gerenciada atribuída ao usuário usando a CLI do Azure.
Atribuir uma identidade gerenciada atribuída ao usuário durante a criação de um conjunto de dimensionamento de máquinas virtuais
Esta seção descreve a criação de um conjunto de dimensionamento de máquinas virtuais e a atribuição de uma identidade gerenciada atribuída ao usuário ao conjunto de dimensionamento de máquinas virtuais. Se você já tiver um conjunto de dimensionamento de máquinas virtuais que deseje usar, ignore esta seção e prossiga para a próxima.
Se você já tiver um grupo de recursos e quiser usá-lo, ignore esta etapa. Crie um grupo de recursos para independência e implantação da identidade gerenciada atribuída ao usuário, usando az group create . Substitua os valores de parâmetro
<RESOURCE GROUP>
e<LOCATION>
pelos seus próprios valores. :az group create --name <RESOURCE GROUP> --location <LOCATION>
Crie uma identidade gerenciada atribuída ao usuário usando az identity create. O parâmetro
-g
especifica o grupo de recursos em que a identidade gerenciada atribuída pelo usuário é criada e o parâmetro-n
especifica o nome. Substitua os valores de parâmetro<RESOURCE GROUP>
e<USER ASSIGNED IDENTITY NAME>
pelos seus próprios valores:Importante
Ao criar identidades gerenciadas atribuídas pelo usuário, o nome deve começar com uma letra ou número e pode incluir uma combinação de caracteres alfanuméricos, hifens (-) e sublinhados (_). Para que a atribuição a uma máquina virtual ou um conjunto de dimensionamento de máquinas virtuais funcione corretamente, o nome é limitado a 24 caracteres. Para mais informações, consulte Perguntas frequentes e problemas conhecidos
az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
A resposta contém detalhes para a identidade gerenciada atribuída ao usuário criada, semelhante à seguinte. O valor do recurso
id
atribuído à identidade gerenciada atribuída ao usuário é usado na etapa a seguir.{ "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Crie um conjunto de dimensionamento de máquinas virtuais. O exemplo a seguir cria um conjunto de dimensionamento de máquinas virtuais associado à nova identidade gerenciada atribuída ao usuário, conforme especificado pelo parâmetro
--assign-identity
, com--role
e--scope
especificados. Substitua os valores de parâmetro<RESOURCE GROUP>
,<VMSS NAME>
,<USER NAME>
,<PASSWORD>
,<USER ASSIGNED IDENTITY>
,<ROLE>
e<SUBSCRIPTION>
pelos seus valores.az vmss create --resource-group <RESOURCE GROUP> --name <VMSS NAME> --image <SKU Linux Image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY> --role <ROLE> --scope <SUBSCRIPTION>
Atribuir uma identidade gerenciada atribuída ao usuário a um conjunto de dimensionamento de máquinas virtuais existente
Crie uma identidade gerenciada atribuída ao usuário usando az identity create. O parâmetro
-g
especifica o grupo de recursos em que a identidade gerenciada atribuída pelo usuário é criada e o parâmetro-n
especifica o nome. Substitua os valores de parâmetro<RESOURCE GROUP>
e<USER ASSIGNED IDENTITY NAME>
pelos seus próprios valores:az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
A resposta contém detalhes para a identidade gerenciada atribuída ao usuário criada, semelhante à seguinte.
{ "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY >/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY>", "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Atribua uma identidade gerenciada atribuída ao usuário ao seu conjunto de dimensionamento de máquinas virtuais. Substitua os valores de parâmetro
<RESOURCE GROUP>
e<VIRTUAL MACHINE SCALE SET NAME>
pelos seus próprios valores. O<USER ASSIGNED IDENTITY>
é um recurso da identidade de usuário atribuídaname
propriedade, conforme criado na etapa anterior:az vmss identity assign -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
Remover uma identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento da máquina virtual do Azure
Para remover uma identidade gerenciada atribuída ao usuário de um conjunto de dimensionamento de máquinas virtuais, use az vmss identity remove
. Se esta for a única identidade gerenciada atribuída ao usuário atribuída ao conjunto de dimensionamento de máquinas virtuais, UserAssigned
será removido do valor do tipo de identidade. Substitua os valores de parâmetro <RESOURCE GROUP>
e <VIRTUAL MACHINE SCALE SET NAME>
pelos seus próprios valores. O <USER ASSIGNED IDENTITY>
será a propriedade name
da identidade gerenciada atribuída ao usuário, que pode ser localizada na seção de identidade do conjunto de dimensionamento de máquinas virtuais usando az vmss identity show
:
az vmss identity remove -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
Se o seu conjunto de dimensionamento de máquina virtual não tiver uma identidade gerenciada atribuída pelo sistema e você quiser remover todas as identidades gerenciadas atribuídas pelo usuário, use o seguinte comando:
Observação
O valor none
diferencia maiúsculas de minúsculas. Deve estar em letras minúsculas.
az vmss update -n myVMSS -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null
Se o conjunto de dimensionamento de máquinas virtuais tiver identidades gerenciadas atribuídas ao sistema e atribuídas ao usuário, você poderá remover todas as identidades atribuídas ao usuário, alternando para usar somente a identidade gerenciada atribuída ao sistema. Use o seguinte comando:
az vmss update -n myVMSS -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null
Próximas etapas
- Identidades gerenciadas para visão geral de recursos do Azure
- Para o Início Rápido da criação do conjunto de dimensionamento de máquinas virtuais do Azure completo, confira: Criar um conjunto de dimensionamento de máquinas virtuais com a CLI
Neste artigo, usando o PowerShell, você aprende como executar as identidades gerenciadas para operações de recursos do Azure em um conjunto de dimensionamento de máquina virtual:
- Ativar e desativar a identidade gerenciada designada pelo sistema em um conjunto de dimensionamento de máquina virtual
- Adicionar e remover uma identidade gerenciada atribuída pelo usuário em um conjunto de dimensionamento de máquina virtual
Observação
Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Pré-requisitos
Se você não estiver familiarizado com identidades gerenciadas para recursos do Azure, confira a seção de visão geral. Lembre-se de revisar a diferença entre uma identidade atribuída designada pelo sistema e gerenciada pelo usuário.
Se você ainda não tiver uma conta do Azure, inscreva-se em uma conta gratuita antes de continuar.
Para realizar as operações de gerenciamento descritas neste artigo, sua conta precisará das seguintes atribuições de controle de acesso baseado em função do Azure:
Observação
Não são necessárias atribuições de função do diretório adicionais do Microsoft Entra.
- Colaborador da Máquina Virtual para criar um conjunto de dimensionamento de máquina virtual e habilitar e remover a identidade gerenciada pelo usuário e / ou atribuída pelo usuário de um conjunto de dimensionamento de máquina virtual.
- Função de Contratada de Identidade Gerenciada para criar uma identidade gerenciada atribuída pelo usuário.
- Papel de Operador de Identidade Gerenciado para atribuir e remover uma identidade gerenciada atribuída pelo usuário de e para um conjunto de dimensionamento de máquina virtual.
Para executar os scripts de exemplo, você tem duas opções:
- Use o Azure Cloud Shell, que você pode abrir usando o botão Experimentar no canto superior direito dos blocos de código.
- Execute os scripts localmente instalando a versão mais recente do Azure PowerShell e, em seguida, entre no Azure usando
Connect-AzAccount
.
Identidade gerenciada atribuída pelo sistema
Nesta seção, você aprenderá como habilitar e remover uma identidade gerenciada atribuída pelo sistema usando o Azure PowerShell.
Ativar a identidade gerenciada atribuída pelo sistema durante a criação de um conjunto de dimensionamento da máquina virtual do Azure
Para criar um conjunto de dimensionamento de máquinas virtuais com a identidade gerenciada atribuída ao sistema habilitada:
Veja o Exemplo 1 no artigo de referência do cmdlet New-AzVmssConfig para criar um conjunto de dimensionamento de máquinas virtuais com uma identidade gerenciada atribuída ao sistema. Adicione o parâmetro
-IdentityType SystemAssigned
ao cmdletNew-AzVmssConfig
:$VMSS = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg -IdentityType SystemAssigned`
Ativar identidade gerenciada atribuída pelo sistema em um conjunto de dimensionamento de máquina virtual do Azure existente
Se você precisar ativar uma identidade gerenciada atribuída pelo sistema em um conjunto de dimensionamento de máquina virtual do Azure existente:
Verifique se a conta do Azure que você está usando pertence a uma função que fornece permissões de gravação no conjunto de dimensionamento de máquinas virtuais, como "Colaborador da Máquina Virtual".
Recupere as propriedades do conjunto de dimensionamento de máquinas virtuais usando o cmdlet
Get-AzVmss
. Em seguida, para habilitar uma identidade gerenciada atribuída pelo sistema, use a opção-IdentityType
no cmdlet Update-AzVmss:Update-AzVmss -ResourceGroupName myResourceGroup -Name -myVmss -IdentityType "SystemAssigned"
Desativar a identidade gerenciada atribuída pelo sistema de um conjunto de dimensionamento da máquina virtual do Azure
Se você tiver um conjunto de dimensionamento de máquina virtual que não precise mais da identidade gerenciada atribuída pelo sistema, mas ainda precisar de identidades gerenciadas atribuídas pelo usuário, use o seguinte cmdlet:
Verifique se sua conta pertence a uma função que fornece permissões de gravação no conjunto de dimensionamento de máquinas virtuais, como "Colaborador da Máquina Virtual".
Execute o cmdlet a seguir:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "UserAssigned"
Se você tiver um conjunto de dimensionamento de máquinas virtuais que não precise mais de identidade gerenciada atribuída pelo sistema e não tenha identidades gerenciadas atribuídas pelo usuário, use o seguinte comando:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None
Identidade gerenciada atribuída pelo usuário
Nesta seção, você aprenderá como adicionar e remover uma identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento de máquina virtual usando o Azure PowerShell.
Atribuir uma identidade gerenciada atribuída pelo usuário durante a criação de um conjunto de dimensionamento da máquina virtual do Azure
Criar uma nova escala de máquina virtual definida com uma identidade gerenciada atribuída pelo usuário não é atualmente suportada pelo PowerShell. Consulte a próxima seção sobre como adicionar uma identidade gerenciada atribuída pelo usuário a um conjunto de dimensionamento de máquina virtual existente. Procure novamente por atualizações.
Atribuir uma identidade gerenciada usuário atribuído a um conjunto de dimensionamento de máquina virtual do Azure existente
Para atribuir uma identidade gerenciada usuário atribuído a um conjunto de dimensionamento de máquina virtual do Azure existente:
Verifique se sua conta pertence a uma função que fornece permissões de gravação no conjunto de dimensionamento de máquinas virtuais, como "Colaborador da Máquina Virtual".
Recupere as propriedades do conjunto de dimensionamento de máquinas virtuais usando o cmdlet
Get-AzVM
. Em seguida, para atribuir uma identidade gerenciada atribuída pelo usuário ao conjunto de dimensionamento de máquinas virtuais, use as opções-IdentityType
e-IdentityID
no cmdlet Update-AzVmss. Substitua<VM NAME>
,<SUBSCRIPTION ID>
,<RESROURCE GROUP>
,<USER ASSIGNED ID1>
eUSER ASSIGNED ID2
pelos seus próprios valores.Importante
Ao criar identidades gerenciadas atribuídas pelo usuário, o nome deve começar com uma letra ou número e pode incluir uma combinação de caracteres alfanuméricos, hifens (-) e sublinhados (_). Para que a atribuição a uma máquina virtual ou um conjunto de dimensionamento de máquinas virtuais funcione corretamente, o nome é limitado a 24 caracteres. Para mais informações, consulte Perguntas frequentes e problemas conhecidos
Update-AzVmss -ResourceGroupName <RESOURCE GROUP> -Name <VMSS NAME> -IdentityType UserAssigned -IdentityID "<USER ASSIGNED ID1>","<USER ASSIGNED ID2>"
Remover uma identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento da máquina virtual do Azure
Se o seu conjunto de dimensionamento de máquina virtual tiver várias identidades gerenciadas atribuídas pelo usuário, você poderá remover todas, exceto a última, usando os seguintes comandos. Substitua os valores de parâmetro <RESOURCE GROUP>
e <VIRTUAL MACHINE SCALE SET NAME>
pelos seus próprios valores. O <USER ASSIGNED IDENTITY NAME>
é a propriedade de nome da identidade gerenciada atribuída pelo usuário, que deve permanecer no conjunto de dimensionamento da máquina virtual. Essas informações podem ser encontradas na seção de identidade do conjunto de dimensionamento de máquinas virtuais usando az vmss show
:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType UserAssigned -IdentityID "<USER ASSIGNED IDENTITY NAME>"
Se o seu conjunto de dimensionamento de máquina virtual não tiver uma identidade gerenciada atribuída pelo sistema e você quiser remover todas as identidades gerenciadas atribuídas pelo usuário, use o seguinte comando:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None
Se o seu conjunto de dimensionamento de máquina virtual tiver identidades gerenciadas atribuídas pelo sistema e atribuídas pelo usuário, você poderá remover todas as identidades gerenciadas atribuídas pelo usuário alternando para usar somente a identidade gerenciada atribuída pelo sistema.
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "SystemAssigned"
Próximas etapas
Identidades gerenciadas para visão geral de recursos do Azure
Para os guias de início rápido completos sobre VM do Azure, consulte:
Neste artigo, você aprenderá como executar as seguintes identidades gerenciadas para operações de recursos do Azure em um conjunto de dimensionamento de máquinas virtuais do Azure, usando o modelo de implantação do Azure Resource Manager:
- Habilitar e desabilitar a identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais do Azure
- Adicionar e remover uma identidade gerenciada atribuída ao usuário em um conjunto de dimensionamento de máquinas virtuais do Azure
Pré-requisitos
Se você não estiver familiarizado com identidades gerenciadas para recursos do Azure, confira a seção de visão geral. Revise a diferença entre uma identidade gerenciada atribuída ao sistema e atribuída ao usuário.
Se você ainda não tiver uma conta do Azure, inscreva-se em uma conta gratuita antes de continuar.
Para realizar as operações de gerenciamento descritas neste artigo, sua conta precisará das seguintes atribuições de controle de acesso baseado em função do Azure:
Observação
Não são necessárias atribuições de função do diretório adicionais do Microsoft Entra.
- Colaborador da Máquina Virtual para criar um conjunto de dimensionamento de máquinas virtuais e habilitar e remover identidade gerenciada atribuída ao usuário e/ou ao sistema de um conjunto de dimensionamento de máquinas virtuais.
- Função de Contratada de Identidade Gerenciada para criar uma identidade gerenciada atribuída pelo usuário.
- Papel de Operador de Identidade Gerenciado para atribuir e remover uma identidade gerenciada atribuída pelo usuário de e para um conjunto de dimensionamento de máquina virtual.
Modelos do Azure Resource Manager
Assim como com o Portal do Azure e o script, os modelos do Azure Resource Manager permitem implantar recursos novos ou modificados definidos por um grupo de recursos do Azure. Há várias opções disponíveis para a edição e a implantação do modelo, tanto locais quanto baseadas em portal, incluindo:
- Usar um modelo personalizado do Azure Marketplace, que permite a criação de um modelo do zero ou usar como base um modelo comum existente ou um modelo de início rápido.
- Derivar de um grupo de recursos existente, exportando um modelo da implantação original ou do estado atual da implantação.
- Usar um editor JSON local (por exemplo, VS Code), depois carregar e implantar usando o PowerShell ou a CLI.
- Usar o projeto do Grupo de Recursos do Azure do Visual Studio para criar e implantar um modelo.
Independentemente da opção escolhido, a sintaxe do modelo será a mesma durante a implantação inicial e a reimplantação. A habilitação de identidades gerenciadas para recursos do Azure em uma VM nova ou existente é feita da mesma maneira. Além disso, por padrão, o Azure Resource Manager faz uma atualização incremental para implantações.
Identidade gerenciada atribuída pelo sistema
Nesta seção, você habilitará e desabilitará a identidade gerenciada atribuída ao sistema usando um modelo do Azure Resource Manager.
Habilitar a identidade gerenciada atribuída pelo sistema durante a criação de um conjunto de dimensionamento de máquinas virtuais ou em um conjunto de dimensionamento de máquinas virtuais existente
Se você entrar no Azure localmente ou por meio do Portal do Azure, use uma conta que esteja associada à assinatura do Azure que contém o conjunto de dimensionamento de máquinas virtuais.
Para habilitar a identidade gerenciada atribuída ao sistema, carregue o modelo em um editor, localize o recurso
Microsoft.Compute/virtualMachinesScaleSets
de interesse dentro da seção recursos e adicione a propriedadeidentity
no mesmo nível que a propriedade"type": "Microsoft.Compute/virtualMachinesScaleSets"
. Use a seguinte sintaxe:"identity": { "type": "SystemAssigned" }
Quando tiver concluído, as seções a seguir deverão ser adicionadas à seção recurso do modelo e serem semelhantes ao exemplo mostrado abaixo:
"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachineScaleSets", "name": "[variables('vmssName')]", "location": "[resourceGroup().location]", "identity": { "type": "SystemAssigned", }, "properties": { //other resource provider properties... "virtualMachineProfile": { //other virtual machine profile properties... } } } ]
Desabilitar uma identidade gerenciada atribuída ao sistema de um conjunto de dimensionamento de máquinas virtuais do Azure
Se você tiver um conjunto de dimensionamento de máquinas virtuais que não precise mais de uma identidade gerenciada atribuída ao sistema:
Se você entrar no Azure localmente ou por meio do Portal do Azure, use uma conta que esteja associada à assinatura do Azure que contém o conjunto de dimensionamento de máquinas virtuais.
Carregue o modelo em um editor e localize o recurso
Microsoft.Compute/virtualMachineScaleSets
de interesse na seçãoresources
. Se você tiver uma VM que tenha apenas a identidade gerenciada atribuída ao sistema, poderá desabilitá-la alterando o tipo de identidade paraNone
.Microsoft.Compute/virtualMachineScaleSets API versão 01-06-2018
Se apiVersion for
2018-06-01
e a VM tiver ambas as identidades gerenciadas atribuídas ao usuário e ao sistema, removaSystemAssigned
do tipo de identidade e mantenhaUserAssigned
com os valores de dicionário userAssignedIdentities.Microsoft.Compute/virtualMachineScaleSets API versão 01-06-2018
Se apiVersion for
2017-12-01
e o conjunto de dimensionamento de máquinas virtuais tiver ambas as identidades gerenciadas atribuídas ao usuário e ao sistema, removaSystemAssigned
do tipo de identidade e mantenhaUserAssigned
juntamente com a matrizidentityIds
das identidades gerenciadas atribuídas ao usuário.O seguinte exemplo mostra como remover uma identidade gerenciada atribuída ao sistema de um conjunto de dimensionamento de máquinas virtuais sem nenhuma identidade gerenciada atribuída ao usuário:
{ "name": "[variables('vmssName')]", "apiVersion": "2018-06-01", "location": "[parameters(Location')]", "identity": { "type": "None" } }
Identidade gerenciada atribuída pelo usuário
Nesta seção, você atribui uma identidade gerenciada atribuída ao usuário a um conjunto de dimensionamento de máquinas virtuais usando o modelo do Azure Resource Manager.
Observação
Para criar uma identidade gerenciada atribuída ao usuário usando um modelo do Azure Resource Manager, consulte Criar uma identidade gerenciada atribuída ao usuário.
Atribuir uma identidade gerenciada atribuída pelo usuário a um conjunto de dimensionamento de máquinas virtuais
No elemento
resources
, adicione a seguinte entrada para atribuir uma identidade gerenciada atribuída ao usuário ao conjunto de dimensionamento de máquinas virtuais. Certifique-se de substituir<USERASSIGNEDIDENTITY>
pelo nome da identidade gerenciada atribuída ao usuário que você criou.Microsoft.Compute/virtualMachineScaleSets API versão 01-06-2018
Se a apiVersion for
2018-06-01
, as identidades gerenciadas atribuídas ao usuário serão armazenadas no formato de dicionáriouserAssignedIdentities
e o valor<USERASSIGNEDIDENTITYNAME>
deverá ser armazenado em uma variável definida na seçãovariables
do modelo.{ "name": "[variables('vmssName')]", "apiVersion": "2018-06-01", "location": "[parameters(Location')]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } }
Microsoft.Compute/virtualMachineScaleSets API versão 01-12-2017
Se
apiVersion
for2017-12-01
ou anterior, as identidades gerenciadas atribuídas ao usuário serão armazenadas na matrizidentityIds
e o valor<USERASSIGNEDIDENTITYNAME>
deverá ser armazenado em uma seção de variáveis definida na seção do modelo.{ "name": "[variables('vmssName')]", "apiVersion": "2017-03-30", "location": "[parameters(Location')]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITY>'))]" ] } }
Quando terminar, seu modelo deverá ser semelhante ao seguinte:
Microsoft.Compute/virtualMachineScaleSets API versão 01-06-2018
"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachineScaleSets", "name": "[variables('vmssName')]", "location": "[resourceGroup().location]", "identity": { "type": "UserAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } }, "properties": { //other virtual machine properties... "virtualMachineProfile": { //other virtual machine profile properties... } } } ]
Microsoft.Compute/virtualMachines API versão 2017-12-01
"resources": [ { //other resource provider properties... "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachineScaleSets", "name": "[variables('vmssName')]", "location": "[resourceGroup().location]", "identity": { "type": "UserAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] }, "properties": { //other virtual machine properties... "virtualMachineProfile": { //other virtual machine profile properties... } } } ]
Remover a identidade gerenciada atribuída ao usuário de um conjunto de dimensionamento de máquinas virtuais do Azure
Se você tiver um conjunto de dimensionamento de máquinas virtuais que não precise mais de uma identidade gerenciada atribuída ao usuário:
Se você entrar no Azure localmente ou por meio do Portal do Azure, use uma conta que esteja associada à assinatura do Azure que contém o conjunto de dimensionamento de máquinas virtuais.
Carregue o modelo em um editor e localize o recurso
Microsoft.Compute/virtualMachineScaleSets
de interesse na seçãoresources
. Caso tenha um conjunto de dimensionamento de máquinas virtuais que tenha apenas a identidade gerenciada atribuída ao usuário, desabilite-a alterando o tipo de identidade paraNone
.O seguinte exemplo mostra como remover todas as identidades gerenciadas atribuídas ao usuário de uma VM sem nenhuma identidade gerenciada atribuída ao sistema:
{ "name": "[variables('vmssName')]", "apiVersion": "2018-06-01", "location": "[parameters(Location')]", "identity": { "type": "None" } }
Microsoft.Compute/virtualMachineScaleSets API versão 01-06-2018
Para remover uma única identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento de máquinas virtuais, remova-a do dicionário
userAssignedIdentities
.Caso você tenha uma identidade atribuída ao sistema, mantenha-a com o valor
type
no valoridentity
.Microsoft.Compute/virtualMachineScaleSets API versão 01-12-2017
Para remover uma única identidade gerenciada atribuída ao usuário de um conjunto de dimensionamento de máquinas virtuais, remova-a da matriz
identityIds
.Caso você tenha uma identidade gerenciada atribuída ao sistema, mantenha a identidade com o valor
type
no valoridentity
.
Próximas etapas
Neste artigo, usando CURL para fazer chamadas ao ponto de extremidade de REST do Azure Resource Manager, você aprenderá como executar as seguintes identidades gerenciadas para operações de recursos do Azure em um conjunto de dimensionamento de máquinas virtuais:
- Habilitar e desabilitar a identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais do Azure
- Adicionar e remover uma identidade gerenciada atribuída ao usuário em um conjunto de dimensionamento de máquinas virtuais do Azure
Se você ainda não tiver uma conta do Azure, inscreva-se em uma conta gratuita antes de continuar.
Pré-requisitos
Se você não estiver familiarizado com as identidades gerenciadas dos recursos do Azure, confira O que são as identidades gerenciadas dos recursos do Azure?. Para saber mais sobre tipos de identidade gerenciada atribuída pelo sistema e pelo usuário, confira Tipos de identidade gerenciada.
Para realizar as operações de gerenciamento deste artigo, a conta precisará das seguintes atribuições de função do Azure:
Colaborador da Máquina Virtual para criar um conjunto de dimensionamento de máquinas virtuais e habilitar e remover identidade gerenciada atribuída ao usuário e/ou ao sistema de um conjunto de dimensionamento de máquinas virtuais.
Função de Contratada de Identidade Gerenciada para criar uma identidade gerenciada atribuída pelo usuário.
Função de Operador de Identidade Gerenciada para atribuir e remover uma identidade atribuída ao usuário de e para um conjunto de dimensionamento de máquinas virtuais.
Observação
Não são necessárias atribuições de função do diretório adicionais do Microsoft Entra.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
Identidade gerenciada atribuída pelo sistema
Nesta seção, você aprenderá como habilitar e desabilitar a identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais usando CURL para fazer chamadas ao ponto de extremidade de REST do Azure Resource Manager.
Habilitar identidade gerenciada atribuída ao sistema durante a criação de um conjunto de dimensionamento de máquinas virtuais
Para criar um conjunto de dimensionamento de máquinas virtuais com identidade gerenciada atribuída ao sistema habilitada, será necessário criar um conjunto de dimensionamento de máquinas virtuais e recuperar um token de acesso para usar CURL para chamar o ponto de extremidade do Resource Manager com o valor de tipo de identidade gerenciada atribuída ao sistema.
Crie um grupo de recursos para confinamento e implantação do conjunto de dimensionamento de máquinas virtuais e os recursos relacionados, usando az group create. Ignore esta etapa, se você já tiver o grupo de recursos que deseja usar:
az group create --name myResourceGroup --location westus
Crie uma interface de rede para seu conjunto de dimensionamento de máquinas virtuais:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Recupere um token de acesso do Portador, que será usado na próxima etapa no cabeçalho de Autorização para criar o conjunto de dimensionamento de máquinas virtuais com uma identidade gerenciada atribuída ao sistema.
az account get-access-token
Usando o Azure Cloud Shell, crie um conjunto de dimensionamento de máquinas virtuais usando o CURL para chamar o ponto de extremidade REST do Azure Resource Manager. O exemplo a seguir cria um conjunto de dimensionamento de máquinas virtuais nomeado myVMSS no myResourceGroup com uma identidade gerenciada atribuída ao sistema, conforme identificado no corpo da solicitação pelo valor
"identity":{"type":"SystemAssigned"}
. Substitua<ACCESS TOKEN>
pelo valor recebido na etapa anterior quando você solicitou um token de acesso de portador e o valor de<SUBSCRIPTION ID>
apropriado para seu ambiente.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"SystemAssigned"},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Content-Type Obrigatórios. Defina como application/json
.Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Corpo da solicitação
{ "sku":{ "tier":"Standard", "capacity":3, "name":"Standard_D1_v2" }, "location":"eastus", "identity":{ "type":"SystemAssigned" }, "properties":{ "overprovision":true, "virtualMachineProfile":{ "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "createOption":"FromImage" } }, "osProfile":{ "computerNamePrefix":"myVMSS", "adminUsername":"azureuser", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaceConfigurations":[ { "name":"myVMSS", "properties":{ "primary":true, "enableIPForwarding":true, "ipConfigurations":[ { "name":"myVMSS", "properties":{ "subnet":{ "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" } } } ] } } ] } }, "upgradePolicy":{ "mode":"Manual" } } }
Habilitar identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais existente
Para habilitar a identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais existente, você precisa adquirir um token de acesso e, em seguida, usar CURL para chamar o ponto de extremidade de REST do Resource Manager para atualizar o tipo de identidade.
Recupere um token de acesso do Portador, que será usado na próxima etapa no cabeçalho de Autorização para criar o conjunto de dimensionamento de máquinas virtuais com uma identidade gerenciada atribuída ao sistema.
az account get-access-token
Use o seguinte comando CURL para chamar o ponto de extremidade de REST do Azure Resource Manager para habilitar a identidade gerenciada atribuída ao sistema no conjunto de dimensionamento de máquinas virtuais, identificada no corpo da solicitação pelo valor
{"identity":{"type":"SystemAssigned"}
, para um conjunto de dimensionamento de máquinas virtuais nomeado myVMSS. Substitua<ACCESS TOKEN>
pelo valor recebido na etapa anterior quando você solicitou um token de acesso de portador e o valor de<SUBSCRIPTION ID>
apropriado para seu ambiente.Importante
Para garantir que você não exclua nenhuma identidade gerenciada atribuída ao usuário existente que esteja atribuída ao conjunto de dimensionamento de máquinas virtuais, será necessário listar as identidades gerenciadas atribuídas ao usuário, usando este comando CURL:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
. Se houver alguma identidade gerenciada atribuída ao usuário ao conjunto de dimensionamento de máquinas virtuais identificada no valoridentity
, passe para a etapa 3 que mostra como reter identidades gerenciadas atribuídas ao usuário ao habilitar a identidade gerenciada atribuída ao sistema no conjunto de dimensionamento de máquinas virtuais.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Content-Type Obrigatórios. Defina como application/json
.Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Corpo da solicitação
{ "identity":{ "type":"SystemAssigned" } }
Para habilitar a identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais com identidades gerenciadas atribuídas ao usuário existentes, é necessário adicionar
SystemAssigned
ao valortype
.Por exemplo, se o conjunto de dimensionamento de máquinas virtuais tiver as identidades gerenciadas atribuídas ao usuário
ID1
eID2
atribuídas a ele, e você quer adicionar uma identidade gerenciada atribuída ao sistema ao conjunto de dimensionamento de máquinas virtuais, use a seguinte chamada de CURL. Substitua<ACCESS TOKEN>
e<SUBSCRIPTION ID>
pelos valores apropriados para seu ambiente.A versão da API
2018-06-01
armazena identidades gerenciadas designadas pelo usuário no valoruserAssignedIdentities
em um formato de dicionário, em oposição ao valoridentityIds
em um formato de matriz usado na versão da API2017-12-01
.API DE 2018 VERSÃO-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Content-Type Obrigatórios. Defina como application/json
.Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Corpo da solicitação
{ "identity":{ "type":"SystemAssigned,UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
VERSÃO DA API 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Content-Type Obrigatórios. Defina como application/json
.Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Corpo da solicitação
{ "identity":{ "type":"SystemAssigned,UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
Desabilitar identidade gerenciada atribuída ao sistema a partir de um conjunto de dimensionamento de máquinas virtuais
Para desabilitar uma identidade gerenciada atribuída ao sistema em um conjunto de dimensionamento de máquinas virtuais existente, você precisará adquirir um token de acesso e, em seguida, usar CURL para chamar o ponto de extremidade de REST do Resource Manager para atualizar o tipo de identidade para None
.
Recupere um token de acesso do Portador, que será usado na próxima etapa no cabeçalho de Autorização para criar o conjunto de dimensionamento de máquinas virtuais com uma identidade gerenciada atribuída ao sistema.
az account get-access-token
Atualize o conjunto de dimensionamento de máquinas virtuais usando CURL para chamar o ponto de extremidade de REST do Azure Resource Manager para desabilitar a identidade gerenciada atribuída ao sistema. O exemplo a seguir desabilita a identidade gerenciada atribuída ao sistema, identificada no corpo da solicitação pelo valor
{"identity":{"type":"None"}}
, de um conjunto de dimensionamento de máquinas virtuais nomeado myVMSS. Substitua<ACCESS TOKEN>
pelo valor recebido na etapa anterior quando você solicitou um token de acesso de portador e o valor de<SUBSCRIPTION ID>
apropriado para seu ambiente.Importante
Para garantir que você não exclua nenhuma identidade gerenciada atribuída ao usuário existente que esteja atribuída ao conjunto de dimensionamento de máquinas virtuais, será necessário listar as identidades gerenciadas atribuídas ao usuário, usando este comando CURL:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
. Se houver alguma identidade gerenciada atribuída ao usuário ao conjunto de dimensionamento de máquinas virtuais, passe para a etapa 3 que mostra como reter identidades gerenciadas atribuídas ao usuário, ao remover a identidade atribuída ao sistema do conjunto de dimensionamento de máquinas virtuais.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Content-Type Obrigatórios. Defina como application/json
.Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Corpo da solicitação
{ "identity":{ "type":"None" } }
Para remover a identidade gerenciada atribuída ao sistema de um conjunto de dimensionamento de máquinas virtuais que tenha identidades gerenciadas atribuídas ao usuário, remova
SystemAssigned
do valor{"identity":{"type:" "}}
enquanto mantém o valorUserAssigned
e os valores do dicionáriouserAssignedIdentities
, se estiver usando a Versão da API 01-06-2018. Se você estiver usando a versão da API 2017-12-01 ou anterior, mantenha o arrayidentityIds
.
Identidade gerenciada atribuída pelo usuário
Nesta seção, você aprenderá como adicionar e remover uma identidade gerenciada atribuída ao usuário em um conjunto de dimensionamento de máquinas virtuais usando CURL para fazer chamadas ao ponto de extremidade de REST do Azure Resource Manager.
Atribuir uma identidade gerenciada atribuída ao usuário durante a criação de um conjunto de dimensionamento de máquinas virtuais
Recupere um token de acesso do Portador, que será usado na próxima etapa no cabeçalho de Autorização para criar o conjunto de dimensionamento de máquinas virtuais com uma identidade gerenciada atribuída ao sistema.
az account get-access-token
Crie uma interface de rede para seu conjunto de dimensionamento de máquinas virtuais:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Recupere um token de acesso do Portador, que será usado na próxima etapa no cabeçalho de Autorização para criar o conjunto de dimensionamento de máquinas virtuais com uma identidade gerenciada atribuída ao sistema.
az account get-access-token
Crie uma identidade gerenciada atribuída pelo usuário usando as instruções encontradas aqui: Crie uma identidade gerenciada atribuída pelo usuário.
Crie um conjunto de dimensionamento de máquinas virtuais usando o CURL para chamar o ponto de extremidade REST do Azure Resource Manager. O exemplo a seguir cria um conjunto de dimensionamento de máquinas virtuais nomeado myVMSS no grupo de recursos myResourceGroup com uma identidade gerenciada atribuída ao usuário
ID1
, identificada no corpo da solicitação pelo valor"identity":{"type":"UserAssigned"}
. Substitua<ACCESS TOKEN>
pelo valor recebido na etapa anterior quando você solicitou um token de acesso de portador e o valor de<SUBSCRIPTION ID>
apropriado para seu ambiente.API DE 2018 VERSÃO-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Content-Type Obrigatórios. Defina como application/json
.Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Corpo da solicitação
{ "sku":{ "tier":"Standard", "capacity":3, "name":"Standard_D1_v2" }, "location":"eastus", "identity":{ "type":"UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ } } }, "properties":{ "overprovision":true, "virtualMachineProfile":{ "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "createOption":"FromImage" } }, "osProfile":{ "computerNamePrefix":"myVMSS", "adminUsername":"azureuser", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaceConfigurations":[ { "name":"myVMSS", "properties":{ "primary":true, "enableIPForwarding":true, "ipConfigurations":[ { "name":"myVMSS", "properties":{ "subnet":{ "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" } } } ] } } ] } }, "upgradePolicy":{ "mode":"Manual" } } }
VERSÃO DA API 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Content-Type Obrigatórios. Defina como application/json
.Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Corpo da solicitação
{ "sku":{ "tier":"Standard", "capacity":3, "name":"Standard_D1_v2" }, "location":"eastus", "identity":{ "type":"UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] }, "properties":{ "overprovision":true, "virtualMachineProfile":{ "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "createOption":"FromImage" } }, "osProfile":{ "computerNamePrefix":"myVMSS", "adminUsername":"azureuser", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaceConfigurations":[ { "name":"myVMSS", "properties":{ "primary":true, "enableIPForwarding":true, "ipConfigurations":[ { "name":"myVMSS", "properties":{ "subnet":{ "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" } } } ] } } ] } }, "upgradePolicy":{ "mode":"Manual" } } }
Atribuir uma identidade gerenciada usuário atribuído a um conjunto de dimensionamento de máquina virtual do Azure existente
Recupere um token de acesso do Portador, que será usado na próxima etapa no cabeçalho de Autorização para criar o conjunto de dimensionamento de máquinas virtuais com uma identidade gerenciada atribuída ao sistema.
az account get-access-token
Crie uma identidade gerenciada atribuída pelo usuário usando as instruções encontradas aqui, Crie uma identidade gerenciada atribuída pelo usuário.
Para garantir que você não exclua nenhuma identidade gerenciada atribuída ao usuário ou ao sistema existente que esteja atribuída ao conjunto de dimensionamento de máquinas virtuais, será necessário listar os tipos de identidade atribuída ao conjunto de dimensionamento de máquinas virtuais, usando o seguinte comando CURL. Se houver identidades gerenciadas atribuídas ao conjunto de dimensionamento de máquinas virtuais, elas serão listadas no valor
identity
.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Se não houver nenhuma identidade gerenciada atribuída ao usuário ou ao sistema ao conjunto de dimensionamento de máquinas virtuais, use o seguinte comando CURL para chamar o ponto de extremidade de REST do Azure Resource Manager para atribuir a primeira identidade gerenciada atribuída ao usuário ao conjunto de dimensionamento de máquinas virtuais. Se houver alguma identidade gerenciada atribuída ao usuário ou ao sistema ao conjunto de dimensionamento de máquinas virtuais, passe para a etapa 5 que mostra como adicionar várias identidades gerenciadas atribuídas ao usuário a um conjunto de dimensionamento de máquinas virtuais, mantendo a identidade gerenciada atribuída ao sistema.
O exemplo a seguir atribui uma identidade gerenciada atribuída ao usuário,
ID1
, a um conjunto de dimensionamento de máquinas virtuais nomeado myVMSS no grupo de recursos myResourceGroup. Substitua<ACCESS TOKEN>
pelo valor recebido na etapa anterior quando você solicitou um token de acesso de portador e o valor de<SUBSCRIPTION ID>
apropriado para seu ambiente.API DE 2018 VERSÃO-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Content-Type Obrigatórios. Defina como application/json
.Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Corpo da solicitação
{ "identity":{ "type":"userAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ } } } }
VERSÃO DA API 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Content-Type Obrigatórios. Defina como application/json
.Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Corpo da solicitação
{ "identity":{ "type":"userAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Se você tiver uma identidade gerenciada atribuída ao usuário ou atribuída ao sistema atribuída ao conjunto de dimensionamento de máquinas virtuais:
API DE 2018 VERSÃO-06-01
Adicionar a identidade atribuída pelo usuário gerenciada para o
userAssignedIdentities
valor do dicionário.Por exemplo, se você tiver uma identidade gerenciada atribuída ao sistema e a identidade atribuída ao usuário
ID1
atualmente atribuída ao conjunto de dimensionamento de máquinas virtuais e quiser adicionar a identidade gerenciada atribuída ao usuárioID2
:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Content-Type Obrigatórios. Defina como application/json
.Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Corpo da solicitação
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
VERSÃO DA API 2017-12-01
Reter as identidades gerenciadas atribuídas pelo usuário que você gostaria de manter no valor da matriz
identityIds
ao adicionar a nova identidade gerenciada atribuída pelo usuário.Por exemplo, se você tiver uma identidade atribuída ao sistema e a identidade gerenciada atribuída ao usuário
ID1
atualmente atribuída ao conjunto de dimensionamento de máquinas virtuais e quiser adicionar a identidade gerenciada atribuída ao usuárioID2
:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Content-Type Obrigatórios. Defina como application/json
.Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Corpo da solicitação
{ "identity":{ "type":"SystemAssigned, UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
Remover uma identidade gerenciada atribuída ao usuário de um conjunto de dimensionamento de máquinas virtuais
Recupere um token de acesso do Portador, que será usado na próxima etapa no cabeçalho de Autorização para criar o conjunto de dimensionamento de máquinas virtuais com uma identidade gerenciada atribuída ao sistema.
az account get-access-token
Para garantir que você não exclua nenhuma identidade gerenciada atribuída ao usuário que gostaria de manter atribuída ao conjunto de dimensionamento de máquinas virtuais nem remover a identidade gerenciada atribuída ao sistema, é necessário listar as identidades gerenciadas usando os seguintes comandos CURL:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Se houver identidades gerenciadas atribuídas à VM, elas serão listadas na resposta no valor
identity
.Por exemplo, se você tiver identidades gerenciadas atribuídas ao usuário
ID1
eID2
atribuídas ao conjunto de dimensionamento de máquinas virtuais e você somente quer manterID1
atribuído e reter a identidade gerenciada atribuída ao sistema:API DE 2018 VERSÃO-06-01
Adicionar
null
para o usuário atribuído gerenciado identidade que você deseja remover:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Content-Type Obrigatórios. Defina como application/json
.Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Corpo da solicitação
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null } } }
VERSÃO DA API 2017-12-01
Reter apenas as identidades gerenciadas atribuídas pelo usuário que você gostaria de manter na matriz
identityIds
:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação Descrição Content-Type Obrigatórios. Defina como application/json
.Autorização Obrigatórios. Defina como um Bearer
token de acesso válido.Corpo da solicitação
{ "identity":{ "type":"SystemAssigned,UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Se o conjunto de dimensionamento de máquinas virtuais tiver identidades gerenciadas atribuídas ao sistema e atribuídas ao usuário, você poderá remover todas as identidades gerenciadas atribuídas ao usuário, alternando para usar somente atribuídas ao sistema usando o seguinte comando:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação | Descrição |
---|---|
Content-Type | Obrigatórios. Defina como application/json . |
Autorização | Obrigatórios. Defina como um Bearer token de acesso válido. |
Corpo da solicitação
{
"identity":{
"type":"SystemAssigned"
}
}
Se o conjunto de dimensionamento de máquinas virtuais tiver apenas identidades gerenciadas atribuídas ao usuário e você quer remover todas elas, use o seguinte comando:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Cabeçalhos de solicitação
Cabeçalho da solicitação | Descrição |
---|---|
Content-Type | Obrigatórios. Defina como application/json . |
Autorização | Obrigatórios. Defina como um Bearer token de acesso válido. |
Corpo da solicitação
{
"identity":{
"type":"None"
}
}
Próximas etapas
Para obter informações sobre como criar, listar ou excluir identidades gerenciadas atribuídas pelo usuário usando o REST, consulte: