hantera autentiseringsuppgifter i Azure Automation

En Automation-tillgång för autentiseringsuppgifter innehåller ett objekt som innehåller säkerhetsautentiseringsuppgifter, till exempel ett användarnamn och ett lösenord. Runbooks och DSC-konfigurationer använder cmdletar som accepterar ett PSCredential-objekt för autentisering. Alternativt kan de extrahera användarnamnet och lösenordet PSCredential för objektet för att tillhandahålla ett program eller en tjänst som kräver autentisering.

Kommentar

Säkra tillgångar i Azure Automation omfattar autentiseringsuppgifter, certifikat, anslutningar och krypterade variabler. Dessa tillgångar krypteras och lagras i Azure Automation med hjälp av en unik nyckel som genereras för varje Automation-konto. Azure Automation lagrar nyckeln i det systemhanterade Key Vault. Innan du lagrar en säker tillgång läser Automation in nyckeln från Key Vault och använder den sedan för att kryptera tillgången.

Kommentar

I Azure-begäranden från registrerad person för GDPR finns det information om att visa eller ta bort personuppgifter. Mer information om GDPR finns i avsnittet GDPR i Microsoft Trust Center och GDPR-avsnittet i Service Trust-portalen.

PowerShell-cmdletar som används för att komma åt autentiseringsuppgifter

Cmdletarna i följande tabell skapar och hanterar Automation-autentiseringsuppgifter med PowerShell. De levereras som en del av Az-modulerna.

Cmdlet Description
Get-AzAutomationCredential Hämtar ett CredentialInfo-objekt som innehåller metadata om autentiseringsuppgifterna. Cmdleten PSCredential hämtar inte själva objektet.
New-AzAutomationCredential Skapar en ny Automation-autentiseringsuppgift.
Remove-AzAutomationCredential Tar bort en Automation-autentiseringsuppgift.
Set-AzAutomationCredential Anger egenskaperna för en befintlig Automation-autentiseringsuppgift.

Andra cmdletar som används för att komma åt autentiseringsuppgifter

Cmdletarna i följande tabell används för att komma åt autentiseringsuppgifter i dina runbooks och DSC-konfigurationer.

Cmdlet Description
Get-AutomationPSCredential Hämtar ett PSCredential objekt som ska användas i en runbook- eller DSC-konfiguration. Oftast bör du använda den här interna cmdleten i stället för cmdleten Get-AzAutomationCredential , eftersom den senare endast hämtar information om autentiseringsuppgifter. Den här informationen är normalt inte användbar för att skicka till en annan cmdlet.
Get-Credential Hämtar en autentiseringsuppgift med en uppmaning om användarnamn och lösenord. Den här cmdleten är en del av standardmodulen Microsoft.PowerShell.Security. Se Standardmoduler.
New-AzureAutomationCredential Skapar en tillgång för autentiseringsuppgifter. Den här cmdleten är en del av standardmodulen i Azure. Se Standardmoduler.

Om du vill hämta PSCredential objekt i koden måste du importera modulen Orchestrator.AssetManagement.Cmdlets . Mer information finns i Hantera moduler i Azure Automation.

Import-Module Orchestrator.AssetManagement.Cmdlets -ErrorAction SilentlyContinue

Kommentar

Du bör undvika att använda variabler i parametern NameGet-AutomationPSCredential. Deras användning kan komplicera identifieringen av beroenden mellan runbooks eller DSC-konfigurationer och autentiseringstillgångar vid designtillfället.

Python-funktioner som har åtkomst till autentiseringsuppgifter

Funktionen i följande tabell används för att komma åt autentiseringsuppgifter i en Python 2- och 3-runbook. Python 3-runbooks är för närvarande i förhandsversion.

Function Description
automationassets.get_automation_credential Hämtar information om en autentiseringstillgång.

Kommentar

Importera modulen automationassets överst i Python-runbooken för att få åtkomst till tillgångsfunktionerna.

Skapa en ny tillgång för autentiseringsuppgifter

Du kan skapa en ny tillgång för autentiseringsuppgifter med hjälp av Azure-portalen eller med Hjälp av Windows PowerShell.

