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, consulte Solicitações do titular dos dados geral para GDPR, Solicitações do titular de dados do Azure para o GDPRou solicitações do titular de dados do Windows para o GDPR, dependendo de sua área e necessidades específicas. 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
Na sua conta da Automação do Azure, no painel esquerdo, selecione Credenciais em Recursos Compartilhados.
Na página Credenciais, selecione Adicionar uma credencial.
No painel Nova Credencial, insira um nome de credencial apropriado de acordo com seus padrões de nomenclatura.
Digite sua ID de acesso no campo Nome de usuário.
Para ambos os campos de senha, insira sua chave de acesso secreta.
Se a caixa de autenticação multifator estiver marcada, desmarque-a.
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.
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.
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
- Para saber mais sobre os cmdlets usados para acessar certificados, consulte Gerenciar módulos na Automação do Azure.
- Para obter informações gerais sobre runbooks, consulte Execução de runbook na Automação do Azure.
- Para obter detalhes sobre as configurações de DSC, consulte visão geral do State Configuration da Automação do Azure.