Migrar de uma conta Run As existente para identidades gerenciadas

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 por 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 usuário são suportadas apenas para trabalhos na nuvem. Não é possível usar a identidade gerenciada pelo usuário da conta de automação em um runbook worker híbrido. Para usar trabalhos híbridos, você deve criar identidades atribuídas ao 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 habilitar a identidade gerenciada da conta de automação, você pode usar apenas a identidade gerenciada atribuída ao sistema da conta de automação e não a identidade gerenciada 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 pelo 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. Use este script para descobrir quais contas de automação estão usando 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. Você pode usar o script para verificar as contas Run As da Automação do Azure e determinar se sua atribuição de função é a padrão ou se foi alterada para uma definição de função diferente.

  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.

    Screenshot that shows the navigation path to view client ID.

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

    Screenshot that shows how to view a client ID.

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.

    Screenshot that illustrates checking if a graphical runbook uses a Run As account.

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

    Screenshot that shows examining the parameters used by a cmdlet.

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

    Screenshot that shows parameter sets.

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.

    Screenshot of editing a graphical runbook.

  4. Substitua a conexão Run As que usa e o ativo de conexão que usa AzureRunAsConnection 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 .

    Screenshot to connect to the Azure activities.

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

    Screenshot to select code and add it to the canvas.

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

    Screenshot to edit code activity.

  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.

    Screenshot to connect new activity to activities.

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. Saiba mais.

Próximos passos