Megosztás a következőn keresztül:


Microsoft Entra ID használata az Azure-hitelesítéshez

A Microsoft Entra ID szolgáltatás számos felügyeleti feladatot tesz lehetővé, például a felhasználókezelést, a tartománykezelést és az egyszeri bejelentkezés konfigurálását. Ez a cikk azt ismerteti, hogyan használhatja a Microsoft Entra ID-t az Azure Automationben az Azure-beli hitelesítés szolgáltatójaként.

Microsoft Entra-modulok telepítése

A Microsoft Entra-azonosítót a következő PowerShell-modulokon keresztül engedélyezheti:

  • Azure Active Directory PowerShell for Graph (AzureRM és Az modulok). Az Azure Automation az AzureRM modullal és annak legutóbbi frissítésével, az Az modullal rendelkezik. A funkciók közé tartozik az Azure-ba irányuló nem interaktív hitelesítés a Microsoft Entra-felhasználó (OrgId) hitelesítő adatokon alapuló hitelesítésének használatával. Lásd: Microsoft Entra ID 2.0.2.76.

  • Microsoft Entra ID for Windows PowerShell (MSOnline modul). Ez a modul lehetővé teszi a Microsoft Online-nal való interakciót, beleértve a Microsoft 365-öt is.

Feljegyzés

A PowerShell Core nem támogatja az MSOnline modult. A modulparancsmagok használatához a Windows PowerShellből kell futtatnia őket. Javasoljuk, hogy az MSOnline modul helyett az újabb Azure Active Directory PowerShell for Graph-modulokat használja.

Feljegyzés

Az Azure AD- és MSOnline PowerShell-modulok 2024. március 30-ától elavultak. További információkért olvassa el az elavulás frissítését. Ezen dátum után ezeknek a moduloknak a támogatása a Microsoft Graph PowerShell SDK-ra való migrálásra és a biztonsági javításokra korlátozódik. Az elavult modulok 2025. március 30-ától működnek tovább.

Javasoljuk, hogy migráljon a Microsoft Graph PowerShellbe a Microsoft Entra ID (korábbi nevén Azure AD) használatához. Gyakori migrálási kérdésekért tekintse meg a migrálással kapcsolatos gyakori kérdéseket. Megjegyzés: Az MSOnline 1.0.x verziói 2024. június 30. után fennakadást tapasztalhatnak.

Előtelepítés

Mielőtt telepíti a Microsoft Entra-modulokat a számítógépre:

  • Távolítsa el az AzureRM/Az modul és az MSOnline modul korábbi verzióit.

  • Távolítsa el a Microsoft Online Services bejelentkezési segédet az új PowerShell-modulok megfelelő működéséhez.

Az AzureRM és az Az modulok telepítése

Feljegyzés

A modulok használatához a PowerShell 5.1-es vagy újabb verzióját kell használnia a Windows 64 bites verziójával.

  1. Telepítse a Windows Management Framework (WMF) 5.1-et. Lásd: A WMF 5.1 telepítése és konfigurálása.

  2. Telepítse az AzureRM-et és/vagy az Az-t az Azure PowerShell windowsos telepítése a PowerShellGet használatával.

Az MSOnline modul telepítése

Feljegyzés

Az MSOnline modul telepítéséhez rendszergazdai szerepkör tagjának kell lennie. Lásd a rendszergazdai szerepkörökről szóló témakört.

  1. Győződjön meg arról, hogy a Microsoft .NET-keretrendszer 3.5.x funkció engedélyezve van a számítógépen. Valószínű, hogy a számítógép újabb verzióval rendelkezik, de a .NET-keretrendszer régebbi verzióival való visszamenőleges kompatibilitás engedélyezhető vagy letiltható.

  2. Telepítse a Microsoft Online Services bejelentkezési segéd 64 bites verzióját.

  3. Rendszergazdaként futtassa a Windows PowerShellt egy emelt szintű Windows PowerShell-parancssor létrehozásához.

  4. Telepítse a Microsoft Entra-azonosítót az MSOnline 1.0-ról.

  5. Ha a rendszer felkéri a NuGet-szolgáltató telepítésére, írja be az Y kifejezést, és nyomja le az ENTER billentyűt.

  6. Ha a rendszer kéri, hogy telepítse a modult a PSGalleryből, írja be az Y kifejezést, és nyomja le az ENTER billentyűt.

