Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Microsoft Entra ID-tjänsten möjliggör ett antal administrativa uppgifter, till exempel användarhantering, domänhantering och konfiguration av enkel inloggning. Den här artikeln beskriver hur du använder Microsoft Entra-ID i Azure Automation som leverantör för autentisering till Azure.
Installera Microsoft Entra-moduler
Du kan aktivera Microsoft Entra-ID via följande PowerShell-moduler:
Azure Active Directory PowerShell för Graph. Azure Automation levereras med Az-modulen. Funktioner omfattar icke-interaktiv autentisering till Azure med autentiseringsbaserad autentisering baserad på Microsoft Entra-användare (OrgId). Se Azure AD 2.0.2.182.
Microsoft Entra-ID för Windows PowerShell. Den här modulen möjliggör interaktioner med Microsoft Online, inklusive Microsoft 365.
Installera stöd för PSCredential
Azure Automation uses the PSCredential class to represent a credential asset. Skripten hämtar PSCredential objekt med hjälp av cmdleten Get-AutomationPSCredential . Mer information finns i Autentiseringstillgångar i Azure Automation.
Tilldela en prenumerationsadministratör
Du måste tilldela en administratör för Azure-prenumerationen. Den här personen har rollen Ägare för prenumerationsomfånget. Läs mer i Rollbaserad åtkomstkontroll i Azure Automation.
Ändra Microsoft Entra-användarens lösenord
Så här ändrar du Microsoft Entra-användarens lösenord:
Logga ut från Azure.
Låt administratören logga in på Azure som Microsoft Entra-användaren nyss skapade med det fullständiga användarnamnet (inklusive domänen) och ett tillfälligt lösenord.
Be administratören att ändra lösenordet när du uppmanas att göra det.
Konfigurera Azure Automation för att hantera Azure-prenumerationen
För att Azure Automation ska kunna kommunicera med Microsoft Entra-ID måste du hämta de autentiseringsuppgifter som är associerade med Azure-anslutningen till Microsoft Entra-ID:t. Exempel på dessa autentiseringsuppgifter är klientorganisations-ID, prenumerations-ID och liknande. Mer information om anslutningen mellan Azure och Microsoft Entra-ID finns i Ansluta din organisation till Microsoft Entra-ID.
Skapa en tillgång för autentiseringsuppgifter
Med Azure-autentiseringsuppgifterna för Microsoft Entra tillgängliga är det dags att skapa en Azure Automation-autentiseringstillgång för att lagra Microsoft Entra-autentiseringsuppgifterna på ett säkert sätt så att runbooks och DSC-skript (Desire State Configuration) kan komma åt dem. Du kan göra detta med antingen cmdletarna Azure Portal eller PowerShell.
Skapa autentiseringstillgången i Azure Portal
Du kan använda Azure Portal för att skapa autentiseringstillgången. Do this operation from your Automation account using Credentials under Shared Resources. Se Autentiseringstillgångar i Azure Automation.
Skapa autentiseringstillgången med Windows PowerShell
För att förbereda en ny tillgång för autentiseringsuppgifter i Windows PowerShell skapar skriptet först ett PSCredential objekt med det tilldelade användarnamnet och lösenordet. The script then uses this object to create the asset through a call to the New-AzureAutomationCredential cmdlet. Alternatively, the script can call the Get-Credential cmdlet to prompt the user to type in a name and password. Se Autentiseringstillgångar i Azure Automation.
Hantera Azure-resurser från en Azure Automation-runbook
Du kan hantera Azure-resurser från Azure Automation-runbooks med hjälp av autentiseringstillgången. Nedan visas ett exempel på en PowerShell-runbook som samlar in den autentiseringstillgång som ska användas för att stoppa och starta virtuella datorer i en Azure-prenumeration. Den här runbooken använder Get-AutomationPSCredential först för att hämta autentiseringsuppgifterna som ska användas för att autentisera till Azure. It then calls the Connect-AzAccount cmdlet to connect to Azure using the credential.
Workflow Workflowname
{
Param
(
[Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()]
[String]
$AzureSubscriptionId,
[Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()]
[String]
$AzureVMList="All",
[Parameter(Mandatory=$true)][ValidateSet("Start","Stop")]
[String]
$Action
)
# 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
$credential = Get-AutomationPSCredential -Name "AzureCredential"
# Connect to Azure with credential
$AzureContext = (Connect-AzAccount -Credential $credential -TenantId $AzureContext.Subscription.TenantId).context
# set and store context
$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription `
-TenantId $AzureContext.Subscription.TenantId `
-DefaultProfile $AzureContext
if($AzureVMList -ne "All")
{
$AzureVMs = $AzureVMList.Split(",")
[System.Collections.ArrayList]$AzureVMsToHandle = $AzureVMs
}
else
{
$AzureVMs = (Get-AzVM -DefaultProfile $AzureContext).Name
[System.Collections.ArrayList]$AzureVMsToHandle = $AzureVMs
}
foreach($AzureVM in $AzureVMsToHandle)
{
if(!(Get-AzVM -DefaultProfile $AzureContext | ? {$_.Name -eq $AzureVM}))
{
throw " AzureVM : [$AzureVM] - Does not exist! - Check your inputs "
}
}
if($Action -eq "Stop")
{
Write-Output "Stopping VMs";
foreach -parallel ($AzureVM in $AzureVMsToHandle)
{
Get-AzVM -DefaultProfile $AzureContext | ? {$_.Name -eq $AzureVM} | Stop-AzVM -DefaultProfile $AzureContext -Force
}
}
else
{
Write-Output "Starting VMs";
foreach -parallel ($AzureVM in $AzureVMsToHandle)
{
Get-AzVM -DefaultProfile $AzureContext | ? {$_.Name -eq $AzureVM} | Start-AzVM -DefaultProfile $AzureContext
}
}
}
Använda Microsoft Graph med PowerShell
Se Komma igång med Microsoft Graph PowerShell SDK
Next steps
- Mer information om användning av autentiseringsuppgifter finns i Hantera autentiseringsuppgifter i Azure Automation.
- Information om moduler finns i Hantera moduler i Azure Automation.
- Om du behöver starta en runbook läser du Starta en runbook i Azure Automation.
- For PowerShell details, see PowerShell Docs.