Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk azt ismerteti, hogyan védheti meg az eseménykézbesítést az Azure Event Gridből (esemény-előfizetésekből) a webhook végpontjaira a Microsoft Entra ID-hitelesítéssel. Megtudhatja, hogyan konfigurálhatja a Microsoft Entra-alkalmazásokat, és hogyan rendelheti hozzá a megfelelő szerepköröket az Event Grid és a webhookok közötti hitelesített kapcsolatok létrehozásához. A cikk az Azure Portalt használja a bemutatóhoz. A funkciót azonban parancssori felülettel, PowerShell-lel vagy SDK-kkal is engedélyezheti.
Fontos
A biztonsági rések kezelése érdekében a Microsoft 2021. március 30-án bevezette az esemény-előfizetések létrehozásának vagy frissítésének részeként egy extra hozzáférés-ellenőrzést. Az előfizető ügyfél szolgáltatási jogosultságának tulajdonosának kell lennie, vagy szerepkörrel kell rendelkeznie a célalkalmazás szolgáltatási jogosultságán. Konfigurálja újra a Microsoft Entra-alkalmazást a jelen cikkben szereplő új utasítások követésével. A Microsoft Entra-alkalmazások és szolgáltatásnevek áttekintését a Microsoft Identitásplatform (2.0-s verzió) áttekintésében tekintheti meg.
Forgatókönyvek
Ez a cikk részletesen ismerteti a következő két forgatókönyv implementálását:
Események továbbítása egy olyan webhookba, amely ugyanabban a Microsoft Entra-bérlőben található, mint az esemény-előfizetés. Ebben a forgatókönyvben egy Microsoft Entra-felhasználót vagy egy Microsoft Entra-alkalmazást használhat esemény-előfizetés-íróként.
Események továbbítása egy olyan webhookba, amely egy az esemény-előfizetéstől eltérő Microsoft Entra-bérlőben található. Ebben a forgatókönyvben csak Microsoft Entra-alkalmazásokat használhat esemény-előfizetés-íróként.
Az első forgatókönyvben az összes lépést vagy szkriptet egy bérlőben futtatja, amely rendelkezik mind az esemény-előfizetéssel, mind a webhookkal. A második forgatókönyvben néhány lépést futtatsz az esemény-előfizetéssel rendelkező bérlőben, és néhány lépést a webhookot tartalmazó bérlőben.
Események továbbítása egy webhookba ugyanabban a Microsoft Entra-bérlőben
Az alábbi ábra azt mutatja be, hogy az Event Grid hogyan kézbesíti az eseményeket az esemény-előfizetéssel azonos bérlőben lévő webhooknak.
Ez a szakasz két alszakaszból áll. Olvassa el mindkét forgatókönyvet, vagy az Önt érdeklő forgatókönyvet.
- Az esemény-előfizetés konfigurálása Microsoft Entra ID-felhasználóval
- Az esemény-előfizetés konfigurálása Microsoft Entra ID-alkalmazással
Az esemény-előfizetés konfigurálása Microsoft Entra-felhasználóval
Ez a szakasz bemutatja, hogyan konfigurálhatja az esemény-előfizetést Egy Microsoft Entra-felhasználó használatával.
Hozzon létre egy Microsoft Entra-alkalmazást a webhook számára, amely úgy van konfigurálva, hogy működjön a Microsoft Entrával (egyetlen bérlő).
Nyissa meg az Azure Shellt a bérlőben, és válassza ki a PowerShell-környezetet.
Módosítsa a $webhookAadTenantId értékét a bérlőhöz való csatlakozáshoz.
- Változók:
- $webhookAadTenantId: Azure-bérlő azonosítója
$webhookAadTenantId = "[REPLACE_WITH_YOUR_TENANT_ID]" Connect-MgGraph -TenantId $webhookAadTenantId -Scopes "Application.ReadWrite.All, AppRoleAssignment.ReadWrite.All"- Változók:
Nyissa meg a következő szkriptet, és frissítse a $webhookAppObjectId és $eventSubscriptionWriterUserPrincipalName értékeit az azonosítókkal, majd futtassa a szkriptet.
- Változók:
- $webhookAppObjectId: A webhookhoz létrehozott Microsoft Entra alkalmazásazonosító
- $eventSubscriptionWriterUserPrincipalName: Az esemény-előfizetést létrehozó felhasználó Azure-beli egyszerű neve
Feljegyzés
Nem kell módosítania a $eventGridAppId értékét. Ebben a szkriptben az AzureEventGridSecureWebhookSubscriber be van állítva a $eventGridRoleName. Ne feledje, hogy a szkript végrehajtásához a Microsoft Entra alkalmazásadminisztrátori szerepkör tagjának kell lennie, vagy a Microsoft Entra ID-ban a webhook alkalmazás szolgáltatásnév tulajdonosának kell lennie.
Ha a következő hibaüzenet jelenik meg, fel kell emelnie a szolgáltatásnévre. 2021. március 30-án az esemény-előfizetés létrehozása vagy frissítése részeként további hozzáférés-ellenőrzést vezetünk be egy biztonsági rés elhárításához. Az előfizető ügyfél szolgáltatási főfelhasználójának vagy tulajdonosként kell szerepelnie, vagy rendelkeznie kell egy szerepkörrel a célalkalmazás szolgáltatási főfelhasználójához.
New-MgServicePrincipalAppRoleAssignment: Error occurred while executing NewServicePrincipalAppRoleAssignment Code: Authorization_RequestDenied Message: Insufficient privileges to complete the operation.- Változók:
A portálon esemény-előfizetés létrehozásakor kövesse az alábbi lépéseket:
Válassza ki a végponttípust webhookként.
Adja meg a végpont URI-címét.
Válassza a További funkciók lapot az Esemény-előfizetések létrehozása lap tetején.
A További funkciók lapon hajtsa végre az alábbi lépéseket:
Válassza a Microsoft Entra-hitelesítés használata lehetőséget, és konfigurálja a bérlőazonosítót és az alkalmazásazonosítót:
Másolja ki a Microsoft Entra bérlőazonosítóját a szkript kimenetéből, és írja be a Microsoft Entra bérlőazonosító mezőjébe.
Másolja ki a Microsoft Entra alkalmazásazonosítót a szkript kimenetéből, és írja be a Microsoft Entra alkalmazásazonosító mezőjébe. Az alkalmazásazonosító használata helyett használhatja a Microsoft Entra alkalmazásazonosító URI-t. Az alkalmazásazonosító URI-jával kapcsolatos további információkért tekintse meg ezt a cikket.
Az esemény-előfizetés konfigurálása Microsoft Entra-alkalmazással
Ez a szakasz bemutatja, hogyan konfigurálhatja az esemény-előfizetést Egy Microsoft Entra-alkalmazás használatával.
Hozzon létre egy Microsoft Entra-alkalmazást az Event Grid-előfizetés-íróhoz, amely konfigurálva van a Microsoft Entra (egyetlen bérlő) használatára.
Hozzon létre egy titkos kulcsot a Microsoft Entra alkalmazáshoz, és mentse az értéket (később szüksége lesz erre az értékre).
Nyissa meg az Event Grid-témakör Hozzáférés-vezérlés (IAM) lapját, és rendelje hozzá az Event Grid-közreműködői szerepkört az Event Grid-előfizetés-író alkalmazáshoz. Ezzel a lépéssel hozzáférhet az Event Grid-erőforráshoz, amikor az Azure-ba bejelentkezett a Microsoft Entra alkalmazással az Azure CLI használatával.
Hozzon létre egy Microsoft Entra-alkalmazást a webhook számára, amely úgy van konfigurálva, hogy működjön a Microsoft Entrával (egyetlen bérlő).
Nyissa meg az Azure Shellt a bérlőben, és válassza ki a PowerShell-környezetet.
Módosítsa a $webhookAadTenantId értékét a bérlőhöz való csatlakozáshoz.
- Változók:
- $webhookAadTenantId: Azure-bérlő azonosítója
$webhookAadTenantId = "[REPLACE_WITH_YOUR_TENANT_ID]" Connect-MgGraph -TenantId $webhookAadTenantId -Scopes "Application.ReadWrite.All, AppRoleAssignment.ReadWrite.All"- Változók:
Nyissa meg a következő szkriptet, és frissítse a $webhookAppObjectId és $eventSubscriptionWriterAppId értékeit az azonosítókkal, majd futtassa a szkriptet.
- Változók:
- $webhookAppObjectId: A webhookhoz létrehozott Microsoft Entra alkalmazásazonosító
- $eventSubscriptionWriterAppId: Microsoft Entra alkalmazásazonosító az Event Grid-előfizetés-író alkalmazáshoz.
Feljegyzés
Az értékét nem kell módosítania
$eventGridAppId. Ebből a szkriptből az AzureEventGridSecureWebhookSubscriber van beállítva a$eventGridRoleNameszámára. Ne feledje, hogy a szkript végrehajtásához a Microsoft Entra alkalmazásadminisztrátori szerepkör tagjának kell lennie, vagy a Microsoft Entra ID-ban a webhook alkalmazás szolgáltatásnév tulajdonosának kell lennie.- Változók:
Jelentkezzen be az Event Grid előfizetési íróként a Microsoft Entra alkalmazásban a parancs futtatásával.
az login --service-principal -u [REPLACE_WITH_EVENT_GRID_SUBSCRIPTION_WRITER_APP_ID] -p [REPLACE_WITH_EVENT_GRID_SUBSCRIPTION_WRITER_APP_SECRET_VALUE] --tenant [REPLACE_WITH_TENANT_ID]Hozza létre az előfizetést a parancs futtatásával.
az eventgrid system-topic event-subscription create --name [REPLACE_WITH_SUBSCRIPTION_NAME] -g [REPLACE_WITH_RESOURCE_GROUP] --system-topic-name [REPLACE_WITH_SYSTEM_TOPIC] --endpoint [REPLACE_WITH_WEBHOOK_ENDPOINT] --event-delivery-schema [REPLACE_WITH_WEBHOOK_EVENT_SCHEMA] --azure-active-directory-tenant-id [REPLACE_WITH_TENANT_ID] --azure-active-directory-application-id-or-uri [REPLACE_WITH_APPLICATION_ID_FROM_SCRIPT] --endpoint-type webhookFeljegyzés
Ez a forgatókönyv egy rendszertémakört használ. Ha egyéni témakörökhöz vagy tartományokhoz szeretne előfizetést létrehozni az Azure CLI használatával, tekintse meg a parancssori felületre vonatkozó hivatkozást.
Ha mindent megfelelően konfigurált, létrehozhatja a webhook-előfizetést az Event Grid-témakörben.
Feljegyzés
Az Event Grid ekkor minden üzenetben átadja a Microsoft Entra tulajdonosi jogkivonatát a webhook-ügyfélnek. Ellenőriznie kell a hitelesítési tokent a webhookban levő.
Események továbbítása egy másik Microsoft Entra bérlő webhookjára.
Az esemény-előfizetés és a különböző Microsoft Entra-bérlőkben található webhook-végpont közötti kapcsolat biztonságossá tételéhez használja a Microsoft Entra ID alkalmazást az ebben a szakaszban látható módon. Jelenleg nem biztosíthatja ezt a kapcsolatot az Azure portálon egy Microsoft Entra ID felhasználó használatával.
A diagram alapján kövesse a következő lépéseket mindkét bérlő konfigurálásához.
Bérlő A
Hajtsa végre a következő lépéseket az A bérlő A esetén:
Hozzon létre egy Microsoft Entra-alkalmazást az Event Grid-előfizetés-író számára, amely úgy van konfigurálva, hogy bármely Microsoft Entra (több-bérlős) környezetben működjön.
Hozzon létre egy titkos kulcsot a Microsoft Entra alkalmazáshoz, és mentse az értéket (később szüksége lesz erre az értékre).
Nyissa meg az Event Grid-témakör Hozzáférés-vezérlés (IAM) lapját. Rendelje hozzá az Event Grid-közreműködői szerepkört az Event Grid-előfizetés-író Microsoft Entra-alkalmazásához. Ez a lépés hozzáférést biztosít az alkalmazásnak az Event Grid-erőforráshoz, amikor a Microsoft Entra alkalmazással és az Azure CLI-vel jelentkezik be az Azure-ba.
B. bérlő
A B bérlőben hajtsa végre a következő lépéseket:
Hozzon létre egy Microsoft Entra-alkalmazást a Microsoft Entra (egyetlen bérlő) használatára konfigurált webhook számára.
Nyissa meg az Azure Shellt, és válassza ki a PowerShell-környezetet.
Módosítsa a $webhookAadTenantId értéket a B bérlőhöz való csatlakozáshoz.
Változók:
- $webhookAadTenantId: Azure-bérlőazonosító a B bérlőhöz
$webhookAadTenantId = "[REPLACE_WITH_YOUR_TENANT_ID]" Connect-MgGraph -TenantId $webhookAadTenantId -Scopes "Application.ReadWrite.All, AppRoleAssignment.ReadWrite.All"
Nyissa meg a következő szkriptet, és frissítse a $webhookAppObjectId és $eventSubscriptionWriterAppId értékeit az azonosítókkal. Ezután folytassa a szkript futtatását.
- Változók:
$webhookAppObjectId: A webhookhoz létrehozott Microsoft Entra alkalmazásazonosító
$eventSubscriptionWriterAppId: Microsoft Entra alkalmazásazonosító az Event Grid-előfizetés írója számára
Feljegyzés
Az értékét nem kell módosítania
$eventGridAppId. Ebben a szkriptben az AzureEventGridSecureWebhookSubscriber a következőhöz$eventGridRoleNamevan beállítva: . Ne feledje, hogy a szkript végrehajtásához a Microsoft Entra alkalmazásadminisztrátori szerepkör tagjának kell lennie, vagy a Microsoft Entra ID-ban a webhook alkalmazás szolgáltatásnév tulajdonosának kell lennie.
Ha a következő hibaüzenet jelenik meg, fel kell emelnie a szolgáltatásnévre. 2021. március 30-án az esemény-előfizetés létrehozása vagy frissítése részeként további hozzáférés-ellenőrzést vezetünk be egy biztonsági rés elhárításához. Az előfizető ügyfél szolgáltatási főfelhasználójának vagy tulajdonosként kell szerepelnie, vagy rendelkeznie kell egy szerepkörrel a célalkalmazás szolgáltatási főfelhasználójához.
New-MgServicePrincipalAppRoleAssignment: Error occurred while executing NewServicePrincipalAppRoleAssignment Code: Authorization_RequestDenied Message: Insufficient privileges to complete the operation.- Változók:
Bérlő A
A Tenant A környezetben hajtsa végre a következő lépéseket:
Nyissa meg az Azure Shellt , és jelentkezzen be Event Grid-előfizetés-íróként a Microsoft Entra-alkalmazásként a parancs futtatásával.
az login --service-principal -u [REPLACE_WITH_APP_ID] -p [REPLACE_WITH_SECRET_VALUE] --tenant [REPLACE_WITH_TENANT_ID]Hozza létre az előfizetést a parancs futtatásával.
az eventgrid system-topic event-subscription create --name [REPLACE_WITH_SUBSCRIPTION_NAME] -g [REPLACE_WITH_RESOURCE_GROUP] --system-topic-name [REPLACE_WITH_SYSTEM_TOPIC] --endpoint [REPLACE_WITH_WEBHOOK_ENDPOINT] --event-delivery-schema [REPLACE_WITH_WEBHOOK_EVENT_SCHEMA] --azure-active-directory-tenant-id [REPLACE_WITH_TENANT_B_ID] --azure-active-directory-application-id-or-uri [REPLACE_WITH_APPLICATION_ID_FROM_SCRIPT] --endpoint-type webhookFeljegyzés
Ebben a forgatókönyvben az „Event Grid System Topic”-ot használja. Ha egyéni témakörökhöz vagy Event Grid-tartományokhoz szeretne előfizetést létrehozni az Azure CLI használatával, tekintse meg itt.
Ha mindent megfelelően konfigurált, létrehozhatja a webhook-előfizetést az Event Grid-témakörben.
Feljegyzés
Ezen a ponton az Event Grid minden üzenetben átadja a Microsoft Entra Bearer tokent a webhook-ügyfélnek. Az engedélyezési tokent ellenőriznie kell a webhookban.
Kapcsolódó tartalom
- Elméleti információkért tekintse meg a WebHook eseménykézbesítést.
- A hitelesítési kulccsal kapcsolatos további információkért tekintse meg az Event Grid biztonságát és hitelesítését.
- Az Azure Event Grid-előfizetések létrehozásával kapcsolatos további információkért tekintse meg az Event Grid-előfizetés sémáját.