Migrar de uma conta Executar como existente para identidades gerenciadas
Importante
As contas Executar como da Automação do Azure, incluindo contas Executar como Clássicas, foram desativadas em 30 de setembro de 2023 e substituídas por Identidades Gerenciadas. Não será mais possível criar ou renovar contas Executar como por meio do portal do Azure.
Para mais informações sobre a cadência de migração e a linha do tempo de suporte para criação de conta executar como e renovação de certificado, confira as perguntas frequentes.
Contas do tipo Executar como na Automação do Azure fornecem autenticação para gerenciar recursos do Azure Resource Manager ou recursos implantados no modelo de implantação clássico. Sempre que uma conta Executar como é criada, um aplicativo do Microsoft Entra é registrado e um certificado autoassinado é gerado. O certificado é válido por um mês. Renova o certificado todo mês antes da expiração mantém a conta da Automação funcionando, mas adiciona sobrecarga.
Agora você pode configurar contas de Automação para usar uma identidade gerenciada, que é a opção padrão ao criar uma conta de Automação. Com esse recurso, uma conta de Automação pode se autenticar em recursos do Azure sem a necessidade de trocar credenciais. Uma identidade gerenciada remove a sobrecarga de renovar o certificado ou gerenciar a entidade de serviço.
Uma identidade gerenciada pode ser atribuída pelo sistema ou pelo usuário. Quando uma conta de Automação é criada, uma identidade gerenciada atribuída pelo sistema é habilitada.
Pré-requisitos
Antes de migrar de uma conta Executar como ou de uma conta Executar como Clássica para uma identidade gerenciada:
Crie uma identidade gerenciada atribuída pelo sistema ou atribuída pelo usuário ou crie ambos os tipos. Para saber mais sobre as diferenças entre eles, confira Tipos de identidade gerenciada.
Observação
- Só há suporte para identidades atribuídas pelo usuário em trabalhos de nuvem. Não é possível usar a identidade gerenciada pelo usuário da conta de Automação em um trabalho de runbook híbrido. Para usar trabalhos híbridos, crie identidades atribuídas pelo sistema.
- Há duas maneiras de usar identidades gerenciadas em scripts de trabalho de runbook híbrido: a identidade gerenciada atribuída pelo sistema para a conta de Automação ou a identidade gerenciada de VM (máquina virtual) para uma VM do Azure em execução como um trabalho de runbook híbrido.
- A identidade gerenciada atribuída pelo usuário da VM e a identidade gerenciada atribuída pelo sistema da VM não funcionarão em uma conta de Automação configurada com a identidade gerenciada de uma conta de Automação. Ao habilitar a identidade gerenciada da conta de Automação, você pode usar apenas a identidade gerenciada atribuída pelo sistema da conta de Automação, não a identidade gerenciada da VM. Para mais informações, confira Usar a autenticação de runbook com identidades gerenciadas.
Atribua a mesma função à identidade gerenciada para acessar os recursos do Azure que correspondem à conta Executar como. Use este script para habilitar a identidade atribuída pelo sistema em uma conta da Automação e atribua o mesmo conjunto de permissões presentes na conta Executar como da Automação do Azure à identidade atribuída pelo sistema da conta da Automação.
Por exemplo, se a conta de Automação for necessária apenas para iniciar ou parar uma VM do Azure, as permissões atribuídas à conta Executar como ou à identidade gerenciada precisarão ser apenas para iniciar ou parar a VM. Da mesma forma, atribua permissões somente leitura se um runbook estiver lendo de Armazenamento de Blobs do Azure. Para mais informações, confira diretrizes de segurança da Automação do Azure.
Se você estiver usando contas Executar como Clássicas, certifique-se de que migrou recursos implantados por meio do modelo de implantação clássico para o Azure Resource Manager.
Use esse script para descobrir quais contas de Automação estão usando uma conta Executar como. Se suas contas da Automação do Azure contiverem uma conta Executar como, ela terá a função interna de colaborador atribuída a ela por padrão. Use o script para verificar as contas Executar como da Automação do Azure e determinar se a atribuição de função é a padrão ou se ela foi alterada para uma definição de função diferente.
Use este script para descobrir se todos os runbooks em sua conta da Automação estão usando a conta Executar como.
Migrar de uma conta Executar como de Automação para uma identidade gerenciada
Para migrar de uma conta Executar como da Automação ou conta Executar como Clássica para uma identidade gerenciada para a autenticação do runbook, siga estas etapas:
Altere o código do runbook para usar uma identidade gerenciada.
Recomendamos que você teste a identidade gerenciada para verificar se o runbook funciona conforme o esperado criando uma cópia do runbook de produção. Atualize o código do runbook de teste para autenticar usando a identidade gerenciada. Esse método garante que você não substitua
AzureRunAsConnection
em seu runbook de produção e quebre a instância de Automação existente. Depois de ter certeza de que o código do runbook é executado conforme o esperado por meio da identidade gerenciada, atualize o runbook de produção para usar a identidade gerenciada.Para suporte de identidade gerenciada, use o cmdlet
Connect-AzAccount
. Para saber mais sobre esse cmdlet, confira Connect-AzAccount na referência do PowerShell.- Se você estiver usando os módulos
Az
, atualize para a versão mais recente seguindo as etapas no artigo Atualizar módulos do Azure PowerShell. - Se você está usando módulos do AzureRM, atualize
AzureRM.Profile
para a versão mais recente e substitua-a usando o cmdletAdd-AzureRMAccount
porConnect-AzureRMAccount –Identity
.
Para entender as alterações no código do runbook necessárias para você usar identidades gerenciadas, use os scripts de exemplo.
- Se você estiver usando os módulos
Quando tiver certeza de que o runbook está sendo executado com êxito usando identidades gerenciadas, você poderá excluir a conta Executar como com segurança se nenhum outro runbook estiver usando essa conta.
Scripts de exemplo
Os exemplos a seguir de scripts de runbook efetuam fetch dos recursos Resource Manager usando a conta Executar como (entidade de serviço) e a identidade gerenciada. Observe a diferença no código do runbook no início do runbook, onde ele se autentica no recurso.
- Identidade gerenciada atribuída pelo sistema
- Identidade gerenciada atribuída pelo usuário
- Conta Executar como
Observação
Habilite as permissões RBAC apropriadas para a identidade do sistema dessa conta de Automação. Caso contrário, o runbook poderá falhar.
try
{
"Logging in to Azure..."
Connect-AzAccount -Identity
}
catch {
Write-Error -Message $_.Exception
throw $_.Exception
}
#Get all Resource Manager resources from all resource groups
$ResourceGroups = Get-AzResourceGroup
foreach ($ResourceGroup in $ResourceGroups)
{
Write-Output ("Showing resources in resource group " + $ResourceGroup.ResourceGroupName)
$Resources = Get-AzResource -ResourceGroupName $ResourceGroup.ResourceGroupName
foreach ($Resource in $Resources)
{
Write-Output ($Resource.Name + " of type " + $Resource.ResourceType)
}
Write-Output ("")
}
Exibir ID do cliente da identidade atribuída pelo usuário
Em sua conta da Automação, em Configurações da conta, selecione Identidade.
Na guia Atribuído pelo usuário, selecione a identidade atribuída pelo usuário.
Vá para Visão geral>Essentials para exibir a ID do cliente.
Runbooks gráficos
Verificar se uma conta Executar como é usada em runbooks gráficos
Verifique cada uma das atividades no runbook para ver se ela usa a conta Executar como quando chama cmdlets ou aliases de logon, como
Add-AzRmAccount/Connect-AzRmAccount/Add-AzAccount/Connect-AzAccount
.Examine os parâmetros usados pelo cmdlet.
Para uso com a conta Executar como, o cmdlet usa o parâmetro
ServicePrincipalCertificate
definido comoApplicationId
.CertificateThumbprint
será deRunAsAccountConnection
.
Editar um runbook gráfico para usar uma identidade gerenciada
Você deve testar a identidade gerenciada para verificar se o runbook gráfico está funcionando conforme o esperado. Crie uma cópia do runbook de produção para usar a identidade gerenciada e atualize o código do runbook gráfico de teste para autenticar usando a identidade gerenciada. Você pode adicionar essa funcionalidade a um runbook gráfico adicionando o cmdlet Connect-AzAccount
.
As seguintes etapas incluem um exemplo para mostrar como um runbook gráfico que usa uma conta Executar como pode usar identidades gerenciadas:
Entre no portal do Azure.
Abra a conta de automação e selecione Automação de Processo>Runbooks.
Selecione um runbook. Por exemplo, selecione o runbook Iniciar VMs do Azure V2 na lista e selecione Editar ou vá para Procurar na Galeria e selecione Iniciar VMs do Azure V2.
Substitua a conexão Executar como que usa
AzureRunAsConnection
e o ativo de conexão que usa internamente o cmdlet do PowerShellGet-AutomationConnection
pelo cmdletConnect-AzAccount
.Selecione Excluir para excluir as atividades
Get Run As Connection
eConnect to Azure
.No painel esquerdo, em CONTROLE DO RUNBOOK, selecione Código e, em seguida, Adicionar à tela.
Edite a atividade de código, atribua um nome de rótulo apropriado e selecione Criar lógica de atividade.
Na página Editor de código, insira o seguinte código do PowerShell e selecione OK.
try { Write-Output ("Logging in to Azure...") Connect-AzAccount -Identity } catch { Write-Error -Message $_.Exception throw $_.Exception }
Conecte a nova atividade às atividades que foram conectadas pelo Conectar-se ao Azure anteriormente e salve o runbook.
Por exemplo, no runbook Iniciar VMs do Azure V2 na galeria de runbooks, substitua as atividades Get Run As Connection
e Connect to Azure
pela atividade de código que usa o cmdlet Connect-AzAccount
, conforme descrito acima.
Para mais informações, confira o nome do runbook de exemplo AzureAutomationTutorialWithIdentityGraphical criado com a conta de Automação.
Observação
Os módulos do AzureRM PowerShell serão desativados em 29 de fevereiro de 2024. Se você estiver usando módulos do AzureRM PowerShell em runbooks gráficos, será necessário atualizá-los para usar módulos do PowerShell Az. Saiba mais.
Próximas etapas
Examine as perguntas frequentes sobre como migrar para identidades gerenciadas
Se os runbooks não estiverem sendo concluídos com êxito, confira Solucionar problemas de identidade gerenciada da Automação do Azure.
Para saber mais sobre identidades gerenciadas atribuídas pelo sistema, confira Como usar uma identidade gerenciada atribuída pelo sistema para uma conta Automação do Azure.
Para saber mais sobre identidades gerenciadas atribuídas pelo usuário, confira Como usar uma identidade gerenciada atribuída pelo usuário para uma conta Automação do Azure.
Confira informações sobre a segurança da conta de Automação do Azure em Visão geral da autenticação da conta de Automação do Azure.