Microsoft Entra ID-kezelés feladatok automatizálása az Azure Automation és a Microsoft Graph használatával

Az Azure Automation egy Azure-felhőszolgáltatás, amely lehetővé teszi a gyakori vagy ismétlődő rendszerek felügyeletének és folyamatainak automatizálását. A Microsoft Graph a Microsoft Entra-funkciók Microsoft unified API-végpontja, amely a címtárban lévő felhasználókat, csoportokat, hozzáférési csomagokat, hozzáférési felülvizsgálatokat és egyéb erőforrásokat kezeli. A Microsoft Entra ID-t a PowerShell parancssorból, a Microsoft Graph PowerShell SDK használatával nagy méretekben kezelheti. A Microsoft Graph PowerShell-parancsmagokat egy PowerShell-alapú runbookból is hozzáadhatja az Azure Automationben, hogy a Microsoft Entra-feladatokat egy egyszerű szkriptből automatizálhassa.

Az Azure Automation és a PowerShell Graph SDK támogatja a tanúsítványalapú hitelesítést és az alkalmazásengedélyeket, így felhasználói környezet nélkül hitelesítheti az Azure Automation-runbookokat a Microsoft Entra ID-val.

Ez a cikk bemutatja, hogyan kezdheti el használni az Azure Automationt Microsoft Entra ID-kezelés egy egyszerű runbook létrehozásával, amely lekérdezi a jogosultságkezelést a Microsoft Graph PowerShell használatával.

Azure Automation-fiók létrehozása

Tipp.

A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.

Az Azure Automation egy felhőalapú környezetet biztosít a runbookok végrehajtásához. Ezek a runbookok automatikusan, ütemezés alapján indulhatnak el, vagy webhookok vagy Logic Apps által aktiválhatók.

Az Azure Automation használatához Azure-előfizetésre van szükség.

Előfeltétel-szerepkör: Azure-előfizetés vagy erőforráscsoport-tulajdonos

  1. Jelentkezzen be az Azure Portalra. Győződjön meg arról, hogy rendelkezik hozzáféréssel ahhoz az előfizetéshez vagy erőforráscsoporthoz, amelyben az Azure Automation-fiók található.

  2. Válassza ki az előfizetést vagy az erőforráscsoportot, és válassza a Létrehozás lehetőséget. Írja be az Automationt, válassza ki a Microsoft Automation Azure szolgáltatását, majd válassza a Létrehozás lehetőséget.

  3. Az Azure Automation-fiók létrehozása után válassza a Hozzáférés-vezérlés (IAM) lehetőséget. Ezután válassza a Nézet az erőforráshoz való hozzáférés megtekintése nézetben lehetőséget. Ezek a felhasználók és szolgáltatásnevek később az adott Azure Automation-fiókban létrehozandó szkripteken keresztül kezelhetik a Microsoft szolgáltatást.

  4. Tekintse át az ott felsorolt felhasználókat és szolgáltatásneveket, és győződjön meg arról, hogy engedélyezve vannak. Távolítsa el a jogosulatlan felhasználókat.

Önaláírt kulcspár és tanúsítvány létrehozása a számítógépen

Ahhoz, hogy a személyes hitelesítő adatok nélkül működjön, a létrehozott Azure Automation-fióknak hitelesítenie kell magát a Microsoft Entra-azonosítón egy tanúsítvánnyal.

Ha már rendelkezik egy kulcspárt a szolgáltatás Microsoft Entra-azonosítóra való hitelesítéséhez, és egy tanúsítványt, amelyet egy hitelesítésszolgáltatótól kapott, ugorjon a következő szakaszra.

Önaláírt tanúsítvány létrehozásához

  1. Kövesse az önaláírt tanúsítvány 2. lehetőségének létrehozására és exportálására vonatkozó utasításokat egy tanúsítvány privát kulccsal való létrehozásához és exportálásához.

  2. A tanúsítvány ujjlenyomatának megjelenítése.

     $cert | ft Thumbprint
    
  3. A fájlok exportálása után eltávolíthatja a tanúsítványt és a kulcspárt a helyi felhasználói tanúsítványtárolóból. A következő lépésekben eltávolítja a fájlokat és .crt a .pfx fájlokat is, miután a tanúsítvány és a titkos kulcs fel lett töltve az Azure Automation és a Microsoft Entra szolgáltatásokba.

A kulcspár feltöltése az Azure Automationbe