A PSCredential támogatásának telepítése

Az Azure Automation a PSCredential osztályt használja egy hitelesítő adategység ábrázolására. A szkriptek a parancsmag használatával kérik le PSCredential az Get-AutomationPSCredential objektumokat. További információ: Hitelesítő adatok az Azure Automationben.

Előfizetés-adminisztrátor hozzárendelése

Hozzá kell rendelnie egy rendszergazdát az Azure-előfizetéshez. Ez a személy tulajdonosi szerepkörrel rendelkezik az előfizetés hatókörében. Lásd: Szerepköralapú hozzáférés-vezérlés az Azure Automationben.

A Microsoft Entra-felhasználó jelszavának módosítása

A Microsoft Entra-felhasználó jelszavának módosítása:

  1. Jelentkezzen ki az Azure-ból.

  2. Kérje meg a rendszergazdat, hogy jelentkezzen be az Azure-ba az imént létrehozott Microsoft Entra-felhasználóként a teljes felhasználónévvel (a tartományt is beleértve) és egy ideiglenes jelszóval.

  3. Kérje meg a rendszergazdát, hogy módosítsa a jelszót, amikor a rendszer kéri.

Az Azure Automation konfigurálása az Azure-előfizetés kezeléséhez

Ahhoz, hogy az Azure Automation kommunikáljon a Microsoft Entra-azonosítóval, le kell kérnie az Azure-kapcsolathoz és a Microsoft Entra-azonosítóhoz társított hitelesítő adatokat. Ilyen hitelesítő adatok például a bérlőazonosító, az előfizetés azonosítója és hasonlók. Az Azure és a Microsoft Entra ID közötti kapcsolatról további információt a Szervezet csatlakoztatása a Microsoft Entra-azonosítóhoz című témakörben talál.

Hitelesítő adategység létrehozása

A Microsoft Entra azure-beli hitelesítő adatainak rendelkezésre állásával ideje létrehozni egy Azure Automation hitelesítőadat-objektumot a Microsoft Entra hitelesítő adatainak biztonságos tárolásához, hogy a runbookok és a Desire State Configuration (DSC) szkriptek hozzáférhessenek hozzájuk. Ezt az Azure Portal vagy a PowerShell-parancsmagok használatával teheti meg.

A hitelesítő adategység létrehozása az Azure Portalon

A hitelesítő adategységet az Azure Portal használatával hozhatja létre. Végezze el ezt a műveletet az Automation-fiókjából a Megosztott erőforrások területen lévő hitelesítő adatok használatával. Tekintse meg a hitelesítő adatokat az Azure Automationben.

A hitelesítő adategység létrehozása a Windows PowerShell használatával

Ha új hitelesítőadat-objektumot szeretne előkészíteni a Windows PowerShellben, a szkript először létrehoz egy PSCredential objektumot a hozzárendelt felhasználónévvel és jelszóval. A szkript ezután ezzel az objektummal hozza létre az objektumot a New-AzureAutomationCredential parancsmag hívásán keresztül. Másik lehetőségként a szkript meghívhatja a Get-Credential parancsmagot, hogy kérje meg a felhasználót, hogy írjon be egy nevet és jelszót. Tekintse meg a hitelesítő adatokat az Azure Automationben.

Azure-erőforrások kezelése Azure Automation-runbookból

Azure-erőforrásokat az Azure Automation-runbookokból a hitelesítő adategység használatával kezelhet. Az alábbiakban egy példa PowerShell-runbookot láthat, amely összegyűjti a virtuális gépek Azure-előfizetésben való leállításához és elindításához használandó hitelesítőadat-objektumot. Ez a runbook először az Azure-beli hitelesítéshez használt hitelesítő adatokat kéri Get-AutomationPSCredential le. Ezután meghívja a Connect-AzAccount parancsmagot az Azure-hoz való csatlakozáshoz a hitelesítő adatok használatával.

Workflow Workflow
{ 
    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
        } 
    } 
}

Következő lépések