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 utilizador e uma palavra-passe. 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 como exibir ou excluir dados pessoais, consulte Solicitações gerais do titular de dados para o GDPR, Solicitações do titular de dados do Azure para o GDPR ou Solicitações do titular de dados do Windows para o GDPR, dependendo da sua área e necessidades específicas. 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 | Description |
---|---|
Get-AzAutomationCredential | Recupera um objeto CredentialInfo contendo 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 | Description |
---|---|
Get-AutomationPSCredential |
Obtém um PSCredential objeto para usar em um 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 | Description |
---|---|
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
Na sua conta de automação, 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 seguindo seus padrões de nomenclatura.
Digite seu ID de acesso no campo Nome de usuário .
Para ambos os campos de palavra-passe, introduza a 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.
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 Get-Credential
cmdlet 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 runbook ou DSC recupera um ativo de credencial com o cmdlet interno Get-AutomationPSCredential
. Este cmdlet obtém um PSCredential
objeto 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.
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-AutomationPSCredential
o .
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.
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.
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-AutomationPSCredential
o , 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
- 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 Runbook execution in Azure Automation.
- Para obter detalhes das configurações de DSC, consulte Visão geral da Configuração do Estado de Automação do Azure.