Skapa en ny tillgång för autentiseringsuppgifter med Azure-portalen

  1. Välj Autentiseringsuppgifter under Delade resurser i det vänstra fönstret i automationskontot.

  2. På sidan Autentiseringsuppgifter väljer du Lägg till en autentiseringsuppgift.

  3. I fönstret Nya autentiseringsuppgifter anger du ett lämpligt namn på autentiseringsuppgifterna enligt namngivningsstandarderna.

  4. Skriv ditt åtkomst-ID i fältet Användarnamn .

  5. Ange din hemliga åtkomstnyckel för båda lösenordsfälten.

    Create new credential

  6. Om rutan multifaktorautentisering är markerad avmarkerar du den.

  7. Spara den nya tillgången för autentiseringsuppgifter genom att klicka på Skapa .

Kommentar

Azure Automation stöder inte användarkonton som använder multifaktorautentisering.

Skapa en ny tillgång för autentiseringsuppgifter med Windows PowerShell

I följande exempel visas hur du skapar en ny Automation-tillgång för autentiseringsuppgifter. Ett PSCredential objekt skapas först med namnet och lösenordet och används sedan för att skapa tillgången för autentiseringsuppgifter. I stället kan du använda cmdleten Get-Credential för att uppmana användaren att skriva in ett namn och lösenord.

$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

Hämta en tillgång för autentiseringsuppgifter

En runbook- eller DSC-konfiguration hämtar en autentiseringstillgång med den interna Get-AutomationPSCredential cmdleten. Den här cmdleten hämtar ett PSCredential objekt som du kan använda med en cmdlet som kräver en autentiseringsuppgift. Du kan också hämta egenskaperna för det autentiseringsobjekt som ska användas individuellt. Objektet har egenskaper för användarnamnet och det säkra lösenordet.

Kommentar

Cmdleten Get-AzAutomationCredential hämtar inte ett PSCredential objekt som kan användas för autentisering. Den innehåller bara information om autentiseringsuppgifterna. Om du behöver använda en autentiseringsuppgift i en runbook måste du hämta den som ett PSCredential objekt med hjälp av Get-AutomationPSCredential.

Du kan också använda metoden GetNetworkCredential för att hämta ett NetworkCredential-objekt som representerar en osäker version av lösenordet.

Exempel på text runbook

I följande exempel visas hur du använder en PowerShell-autentiseringsuppgift i en runbook. Den hämtar autentiseringsuppgifterna och tilldelar dess användarnamn och lösenord till variabler.

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

Du kan också använda en autentiseringsuppgift för att autentisera till Azure med Anslut-AzAccount efter att först ha anslutit med en hanterad identitet. I det här exemplet används en systemtilldelad hanterad identitet.

# 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

Exempel på grafisk runbook

Du kan lägga till en aktivitet för den interna Get-AutomationPSCredential cmdleten i en grafisk runbook genom att högerklicka på autentiseringsuppgifterna i fönstret Bibliotek i den grafiska redigeraren och välja Lägg till på arbetsytan.

Add credential cmdlet to canvas

Följande bild visar ett exempel på hur du använder en autentiseringsuppgift i en grafisk runbook. I det här fallet tillhandahåller autentiseringsuppgifterna autentisering för en runbook till Azure-resurser, enligt beskrivningen i Använda Microsoft Entra-ID i Azure Automation för att autentisera till Azure. Den första aktiviteten hämtar autentiseringsuppgifterna som har åtkomst till Azure-prenumerationen. Kontoanslutningsaktiviteten använder sedan den här autentiseringsuppgiften för att tillhandahålla autentisering för alla aktiviteter som kommer efter den. En pipelinelänk används här eftersom Get-AutomationPSCredential ett enda objekt förväntas.

Credential workflow with pipeline link example

Använda autentiseringsuppgifter i en DSC-konfiguration

DSC-konfigurationer i Azure Automation kan fungera med autentiseringstillgångar med hjälp av Get-AutomationPSCredential, men de kan också skicka autentiseringstillgångar via parametrar. Mer information finns i Kompilera konfigurationer i Azure Automation DSC.

Nästa steg