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:

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

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

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

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

  1. 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 cmdlet Add-AzureRMAccount por Connect-AzureRMAccount –Identity.

    Para entender as alterações no código do runbook necessárias para você usar identidades gerenciadas, use os scripts de exemplo.

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

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

  1. Em sua conta da Automação, em Configurações da conta, selecione Identidade.

  2. Na guia Atribuído pelo usuário, selecione a identidade atribuída pelo usuário.

    Screenshot that shows the navigation path to view client ID.

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

    Screenshot that shows how to view a client ID.

Runbooks gráficos

Verificar se uma conta Executar como é usada em runbooks gráficos

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

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

  2. Examine os parâmetros usados pelo cmdlet.

    Screenshot that shows examining the parameters used by a cmdlet.

    Para uso com a conta Executar como, o cmdlet usa o parâmetro ServicePrinicipalCertificate 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 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:

  1. Entre no portal do Azure.

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

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

    Screenshot of editing a graphical runbook.

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

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

    Screenshot to connect to the Azure activities.

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

    Screenshot to select code and add it to the canvas.

  7. Edite a atividade de código, atribua um nome de rótulo apropriado e selecione Criar lógica de atividade.

    Screenshot to edit code activity.

  8. 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 
    } 
    
  9. Conecte a nova atividade às atividades que foram conectadas pelo Conectar-se ao 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, 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