Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece exemplos de scripts do PowerShell e da CLI para autenticação usando identidades gerenciadas para a entidade de serviço de recursos do Azure, além de diretrizes sobre tópicos importantes, como o tratamento de erros.
Observação
Recomendamos que você use o módulo Azure Az PowerShell para interagir com Azure. Consulte Instalar Azure PowerShell para começar. Para saber como migrar para o módulo do Az PowerShell, consulte Migrate Azure PowerShell do AzureRM para o Az.
Pré-requisitos
- Se você não estiver familiarizado com o recurso de identidades gerenciadas para recursos do Azure, consulte esta visão geral. Se você não tiver uma conta Azure, sign up para uma conta gratuita antes de continuar.
Se você planeja usar os exemplos de Azure PowerShell ou Azure CLI neste artigo, instale a versão mais recente do Azure PowerShell ou Azure CLI.
Importante
- Todo o script de exemplo neste artigo pressupõe que o cliente de linha de comando esteja em execução em uma VM com identidades gerenciadas para recursos do Azure habilitados. Use o recurso "Conectar" da VM no portal do Azure para se conectar remotamente à sua VM. Para obter detalhes sobre como habilitar identidades gerenciadas para recursos Azure em uma VM, consulte Configurar identidades gerenciadas para Azure recursos em uma VM usando o portal Azure ou um dos artigos variantes (usando o PowerShell, a CLI, um modelo ou um Azure SDK).
- Para evitar erros durante o acesso a recursos, a identidade gerenciada da VM deve receber pelo menos acesso de "Leitor" no escopo apropriado (a VM ou superior) para permitir operações de Azure Resource Manager na VM. Consulte Atribuir identidades gerenciadas para acesso a recursos do Azure usando o portal do Azure para obter mais detalhes.
Visão geral
As identidades gerenciadas para recursos Azure fornecem um objeto service principal, que é criado ao habilitar identidades gerenciadas para recursos Azure na VM. A entidade de serviço pode ter acesso a recursos do Azure e ser usada como identidade por clientes de script/linha de comando para entrada e acesso a recursos. Tradicionalmente, para acessar recursos protegidos sob sua própria identidade, um cliente de script precisaria:
- ser registrado e consentido com Microsoft Entra ID como um aplicativo cliente web/confidencial
- entrar com sua entidade de serviço, usando as credenciais do aplicativo (que estão provavelmente inseridas no script)
Com identidades gerenciadas para recursos do Azure, o cliente de script não precisa mais fazer nenhum dos dois, pois ele pode autenticar-se usando o serviço principal de identidades gerenciadas para recursos do Azure.
Azure CLI
O script a seguir demonstra como:
Faça login no Microsoft Entra ID com a identidade gerenciada da VM sob o principal de serviço do Azure
Execute o Azure Resource Manager e obtenha a ID do principal de serviço da VM. A CLI cuida do gerenciamento de aquisição/uso de token para você automaticamente. Substitua o nome da máquina virtual por
<VM-NAME>.az login --identity $spID=$(az resource list -n <VM-NAME> --query [*].identity.principalId --out tsv) echo The managed identity for Azure resources service principal ID is $spID
Azure PowerShell
O script a seguir demonstra como:
Entre no Microsoft Entra ID com a identidade gerenciada da VM para o principal de serviço de recursos do Azure.
Chame um cmdlet Azure Resource Manager para obter informações sobre a VM. O PowerShell cuida do gerenciamento do uso de token para você automaticamente.
Add-AzAccount -identity # Call Azure Resource Manager to get the service principal ID for the VM's managed identity for Azure resources. $vmInfoPs = Get-AzVM -ResourceGroupName <RESOURCE-GROUP> -Name <VM-NAME> $spID = $vmInfoPs.Identity.PrincipalId echo "The managed identity for Azure resources service principal ID is $spID"
IDs de recurso para serviços de Azure
Consulte serviços do Azure que dão suporte à autenticação Microsoft Entra para obter uma lista de recursos que dão suporte à Microsoft Entra ID e foram testados com identidades gerenciadas para recursos do Azure e suas respectivas IDs de recurso.
Diretrizes sobre tratamento de erro
Respostas como as seguintes podem indicar que a identidade gerenciada da VM para recursos Azure não foi configurada corretamente:
- PowerShell: Invoke-WebRequest: não é possível se conectar ao servidor remoto
- CLI: MSI: falha ao recuperar um token de
http://localhost:50342/oauth2/tokencom o erro de 'HTTPConnectionPool(host='localhost', port=50342)
Se você receber um desses erros, retorne à Máquina Virtual Azure no portal do Azure e acesse a página Identity, garantindo que Atribuído pelo sistema esteja definido como "Sim".
Próximas etapas
- Para habilitar identidades gerenciadas para recursos do Azure em uma VM no Azure, consulte Configurar identidades gerenciadas para recursos do Azure em uma VM no Azure usando o PowerShell ou Configurar identidades gerenciadas para recursos do Azure em uma VM no Azure usando o Azure CLI.