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


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 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.

Az események biztonságos kézbesítését ábrázoló kép egy olyan webhookba, amely ugyanabban a bérlőben található.

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-felhasználóval

Ez a szakasz bemutatja, hogyan konfigurálhatja az esemény-előfizetést Egy Microsoft Entra-felhasználó használatával.

  1. 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ő).

  2. Nyissa meg az Azure Shellt a bérlőben, és válassza ki a PowerShell-környezetet.

  3. 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"
    
  4. 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.
    
  5. A portálon esemény-előfizetés létrehozásakor kövesse az alábbi lépéseket:

    1. Válassza ki a végponttípust webhookként.

    2. Adja meg a végpont URI-címét.

      Végponttípus webhook kiválasztása

    3. Válassza a További funkciók lapot az Esemény-előfizetések létrehozása lap tetején.

    4. A További funkciók lapon hajtsa végre az alábbi lépéseket:

      1. 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:

      2. 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.

      3. 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.

        Webhook biztonságossá tételének művelete

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.

  1. 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.

  2. 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).

  3. 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.

  4. 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ő).

  5. Nyissa meg az Azure Shellt a bérlőben, és válassza ki a PowerShell-környezetet.

  6. 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"
    
  7. 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.

  8. 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]
    
  9. 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.

  10. 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.

Több-bérlős események a Microsoft Entra-azonosítóval és a webhookokkal

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:

  1. 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.

  2. 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).

  3. 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:

  1. 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ő).

  2. Nyissa meg az Azure Shellt, és válassza ki a PowerShell-környezetet.

  3. 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"
      
  4. 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 $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 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.
    

A bérlő

Az A bérlőben hajtsa végre az alábbi lépéseket:

  1. 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]
    
  2. 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.

  3. 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