Partilhar via


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:

  1. 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.
  2. 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.

  3. 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.

  4. 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.

  5. 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:

  1. 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 cmdlet Add-AzureRMAccount com Connect-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.

  2. 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.

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

  1. Na sua conta de automação, em Configurações da conta, selecione Identidade.

  2. Na guia Usuário atribuído , selecione a identidade atribuída ao usuário.

    Captura de tela que mostra o caminho de navegação para exibir a ID do cliente.

  3. Vá para Visão geral>do Essentials para exibir a ID do cliente.

    Captura de ecrã que mostra como visualizar um ID de cliente.

Runbooks gráficos

Verifique se uma conta Run As é usada em runbooks gráficos

  1. 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.

    Captura de tela que ilustra a verificação se um runbook gráfico usa uma conta Run As.

  2. Examine os parâmetros que o cmdlet usa.

    Captura de tela que mostra o exame dos parâmetros usados por um cmdlet.

    Para uso com a conta Run As, o cmdlet usa o ServicePrincipalCertificate parâmetro definido como ApplicationId. CertificateThumbprint será de RunAsAccountConnection.

    Captura de tela que mostra conjuntos de parâmetros.

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:

  1. Inicie sessão no portal do Azure.

  2. Abra a conta Automação e selecione Runbooks de automação>de processos.

  3. 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.

    Captura de tela da edição de um runbook gráfico.

  4. Substitua a conexão Run As que usa AzureRunAsConnection e o ativo de conexão que usa internamente o cmdlet do PowerShell Get-AutomationConnection pelo Connect-AzAccount cmdlet.

  5. Selecione Excluir para excluir as Get Run As Connection atividades e Connect to Azure .

    Captura de ecrã para ligar às atividades do Azure.

  6. No painel esquerdo, em RUNBOOK CONTROL, selecione Código e, em seguida, selecione Adicionar à tela.

    Captura de tela para selecionar o código e adicioná-lo à tela.

  7. Edite a atividade do código, atribua qualquer nome de rótulo apropriado e selecione Lógica da atividade do autor.

    Captura de tela para editar a atividade do código.

  8. 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 
    } 
    
  9. Conecte a nova atividade às atividades que foram conectadas pelo Connect to Azure anteriormente e salve o runbook.

    Captura de ecrã para ligar novas atividades a atividades.

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