Az Azure Automation runbookja lekéri a titkos kulcsot a .pfx fájlból, és a Microsoft Graph-ban való hitelesítéshez használja.

  1. Az Azure Automation-fiók Azure Portalján válassza a Tanúsítványok és a Tanúsítvány hozzáadása lehetőséget.

  2. Töltse fel a .pfx korábban létrehozott fájlt, és írja be a fájl létrehozásakor megadott jelszót.

  3. A titkos kulcs feltöltése után jegyezze fel a tanúsítvány lejárati dátumát.

  4. Most már törölheti a fájlt a .pfx helyi számítógépről. Azonban még ne törölje a .crt fájlt, mivel a következő lépésben szüksége lesz erre a fájlra.

Modulok hozzáadása a Microsoft Graphhoz az Azure Automation-fiókhoz

Alapértelmezés szerint az Azure Automation nem rendelkezik a Microsoft Graphhoz előre betöltött PowerShell-modulokkal. Hozzá kell adnia a Microsoft.Graph.Authenticationt, majd a további modulokat a katalógusból az Automation-fiókjához.

  1. Az Azure Automation-fiók Azure Portalján válassza a Modulok lehetőséget, majd tallózással keresse meg a katalógust.

  2. A Keresősávon írja be a Microsoft.Graph.Authentication nevet. Válassza ki a modult, válassza az Importálás lehetőséget, majd az OK gombot, hogy a Microsoft Entra-azonosító elkezdje importálni a modult. Az OK gomb kiválasztása után a modul importálása több percet is igénybe vehet. Ne próbáljon további Microsoft Graph-modulokat hozzáadni, amíg a Microsoft.Graph.Authentication modul importálása be nem fejeződik, mivel a többi modul előfeltétele a Microsoft.Graph.Authentication.

  3. Térjen vissza a Modulok listához, és válassza a Frissítés lehetőséget. Miután a Microsoft.Graph.Authentication modul állapota elérhetőre változott, importálhatja a következő modult.

  4. Ha a parancsmagokat Microsoft Entra ID-kezelés funkciókhoz, például jogosultságkezeléshez használja, ismételje meg a Microsoft.Graph.Identity.Governance modul importálási folyamatát.

  5. Importáljon más modulokat, amelyeket a szkript megkövetelhet, például a Microsoft.Graph.Users parancsot. Ha például az Identity Protectiont használja, importálhatja a Microsoft.Graph.Identity.SignIns modult.

Alkalmazásregisztráció létrehozása és engedélyek hozzárendelése

Ezután létrehoz egy alkalmazásregisztrációt a Microsoft Entra ID-ban, hogy a Microsoft Entra ID felismerje az Azure Automation-runbook hitelesítéshez használt tanúsítványát.

Előfeltétel-szerepkör: Globális Rendszergazda istrator vagy más rendszergazda, aki jóváhagyhatja az alkalmazásengedélyeket

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább globális Rendszergazda istratorként.

  2. Keresse meg az >identitásalkalmazásokat>> Alkalmazásregisztrációk.

  3. Új regisztráció kiválasztása.

  4. Írja be az alkalmazás nevét, és válassza a Regisztráció lehetőséget.

  5. Az alkalmazásregisztráció létrehozása után jegyezze fel az alkalmazás (ügyfél) azonosítóját és a címtár (bérlő) azonosítóját , amint később szüksége lesz ezekre az elemekre.

  6. Válassza a Tanúsítványok és titkos kódok lehetőséget, majd töltse fel a tanúsítványt.

  7. Töltse fel a .crt korábban létrehozott fájlt.

  8. Válassza ki az API-engedélyeket , és adjon hozzá egy engedélyt.

  9. Válassza ki a Microsoft Graph - és alkalmazásengedélyeket.

  10. Válassza ki az Azure Automation-fiók által igényelt engedélyeket, majd válassza az Engedélyek hozzáadása lehetőséget.

    • Ha a runbook csak egy katalógusban végez lekérdezéseket vagy frissítéseket, akkor nem kell bérlőszintű alkalmazásengedélyeket hozzárendelnie; ehelyett hozzárendelheti a szolgáltatásnevet a katalógus katalógustulajdonosi vagy katalógusolvasói szerepköréhez.
    • Ha a runbook csak a jogosultságkezeléshez végez lekérdezéseket, használhatja a EntitlementManagement.Read.All engedélyt.
    • Ha a runbook módosítja a jogosultságkezelést, például több katalógusban szeretne hozzárendeléseket létrehozni, használja a EntitlementManagement.ReadWrite.All engedélyt.
    • Egyéb API-k esetén győződjön meg arról, hogy a szükséges engedély hozzáadva van. Az identitásvédelemhez például hozzá kell adni az IdentityRiskyUser.Read.All engedélyt.
  11. Válassza a Rendszergazdai engedélyek megadása lehetőséget az alkalmazás engedélyeinek megadásához.

