Compartilhar via


Gerenciar credenciais na Automação do Azure

Um ativo de credencial de Automação contém um objeto que contém as credenciais de segurança, como um nome de usuário e uma senha. Os runbooks e as configurações DSC usam cmdlets que aceitam um objeto PSCredential para autenticação. Como alternativa, eles podem extrair o nome de usuário e a senha do objeto PSCredential para fornecer a um aplicativo ou serviço que exija autenticação.

Observação

Os ativos protegidos na Automação do Azure incluem credenciais, certificados, conexões e variáveis criptografadas. Esses ativos são criptografados e armazenados na Automação do Azure usando uma chave exclusiva que é gerada para cada conta da Automação do Azure. A Automação do Azure armazena a chave no Key Vault gerenciado pelo sistema. Antes de armazenar um ativo seguro, a Automação do Azure carrega a chave do Key Vault e depois a usa para criptografar o ativo.

Observação

Para obter informações sobre como exibir ou excluir dados pessoais, confira Solicitações do titular dos dados do Azure para RGPD. Para obter mais informações sobre o GDPR, confira a seção GDPR da Central de Confiabilidade da Microsoft e a seção GDPR do Portal de Confiança do Serviço.

Cmdlets do PowerShell usados para acessar credenciais

Os cmdlets na tabela a seguir são usados para criar e gerenciar credenciais de Automação com o PowerShell. Eles são fornecidos como parte de módulos Az.

Cmdlet Descrição
Get-AzAutomationCredential Recupera um objeto CredentialInfo que contém metadados sobre a credencial. O cmdlet não recupera o objeto PSCredential em si.
New-AzAutomationCredential Cria uma nova credencial de Automação.
Remove-AzAutomationCredential Remove uma credencial de Automação.
Set-AzAutomationCredential Define as propriedades de uma credencial de Automação existente.

Outros cmdlets usados para acessar credenciais

Os cmdlets na tabela a seguir são usados para acessar credenciais em seus runbooks ou em uma configuração DSC.

Cmdlet Descrição
Get-AutomationPSCredential Obtém um objeto PSCredential a ser usado em uma configuração de DSC ou runbook. Geralmente, você deve usar esse cmdlet interno em vez do cmdlet Get-AzAutomationCredential, pois o último recupera apenas informações de credenciais. Normalmente, essas informações não são úteis para serem passadas para outro cmdlet.
Get-Credential Obtém uma credencial com um prompt para um nome de usuário e senha. Esse cmdlet faz parte do módulo padrão Microsoft.PowerShell.Security. Consulte Módulos padrão.
New-AzureAutomationCredential Cria um ativo de credencial. Esse cmdlet faz parte do módulo padrão do Azure. Consulte Módulos padrão.

Para recuperar objetos PSCredential em seu código, você deve importar o módulo Orchestrator.AssetManagement.Cmdlets. Para obter mais informações, confira Gerenciar módulos na Automação do Azure.

Import-Module Orchestrator.AssetManagement.Cmdlets -ErrorAction SilentlyContinue

Observação

Evite usar variáveis no parâmetro Name de Get-AutomationPSCredential. Seu uso pode complicar a descoberta de dependências entre runbooks ou configurações DSC e ativos de credencial em tempo de design.

Funções do Python que acessam credenciais

A função na tabela a seguir é usada para acessar credenciais em um runbook do Python 2 e 3. Atualmente, os runbooks do Python 3 estão em versão prévia.

Função Descrição
automationassets.get_automation_credential Recupera informações sobre um ativo de credencial.

Observação

É necessário importar o módulo automationassets, na parte superior do runbook do Python para acessar as funções do ativo.

Criar um novo ativo de credencial

Você pode criar um novo ativo de credencial usando o portal do Azure ou o Windows PowerShell.

Criar um novo ativo de credencial com o portal do Azure

  1. Na sua conta da Automação do Azure, no painel esquerdo, selecione Credenciais em Recursos Compartilhados.

  2. Na página Credenciais, selecione Adicionar uma credencial.

  3. No painel Nova Credencial, insira um nome de credencial apropriado de acordo com seus padrões de nomenclatura.

  4. Digite sua ID de acesso no campo Nome de usuário.

  5. Para ambos os campos de senha, insira sua chave de acesso secreta.

    Create new credential

  6. Se a caixa de autenticação multifator estiver marcada, desmarque-a.

  7. Clique em Criar para salvar o novo ativo de credencial.

