Sdílet prostřednictvím


Ověření v Azure pomocí Microsoft Entra ID

Služba Microsoft Entra ID umožňuje řadu úloh správy, jako je správa uživatelů, správa domén a konfigurace jednotného přihlašování. Tento článek popisuje, jak používat ID Microsoft Entra ve službě Azure Automation jako zprostředkovatele pro ověřování do Azure.

Instalace modulů Microsoft Entra

Id Microsoft Entra můžete povolit pomocí následujících modulů PowerShellu:

  • Azure Active Directory PowerShell pro Graph Azure Automation se dodává s modulem Az. Funkce zahrnují neinteraktivní ověřování do Azure pomocí ověřování na základě přihlašovacích údajů uživatele Microsoft Entra (OrgId). Viz Azure AD 2.0.2.182.

  • Microsoft Entra ID pro Windows PowerShell. Tento modul umožňuje interakce s Microsoft Online, včetně Microsoftu 365.

Instalace podpory pro PSCredential

Azure Automation uses the PSCredential class to represent a credential asset. Skripty načítají PSCredential objekty pomocí rutiny Get-AutomationPSCredential . Další informace najdete v Prostředcích přihlašovacích údajů ve službě Azure Automation.

Přiřazení správce předplatného

Musíte přiřadit správce předplatného Azure. Tato osoba má roli Vlastník oboru předplatného. Viz Řízení přístupu na základě role ve službě Azure Automation.

Změna hesla uživatele Microsoft Entra

Změna hesla uživatele Microsoft Entra:

  1. Odhlaste se z Azure.

  2. Požádejte správce, aby se přihlásil k Azure jako uživatel Microsoft Entra, který právě vytvořil, pomocí úplného uživatelského jména (včetně domény) a dočasného hesla.

  3. Požádejte správce, aby po zobrazení výzvy změnil heslo.

Konfigurace služby Azure Automation pro správu předplatného Azure

Aby služba Azure Automation komunikovala s Microsoft Entra ID, je nutné získat přihlašovací údaje přidružené k připojení Azure k Microsoft Entra ID. Příklady těchto přihlašovacích údajů jsou ID tenanta, ID předplatného a podobně. Další informace o propojení mezi Azure a ID Microsoft Entra najdete v tématu Připojení vaší organizace k Microsoft Entra ID.

Vytvořit objekt pro přihlašovací údaje

S dostupnými přihlašovacími údaji Azure pro Microsoft Entra je čas vytvořit prostředek přihlašovacích údajů služby Azure Automation pro bezpečné uložení přihlašovacích údajů Microsoft Entra, aby k nim mohly přistupovat runbooky a skripty DSC (Desire State Configuration). Můžete to provést pomocí webu Azure Portal nebo rutin PowerShellu.

Vytvoření prostředku přihlašovacích údajů na webu Azure Portal

K vytvoření prostředku přihlašovacích údajů můžete použít portál Azure. Do this operation from your Automation account using Credentials under Shared Resources. Podívejte se na prostředky přihlašovacích údajů ve službě Azure Automation.

Vytvoření objektu přihlašovacích údajů s Windows PowerShellem

Pokud chcete ve Windows PowerShellu připravit nový asset přihlašovacích údajů, skript nejprve vytvoří PSCredential objekt pomocí přiřazeného uživatelského jména a hesla. 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. Podívejte se na prostředky přihlašovacích údajů ve službě Azure Automation.

Správa prostředků Azure z runbooku Azure Automation

Pomocí položky přihlašovacích údajů můžete spravovat prostředky Azure z runbooků Azure Automation. Níže je příklad runbooku PowerShellu, který shromažďuje prostředek přihlašovacích údajů, který se použije k zastavení a spuštění virtuálních počítačů v předplatném Azure. Tento runbook nejprve používá Get-AutomationPSCredential k načtení přihlašovacích údajů, které se mají použít k ověření v 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
        } 
    } 
}

Použití Microsoft Graphu s PowerShellem

Viz Začínáme s prací se sadou Microsoft Graph PowerShell SDK

Next steps