Azure Automation-változók létrehozása

Ebben a lépésben az Azure Automation-fiókban három változót hoz létre, amelyeket a runbook a Microsoft Entra-azonosítóval való hitelesítés meghatározására használ.

  1. Az Azure Portalon térjen vissza az Azure Automation-fiókhoz.

  2. Válassza a Változók lehetőséget, és adja hozzá a változót.

  3. Hozzon létre egy Ujjlenyomat nevű változót. Írja be a változó értékeként a korábban létrehozott tanúsítvány ujjlenyomatát.

  4. Hozzon létre egy ClientId nevű változót. Írja be a változó értékeként a Microsoft Entra ID-ban regisztrált alkalmazás ügyfél-azonosítóját.

  5. Hozzon létre egy TenantId nevű változót. Írja be a változó értékeként annak a könyvtárnak a bérlőazonosítóját, amelyben az alkalmazást regisztrálták.

Graphot használó Azure Automation PowerShell-runbook létrehozása

Ebben a lépésben létrehoz egy kezdeti runbookot. Ezt a runbookot aktiválva ellenőrizheti, hogy a korábban létrehozott tanúsítvány sikeres-e.

  1. Válassza a Runbookok lehetőséget, és hozzon létre egy runbookot.

  2. Írja be a runbook nevét, válassza a PowerShellt a létrehozni kívánt runbook típusaként, majd válassza a Létrehozás lehetőséget.

  3. A runbook létrehozása után megjelenik egy szövegszerkesztő ablaktábla, amelyen beírhatja a runbook PowerShell-forráskódját.

  4. Írja be a következő PowerShellt a szövegszerkesztőbe.

Import-Module Microsoft.Graph.Authentication
$ClientId = Get-AutomationVariable -Name 'ClientId'
$TenantId = Get-AutomationVariable -Name 'TenantId'
$Thumbprint = Get-AutomationVariable -Name 'Thumbprint'
Connect-MgGraph -clientId $ClientId -tenantId $TenantId -certificatethumbprint $Thumbprint
  1. Válassza a Teszt panelt, és válassza a Start lehetőséget. Várjon néhány másodpercet, amíg a runbookszkript Azure Automation-feldolgozása befejeződik.

  2. Ha a runbook futtatása sikeres, megjelenik az Üdvözli a Microsoft Graph! üzenet.

Most, hogy ellenőrizte, hogy a runbook hitelesíthető-e a Microsoft Graphon, bővítse ki a runbookot parancsmagok hozzáadásával a Microsoft Entra funkcióival való interakcióhoz.

A runbook kiterjesztése a jogosultságkezelés használatára

Ha a runbook alkalmazásregisztrációja rendelkezik a EntitlementManagement.Read.All vagy a EntitlementManagement.ReadWrite.All engedélyekkel, akkor használhatja a jogosultságkezelési API-kat.

  1. Ha például le szeretné kapni a Microsoft Entra jogosultságkezelési hozzáférési csomagjainak listáját, frissítheti a fent létrehozott runbookot, és lecserélheti a szöveget a következő PowerShellre.
Import-Module Microsoft.Graph.Authentication
$ClientId = Get-AutomationVariable -Name 'ClientId'
$TenantId = Get-AutomationVariable -Name 'TenantId'
$Thumbprint = Get-AutomationVariable -Name 'Thumbprint'
$auth = Connect-MgGraph -clientId $ClientId -tenantid $TenantId -certificatethumbprint $Thumbprint
Import-Module Microsoft.Graph.Identity.Governance
$ap = @(Get-MgEntitlementManagementAccessPackage -All -ErrorAction Stop)
if ($null -eq $ap -or $ap.Count -eq 0) {
   ConvertTo-Json @()
} else {
   $ap | Select-Object -Property Id,DisplayName | ConvertTo-Json -AsArray
}
  1. Válassza a Teszt panelt, és válassza a Start lehetőséget. Várjon néhány másodpercet, amíg a runbookszkript Azure Automation-feldolgozása befejeződik.

  2. Ha a futtatás sikeres volt, az üdvözlő üzenet helyett a kimenet egy JSON-tömb lesz. A JSON-tömb tartalmazza a lekérdezésből visszaadott egyes hozzáférési csomagok azonosítóját és megjelenítendő nevét.