Observação

A Automação do Azure não oferece suporte a contas de usuário que usam autenticação multifator.

Criar um novo ativo de credencial com o Windows PowerShell

O exemplo a seguir mostra como criar um novo ativo de credencial de Automação. Um objeto PSCredential é criado pela primeira vez com o nome e a senha e, em seguida, é usado para criar o ativo de credencial. Em vez disso, você pode usar o cmdlet Get-Credential para solicitar que o usuário digite um nome e uma senha.

$user = "MyDomain\MyUser"
$pw = ConvertTo-SecureString "PassWord!" -AsPlainText -Force
$cred = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $user, $pw
New-AzureAutomationCredential -AutomationAccountName "MyAutomationAccount" -Name "MyCredential" -Value $cred

Obter um ativo de credencial

Uma configuração de DSC ou runbook recupera um ativo de credencial com o cmdlet Get-AutomationPSCredential interno. Esse cmdlet obtém um objeto PSCredential que você pode usar com um cmdlet que requer uma credencial. Você também pode recuperar as propriedades do objeto de credencial para usar individualmente. O objeto tem propriedades para o nome de usuário e a senha segura.

Observação

O cmdlet Get-AzAutomationCredential não recupera um objeto PSCredential que pode ser usado para autenticação. Ele apenas fornece informações sobre a credencial. Se você precisar usar uma credencial em um runbook, deverá recuperá-la como um objeto PSCredential usando Get-AutomationPSCredential.

Como alternativa, você pode usar o método GetNetworkCredential para recuperar um objeto do NetworkCredential que representa uma versão não segura da senha.

Exemplo de runbook textual

O exemplo a seguir mostra como usar uma credencial do PowerShell em um runbook. Ele recupera a credencial e atribui seu nome de usuário e senha a variáveis.

$myCredential = Get-AutomationPSCredential -Name 'MyCredential'
$userName = $myCredential.UserName
$securePassword = $myCredential.Password
$password = $myCredential.GetNetworkCredential().Password

Você também pode usar uma credencial para autenticar no Azure com Connect-AzAccount depois de usar uma identidade gerenciada na primeira conexão. O exemplo usa uma identidade gerenciada atribuída pelo sistema.

# Ensures you do not inherit an AzContext in your runbook
Disable-AzContextAutosave -Scope Process

# Connect to Azure with system-assigned managed identity
$AzureContext = (Connect-AzAccount -Identity).context

# set and store context
$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription -DefaultProfile $AzureContext

# Get credential
$myCred = Get-AutomationPSCredential -Name "MyCredential"
$userName = $myCred.UserName
$securePassword = $myCred.Password
$password = $myCred.GetNetworkCredential().Password

$myPsCred = New-Object System.Management.Automation.PSCredential ($userName,$securePassword)

# Connect to Azure with credential
$AzureContext = (Connect-AzAccount -Credential $myPsCred -TenantId $AzureContext.Subscription.TenantId).context

# set and store context
$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription `
    -TenantId $AzureContext.Subscription.TenantId `
    -DefaultProfile $AzureContext

Exemplo de runbook gráfico

Para adicionar uma atividade para o cmdlet Get-AutomationPSCredential interno a um runbook gráfico, você pode clicar com o botão direito do mouse na credencial no painel Biblioteca do editor gráfico e selecionar Adicionar à tela.

Add credential cmdlet to canvas

A imagem a seguir mostra um exemplo do uso de uma credencial em um runbook gráfico. Nesse caso, a credencial fornece autenticação para um runbook para recursos do Azure, conforme descrito em Usar o Microsoft Entra ID na Automação do Azure para autenticar no Azure. A primeira atividade recupera a credencial que tem acesso à assinatura do Azure. A atividade de conexão de conta usa essa credencial para fornecer autenticação para qualquer atividade que vier depois dela. Um link de pipeline é usado aqui, pois Get-AutomationPSCredential está esperando um único objeto.

Credential workflow with pipeline link example

Usar credenciais em uma configuração DSC

Embora as configurações de DSC na Automação do Azure possam trabalhar com ativos de credencial que usam Get-AutomationPSCredential, elas também podem passar ativos de credencial por meio de parâmetros. Para obter mais informações, veja Compilando configurações na DSC de Automação do Azure.

Próximas etapas