Események továbbítása a Microsoft Entra által védett végpontokra
Ez a cikk azt ismerteti, hogyan lehet a Microsoft Entra ID-t használni az esemény-előfizetés és a webhook-végpont közötti kapcsolat védelméhez. Az Azure Portalt használja a bemutatóhoz, de a funkció parancssori felülettel, PowerShell-lel vagy SDK-kkal is engedélyezhető.
Fontos
2021. március 30-án további hozzáférés-ellenőrzést vezetünk be az esemény-előfizetés létrehozása vagy frissítése részeként a biztonsági rések kezelése érdekében. Az előfizető ügyfél szolgáltatásnévének tulajdonosnak kell lennie, vagy rendelkeznie kell egy szerepkörrel a célalkalmazás-szolgáltatásnévhez. Az alábbi új utasításokat követve konfigurálja újra a Microsoft Entra-alkalmazást. 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 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 egyetlen bérlőben futtatja az összes lépést vagy szkriptet, amely az esemény-előfizetéssel és a webhookkal is rendelkezik. A második forgatókönyvben pedig futtat néhány lépést az esemény-előfizetést tartalmazó 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, hogyan történik az Event Grid-események kézbesítése egy webhookba az esemény-előfizetéssel azonos bérlőn belül.
Ebben a szakaszban két alszakasz található. Olvassa el mind a forgatókönyveket, mind pedig azokat, amelyek érdeklik.
- 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 további hozzáférés-ellenőrzést vezetünk be az esemény-előfizetés létrehozása vagy frissítése részeként a biztonsági rések kezelése érdekében. Az előfizető ügyfél szolgáltatásnévének tulajdonosnak kell lennie, vagy rendelkeznie kell egy szerepkörrel a célalkalmazás-szolgáltatásnévhez.
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
A (z) értékét nem kell módosítania
$eventGridAppId
. Ebben a szkriptben az AzureEventGridSecureWebhookSubscriber 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.- Változók:
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_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 webhook
Feljegyzé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 minden megfelelően lett konfigurálva, sikeresen 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. A webhook engedélyezési jogkivonatát ellenőriznie kell.
Események továbbítása egy másik Microsoft Entra-bérlőben lévő webhookba
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 egy Microsoft Entra ID-alkalmazást kell használnia az ebben a szakaszban látható módon. Jelenleg nem lehet biztonságossá tenni ezt a kapcsolatot egy Microsoft Entra ID-felhasználóval az Azure Portalon.
A diagram alapján kövesse a következő lépéseket mindkét bérlő konfigurálásához.
A bérlő
Hajtsa végre az alábbi lépéseket az A bérlőben:
Hozzon létre egy Microsoft Entra-alkalmazást az Event Grid-előfizetés-íróhoz, amely úgy van konfigurálva, hogy bármilyen Microsoft Entra -t (több-bérlős) 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).
Lépjen az Event Grid-témakör Hozzáférés-vezérlési (IAM) lapjára. 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 lehetővé teszi, hogy az alkalmazás hozzáférhessen az Event Grid-erőforráshoz, amikor a Microsoft Entra alkalmazással jelentkezik be az Azure-ba az Azure CLI használatával.
B bérlő
Hajtsa végre a következő lépéseket a B bérlőben:
Hozzon létre egy Microsoft Entra-alkalmazást a webhook számára, amely úgy van konfigurálva, hogy működjön együtt a Microsoft Entrával (egyetlen bérlő).
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 $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óhoz
Feljegyzés
A (z) értékét nem kell módosítania
$eventGridAppId
. Ebben a szkriptben az AzureEventGridSecureWebhookSubscriber a következőhöz$eventGridRoleName
van 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 további hozzáférés-ellenőrzést vezetünk be az esemény-előfizetés létrehozása vagy frissítése részeként a biztonsági rések kezelése érdekében. Az előfizető ügyfél szolgáltatásnévének tulajdonosnak kell lennie, vagy rendelkeznie kell egy szerepkörrel a célalkalmazás-szolgáltatásnévhez.
New-MgServicePrincipalAppRoleAssignment: Error occurred while executing NewServicePrincipalAppRoleAssignment Code: Authorization_RequestDenied Message: Insufficient privileges to complete the operation.
- Változók:
A bérlő
Az A bérlőben hajtsa végre az alábbi 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 webhook
Feljegyzés
Ebben a forgatókönyvben egy Event Grid rendszertémakört használunk. Lásd itt, 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.
Ha minden megfelelően lett konfigurálva, sikeresen 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 Bearer-jogkivonatot a webhook-ügyfélnek. A webhook engedélyezési jogkivonatát ellenőriznie kell.
Következő lépések
- Elméleti információkért tekintse meg a WebHook eseménykézbesítést.
- Az eseménykézbesítések monitorozásáról további információt az Event Grid üzenetkézbesítésének monitorozása című témakörben talál.
- 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.