Paraméterek megadása a runbookhoz (nem kötelező)

Bemeneti paramétereket is hozzáadhat a runbookhoz, ha hozzáad egy szakaszt Param a PowerShell-szkript tetején. Például:

Param
(
    [String] $AccessPackageAssignmentId
)

Az engedélyezett paraméterek formátuma a hívószolgáltatástól függ. Ha a runbook paramétereket vesz fel a hívótól, akkor érvényesítési logikát kell hozzáadnia a runbookhoz, hogy a megadott paraméterértékek megfelelőek legyenek a runbook indításához. Ha például a runbookot egy webhook indítja el, az Azure Automation nem végez hitelesítést webhook-kérelmeken, amíg a megfelelő URL-címre lett adva, ezért másik eszközre van szüksége a kérés érvényesítéséhez.

Miután konfigurálta a runbook bemeneti paramétereit, a runbook tesztelésekor a Teszt lapon adhat meg értékeket. Később, a runbook közzétételekor paramétereket adhat meg a runbook PowerShellből, a REST API-ból vagy egy logikai alkalmazásból való indításakor.

Azure Automation-fiók kimenetének elemzése a Logic Appsben (nem kötelező)

A runbook közzététele után létrehozhat egy ütemezést az Azure Automationben, és összekapcsolhatja a runbookot az ütemezéssel, hogy automatikusan fusson. Az Azure Automationből származó runbookok ütemezése olyan runbookokhoz használható, amelyek nem igényelnek interakciót más Olyan Azure- vagy Office 365-szolgáltatásokkal, amelyek nem rendelkeznek PowerShell-felülettel.

Ha egy másik szolgáltatásnak szeretné elküldeni a runbook kimenetét, érdemes lehet megfontolni az Azure Logic Apps használatát az Azure Automation-runbook elindításához, mivel a Logic Apps is elemezheti az eredményeket.

  1. Az Azure Logic Appsben hozzon létre egy logikai alkalmazást a Logic Apps Tervező ismétlődéssel kezdődően.

  2. Adja hozzá a Create (Létrehozás) műveletet az Azure Automationből. Hitelesítés a Microsoft Entra-azonosítón, és válassza ki a korábban létrehozott előfizetést, erőforráscsoportot és Automation-fiókot. Válassza a Várakozás a feladatra lehetőséget.

  3. Adja hozzá a Runbook paraméter nevét , és írja be az elindítandó runbook nevét. Ha a runbook bemeneti paraméterekkel rendelkezik, megadhatja nekik az értékeket.

  4. Válassza az Új lépés lehetőséget, és adja hozzá a Feladat kimenetének lekérése műveletet. Válassza ki ugyanazt az előfizetést, erőforráscsoportot, Automation-fiókot, mint az előző lépésben, és válassza ki a feladatazonosító dinamikus értékét az előző lépésben.

  5. Ezután további műveleteket is hozzáadhat a logikai alkalmazáshoz, például a runbook befejezésekor visszaadott tartalmat használó JSON-elemzési műveletet. (Ha automatikusan létrehozza a Elemezze a JSON-sémát egy hasznos adatmintából, ügyeljen arra, hogy a PowerShell-szkript esetleg null értéket adjon vissza. Előfordulhat, hogy módosítania kell néhányat "type": [​"string",​ "null"​] a "type": ​"string" sémában.)

Az Azure Automationben a PowerShell-runbookok végrehajtása sikertelen lehet, ha egyszerre nagy mennyiségű adatot próbál meg írni a kimeneti streambe. Ezt a problémát általában úgy oldhatja meg, hogy a runbook kimenete csak a logikai alkalmazás által igényelt információ, például a parancsmag használatával kizárja a Select-Object -Property szükségtelen tulajdonságokat.

A tanúsítvány naprakészen tartásának megtervezése

Ha a fenti lépéseket követve létrehozott egy önaláírt tanúsítványt a hitelesítéshez, ne feledje, hogy a tanúsítvány élettartama korlátozott, mielőtt lejár. Újra kell létrehoznia a tanúsítványt, és fel kell töltenie az új tanúsítványt a lejárati dátum előtt.

Két helyen láthatja a lejárati dátumot az Azure Portalon.

  • Az Azure Automation Tanúsítványok képernyőjén megjelenik a tanúsítvány lejárati dátuma.
  • A Microsoft Entra ID-ban az alkalmazásregisztráción a Tanúsítványok > titkos kódok képernyőn megjelenik az Azure Automation-fiókhoz használt tanúsítvány lejárati dátuma.

Következő lépések