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
Information om hur du visar eller tar bort personliga data finns i Allmänna begäranden från datasubjekt för GDPR, Azure-datasubjektbegäranden för GDPR eller Begäranden från Windows-datasubjekt för GDPR, beroende på ditt specifika område och behov. 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 | 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 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 Name
Get-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 | beskrivning |
---|---|
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 Portal eller med Hjälp av Windows PowerShell.
Skapa en ny tillgång för autentiseringsuppgifter med Azure Portal
Välj Autentiseringsuppgifter under Delade resurser i det vänstra fönstret i automationskontot.
På sidan Autentiseringsuppgifter väljer du Lägg till en autentiseringsuppgift.
I fönstret Nya autentiseringsuppgifter anger du ett lämpligt namn på autentiseringsuppgifterna enligt namngivningsstandarderna.
Skriv ditt åtkomst-ID i fältet Användarnamn .
Ange din hemliga åtkomstnyckel för båda lösenordsfälten.
Om rutan multifaktorautentisering är markerad avmarkerar du den.
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 Connect-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.
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.
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
- Mer information om de cmdletar som används för att komma åt certifikat finns i Hantera moduler i Azure Automation.
- Allmän information om runbooks finns i Runbook-körning i Azure Automation.
- Mer information om DSC-konfigurationer finns i Översikt över Azure Automation State Configuration.