Migrar de uma conta Run As existente para as Identidades geridas
Importante
As contas da Execução de Automação do Azure, incluindo a Execução Clássica, foram desativadas em 30 de setembro de 2023 e substituídas por Identidades Gerenciadas. Você não poderá mais criar ou renovar contas Run as por meio do portal do Azure.
Para obter mais informações sobre a cadência de migração e o cronograma de suporte para criação de conta Run As e renovação de certificado, consulte as perguntas frequentes.
As contas Run As na Automatização do Azure fornecem autenticação para gerir recursos implementados através do Azure Resource Manager ou do modelo de implementação clássica. Sempre que uma conta Run As é criada, um aplicativo Microsoft Entra é registrado e um certificado autoassinado é gerado. O certificado é válido durante um mês. Renovar o certificado todos os meses antes de expirar mantém a conta de automação funcionando, mas adiciona sobrecarga.
Agora, pode configurar as contas de Automatização para utilizarem uma identidade gerida, que é a opção predefinida quando cria uma conta de Automatização. Com esta funcionalidade, uma conta de Automatização pode realizar a autenticação para recursos do Azure sem a necessidade de trocar credenciais. Uma identidade gerida remove a sobrecarga da renovação do certificado ou da gestão do principal de serviço.
Uma identidade gerenciada pode ser atribuída ao sistema ou ao usuário. Quando é criada uma nova conta de Automatização, é ativada uma identidade gerida atribuída pelo sistema.
Pré-requisitos
Antes de migrar de uma conta Run As ou Classic Run As para uma identidade gerenciada:
Crie uma identidade gerida atribuída pelo sistema ou pelo utilizador ou crie ambos os tipos de identidades. Para saber mais sobre as diferenças entre eles, consulte o artigo Tipos de identidades geridas.
Nota
- As identidades atribuídas pelo utilizador são suportadas apenas para trabalhos na cloud. Não é possível utilizar a identidade gerida pelo utilizador da conta de Automatização numa função de trabalho de runbook híbrida. Para utilizar trabalhos híbridos, tem de criar 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 ao sistema para a conta de automação ou a identidade gerenciada da máquina virtual (VM) para uma VM do Azure em execução como um trabalhador 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 ativar a identidade gerida da conta de Automatização, pode utilizar apenas a identidade gerida atribuída pelo sistema da conta de Automatização e não a identidade gerida da VM. Para obter mais informações, consulte Usar autenticação de runbook com identidades gerenciadas.
Atribua a mesma função à identidade gerida para aceder aos recursos do Azure que correspondem à conta Run As. Use este script para habilitar a identidade atribuída ao Sistema em uma conta de Automação e atribuir o mesmo conjunto de permissões presentes na Execução de Automação do Azure como conta à identidade Atribuída ao Sistema da conta de Automação.
Por exemplo, se a conta de Automatização for necessária apenas para iniciar ou parar uma VM do Azure, as permissões atribuídas à conta Run As têm de ser apenas para iniciar ou parar a VM. Da mesma forma, atribua permissões só de leitura se um runbook estiver a ler a partir do Armazenamento de Blobs do Azure. Para obter mais informações, veja Orientações de segurança da Automatização do Azure.
Se estiver a utilizar contas Classic Run As, certifique-se de que migrou recursos implementados através do modelo de implementação clássico para o Azure Resource Manager.
Utilize este script para descobrir que contas de Automatização estão a utilizar uma conta Run As. Se suas contas de Automação do Azure contiverem uma conta Run As, ela terá a função de colaborador interna atribuída a ela por padrão. Pode utilizar o script para verificar as contas Run As da Automatização do Azure e determinar se atribuição de função das mesmas é a predefinida ou se foi alterada para outra definição de função.
Use este script para descobrir se todos os runbooks em sua conta de automação estão usando a conta Run As.
Migrar de uma conta Run As de automação para uma identidade gerenciada
Para migrar de uma conta Run As de automação ou conta Run As clássica para uma identidade gerenciada para sua autenticação de runbook, siga estas etapas:
Altere o código do runbook para utilizar uma identidade gerida.
Recomendamos que teste a identidade gerida para verificar se o runbook funciona como esperado, ao criar uma cópia do seu runbook de produção. Atualize o seu código do runbook de teste para realizar a autenticação através da identidade gerida. 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. Após ter a certeza de que o código do runbook é executado como esperado através da identidade gerida, atualize o seu runbook de produção para utilizar a identidade gerida.Para obter suporte para identidades geridas, utilize o cmdlet
Connect-AzAccount
. Para saber mais sobre este cmdlet, consulte o artigo Connect-AzAccount na referência do PowerShell.- Se você estiver usando
Az
módulos, atualize para a versão mais recente seguindo as etapas no artigo Atualizar módulos do Azure PowerShell. - Se estiver a utilizar módulos do AzureRM, atualize o
AzureRM.Profile
para a versão mais recente e substitua-o ao utilizar o cmdletAdd-AzureRMAccount
comConnect-AzureRMAccount –Identity
.
Para compreender as alterações ao código do runbook que são necessárias antes que poder utilizar identidades geridas, utilize os scripts de exemplo.
- Se você estiver usando
Quando tiver certeza de que o runbook está sendo executado com êxito usando identidades gerenciadas, você poderá excluir com segurança a conta Run As se nenhum outro runbook estiver usando essa conta.
Scripts de amostra
Os exemplos a seguir de scripts runbook buscam os recursos do Resource Manager usando a conta Run As (entidade de serviço) e a identidade gerenciada. Você notaria a diferença no código do runbook no início do runbook, onde ele se autentica em relação ao recurso.
- Identidade gerenciada atribuída ao sistema
- Identidade gerenciada atribuída pelo usuário
- Conta Run As
Nota
Habilite as permissões RBAC apropriadas para a identidade do sistema desta conta de automação. Caso contrário, o runbook pode 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 ao usuário
Na sua conta de automação, em Configurações da conta, selecione Identidade.
Na guia Usuário atribuído , selecione a identidade atribuída ao usuário.
Vá para Visão geral>do Essentials para exibir a ID do cliente.
Runbooks gráficos
Verifique se uma conta Run As é usada em runbooks gráficos
Verifique cada uma das atividades dentro do runbook para ver se ele usa a conta Run As quando chama cmdlets ou aliases de logon, como
Add-AzRmAccount/Connect-AzRmAccount/Add-AzAccount/Connect-AzAccount
.Examine os parâmetros que o cmdlet usa.
Para uso com a conta Run As, o cmdlet usa o
ServicePrincipalCertificate
parâmetro 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, em seguida, 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 Connect-AzAccount
cmdlet.
As etapas a seguir incluem um exemplo para mostrar como um runbook gráfico que usa uma conta Run As pode usar identidades gerenciadas:
Inicie sessão no portal do Azure.
Abra a conta Automação e selecione Runbooks de automação>de processos.
Selecione um runbook. Por exemplo, selecione o runbook Iniciar VMs do Azure V2 na lista e, em seguida, selecione Editar ou vá para Procurar Galeria e selecione Iniciar VMs do Azure V2.
Substitua a conexão Run As que usa
AzureRunAsConnection
e o ativo de conexão que usa internamente o cmdlet do PowerShellGet-AutomationConnection
peloConnect-AzAccount
cmdlet.Selecione Excluir para excluir as
Get Run As Connection
atividades eConnect to Azure
.No painel esquerdo, em RUNBOOK CONTROL, selecione Código e, em seguida, selecione Adicionar à tela.
Edite a atividade do código, atribua qualquer nome de rótulo apropriado e selecione Lógica da atividade do autor.
Na página Editor de Códigos, 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 Connect to Azure anteriormente e salve o runbook.
Por exemplo, no runbook Iniciar VMs do Azure V2 na galeria de runbooks, você deve substituir as Get Run As Connection
atividades e Connect to Azure
pela atividade de código que usa Connect-AzAccount
cmdlet conforme descrito acima.
Para obter mais informações, consulte o nome do runbook de exemplo AzureAutomationTutorialWithIdentityGraphical criado com a conta de automação.
Nota
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, deverá atualizá-los para usar os módulos do Az PowerShell. Mais informações.
Próximos passos
Analise as perguntas frequentes sobre a migração para identidades gerenciadas
Se seus runbooks não estiverem terminando com êxito, consulte Solucionar problemas de identidade gerenciada da Automação do Azure.
Para saber mais sobre identidades gerenciadas atribuídas ao sistema, consulte Usando uma identidade gerenciada atribuída ao sistema para uma conta de Automação do Azure.
Para saber mais sobre identidades gerenciadas atribuídas pelo usuário, consulte Usando uma identidade gerenciada atribuída pelo usuário para uma conta de Automação do Azure.
Para obter informações sobre a segurança da conta de Automação do Azure, consulte Visão geral da autenticação de conta da Automação do Azure.