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 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.
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
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 Ny autentiseringsuppgift 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.
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.
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.
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
- Mer information om cmdletar som används för att komma åt certifikat finns i Hantera moduler i Azure 自動化.
- Allmän information om runbooks finns i Runbook-körning i Azure 自動化.
- Mer information om DSC-konfigurationer finns i Azure 自動化 State Configuration översikt.