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
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ó.
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.
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.
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
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.
A tanúsítvány ujjlenyomatának megjelenítése.
$cert | ft Thumbprint
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.
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.
Töltse fel a
.pfx
korábban létrehozott fájlt, és írja be a fájl létrehozásakor megadott jelszót.A titkos kulcs feltöltése után jegyezze fel a tanúsítvány lejárati dátumát.
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.
Az Azure Automation-fiók Azure Portalján válassza a Modulok lehetőséget, majd tallózással keresse meg a katalógust.
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.
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.
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.
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
Jelentkezzen be a Microsoft Entra felügyeleti központba legalább globális Rendszergazda istratorként.
Keresse meg az >identitásalkalmazásokat>> Alkalmazásregisztrációk.
Új regisztráció kiválasztása.
Írja be az alkalmazás nevét, és válassza a Regisztráció lehetőséget.
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.
Válassza a Tanúsítványok és titkos kódok lehetőséget, majd töltse fel a tanúsítványt.
Töltse fel a
.crt
korábban létrehozott fájlt.Válassza ki az API-engedélyeket , és adjon hozzá egy engedélyt.
Válassza ki a Microsoft Graph - és alkalmazásengedélyeket.
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.
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.
Az Azure Portalon térjen vissza az Azure Automation-fiókhoz.
Válassza a Változók lehetőséget, és adja hozzá a változót.
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.
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.
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.
Válassza a Runbookok lehetőséget, és hozzon létre egy runbookot.
Í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.
A runbook létrehozása után megjelenik egy szövegszerkesztő ablaktábla, amelyen beírhatja a runbook PowerShell-forráskódját.
Í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
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.
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.
- 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
}
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.
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.
Az Azure Logic Appsben hozzon létre egy logikai alkalmazást a Logic Apps Tervező ismétlődéssel kezdődően.
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.
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.
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.
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.