Partilhar via


Gerir credenciais na Automatização do Azure

Um ativo de credenciais de automação contém um objeto que contém credenciais de segurança, como um nome de usuário e uma senha. Runbooks e 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 PSCredential senha do objeto para fornecer a algum aplicativo ou serviço que exija autenticação.

Nota

Os recursos protegidos na Automatização do Azure incluem credenciais, certificados, ligações e variáveis encriptadas. Esses ativos são criptografados e armazenados na Automação do Azure usando uma chave exclusiva gerada para cada conta de Automação. A Automação do Azure armazena a chave no Cofre de Chaves gerenciado pelo sistema. Antes de armazenar um ativo seguro, a Automação carrega a chave do Cofre da Chave e a usa para criptografar o ativo.

Nota

Para obter informações sobre a visualização ou eliminação de dados pessoais, veja Azure Data Subject Requests for the GDPR (Pedidos de Titulares de Dados do Azure relativos aos RGPD). Para obter mais informações sobre o GDPR, consulte a seção GDPR da Central de Confiabilidade da Microsoft e a seção GDPR do portal Service Trust.

Cmdlets do PowerShell usados para acessar credenciais

Os cmdlets na tabela a seguir criam e gerenciam credenciais de automação com o PowerShell. Eles são enviados como parte dos 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 PSCredential objeto 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 e configurações de DSC.

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

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

Import-Module Orchestrator.AssetManagement.Cmdlets -ErrorAction SilentlyContinue

Nota

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

Funções Python que acessam credenciais

A função na tabela a seguir é usada para acessar credenciais em um runbook Python 2 e 3. Os runbooks do Python 3 estão atualmente em visualização.

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

Nota

Importe o automationassets módulo na parte superior do seu runbook Python para acessar as funções do ativo.

Criar um novo ativo de credencial

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

Criar um novo ativo de credenciais com o portal do Azure

  1. Na sua conta de automação, 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 seguindo seus padrões de nomenclatura.

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

  5. Para ambos os campos de palavra-passe, introduza a 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.

Nota

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 PSCredential objeto é criado primeiro com o nome e a senha e, em seguida, usado para criar o ativo de credencial. Em vez disso, você pode usar o cmdlet para solicitar que o Get-Credential 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 runbook ou DSC recupera um ativo de credencial com o cmdlet interno Get-AutomationPSCredential . Este cmdlet obtém um objeto que você pode usar com um PSCredential 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.

Nota

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

Como alternativa, você pode usar o método GetNetworkCredential para recuperar um objeto 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 se conectar pela primeira vez com uma identidade gerenciada. Este exemplo usa uma identidade gerenciada atribuída ao 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

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

Add credential cmdlet to canvas

A imagem a seguir mostra um exemplo de 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 a ID do Microsoft Entra na Automação do Azure para autenticar no Azure. A primeira atividade recupera a credencial que tem acesso à assinatura do Azure. Em seguida, a atividade de conexão da conta usa essa credencial para fornecer autenticação para quaisquer atividades que venham 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 credenciais usando Get-AutomationPSCredentialo , elas também podem passar ativos de credenciais por meio de parâmetros. Para obter mais informações, consulte Compilando configurações no Azure Automation DSC.

Próximos passos