hantera autentiseringsuppgifter i Azure Automation

En Automation-autentiseringstillgång 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.

Anteckning

Säkra tillgångar i Azure 自動化 innehåller autentiseringsuppgifter, certifikat, anslutningar och krypterade variabler. Dessa tillgångar krypteras och lagras i Azure 自動化 med hjälp av en unik nyckel som genereras för varje Automation-konto. Azure 自動化 lagrar nyckeln i den systemhanterade 密钥保管库. Innan du lagrar en säker tillgång läser Automation in nyckeln från 密钥保管库 och använder den sedan för att kryptera tillgången.

Anteckning

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 avsnittet Microsoft Trust Center och GDPR 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 Beskrivning
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 Beskrivning
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 bara 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 standard Microsoft. PowerShell.Security-modul. Se Standardmoduler.
New-AzureAutomationCredential Skapar en tillgång för autentiseringsuppgifter. Den här cmdleten är en del av azure-standardmodulen. 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 自動化.

Import-Module Orchestrator.AssetManagement.Cmdlets -ErrorAction SilentlyContinue

Anteckning

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.

Funktion Beskrivning
automationassets.get_automation_credential Hämtar information om en autentiseringstillgång.

Anteckning

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-Portal eller med hjälp av Windows PowerShell.

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

  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 Ny autentiseringsuppgift 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.

    Skapa nya autentiseringsuppgifter

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

  7. Klicka på Skapa för att spara den nya tillgången för autentiseringsuppgifter.

Anteckning

Azure 自動化 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-autentiseringstillgång. Ett PSCredential objekt skapas först med namnet och lösenordet och används sedan för att skapa autentiseringsuppgiftstillgången. 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.

Anteckning

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 .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 Connect-AzAccount när du först har 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

Grafiskt runbook-exempel

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.

Lägga till cmdlet för autentiseringsuppgifter i arbetsytan

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 Azure AD i Azure 自動化 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.

Exempel på arbetsflöde för autentiseringsuppgifter med pipelinelänk

Använda autentiseringsuppgifter i en DSC-konfiguration

DSC-konfigurationer i Azure 自動化 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 自動化 DSC.

Nästa steg