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.
Anteckning
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.
Anteckning
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.
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. |
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
Anteckning
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.
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. |
Anteckning
Importera modulen automationassets
överst i Python-runbooken för att få åtkomst till tillgångsfunktionerna.
Du kan skapa en ny tillgång för autentiseringsuppgifter med hjälp av Azure Portal eller med Hjälp av Windows PowerShell.
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 .
Anteckning
Azure Automation stöder inte användarkonton som använder multifaktorautentisering.
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
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 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.
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
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.
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.
- 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.