Hitelesítés és engedélyezés a Microsoft Entra-azonosítóval

Ez a cikk azt ismerteti, hogyan hitelesítheti az Azure Event Grid közzétételi ügyfeleit a Microsoft Entra ID használatával.

Áttekintés

A Microsoft Identity platform integrált hitelesítést és hozzáférés-vezérlési felügyeletet biztosít azokhoz az erőforrásokhoz és alkalmazásokhoz, amelyek identitásszolgáltatóként a Microsoft Entra ID azonosítót használják. Az Microsoft Identitásplatform használatával hitelesítési és engedélyezési támogatást biztosíthat az alkalmazásokban. Olyan nyílt szabványokon alapul, mint az OAuth 2.0 és az OpenID Csatlakozás, és olyan eszközöket és nyílt forráskódú kódtárakat kínál, amelyek számos hitelesítési forgatókönyvet támogatnak. Olyan speciális funkciókat biztosít, mint a feltételes hozzáférés , amely lehetővé teszi olyan szabályzatok beállítását, amelyek többtényezős hitelesítést igényelnek, vagy lehetővé teszik a hozzáférést adott helyekről, például.

A Microsoft Entra-azonosító használatakor a biztonsági álláspontot javító előny, hogy nem kell hitelesítő adatokat, például hitelesítési kulcsokat tárolnia a kódban vagy az adattárakban. Ehelyett az OAuth 2.0 hozzáférési jogkivonatok beszerzésére támaszkodik abból a Microsoft Identitásplatform, amelyet az alkalmazás egy védett erőforráshoz való hitelesítéskor mutat be. Az esemény-közzétételi alkalmazást regisztrálhatja a Microsoft Entra-azonosítóval, és beszerezheti az Ön által kezelt és használt alkalmazáshoz társított szolgáltatásnevet. Ehelyett egy még egyszerűbb identitáskezelési modellhez használhat felügyelt identitásokat, akár rendszer által hozzárendelt, akár felhasználó által hozzárendelt identitásokat, mivel az identitás életciklusának bizonyos aspektusait ön kezeli.

A szerepköralapú hozzáférés-vezérlés (RBAC) lehetővé teszi az engedélyezés konfigurálását oly módon, hogy bizonyos biztonsági tagok (a felhasználók, csoportok vagy alkalmazások identitásai) meghatározott engedélyekkel rendelkezzenek a műveletek Azure-erőforrásokon keresztüli végrehajtásához. Így az Eseményrácsnak eseményeket küldő ügyfélalkalmazás által használt biztonsági taghoz hozzá kell társítani az EventGrid-adatküldő RBAC-szerepkört.

Biztonsági tagok

Az Event Grid közzétételi ügyfél hitelesítésének megvitatásakor a biztonsági tagok két széles kategóriája alkalmazható:

  • Felügyelt identitások. A felügyelt identitások hozzárendelhetők rendszerhez, amelyet egy Azure-erőforráson engedélyez, és csak ahhoz az erőforráshoz vagy felhasználóhoz van társítva, amelyet kifejezetten ön hoz létre és nevez el. A felhasználó által hozzárendelt felügyelt identitások több erőforráshoz is társíthatók.
  • Alkalmazásbiztonsági tag. Ez egy olyan biztonsági egyszerű típus, amely egy alkalmazást jelöl, amely hozzáfér a Microsoft Entra ID által védett erőforrásokhoz.

Függetlenül a használt biztonsági tagtól, a felügyelt identitástól vagy az alkalmazásbiztonsági tagtól, az ügyfél ezt az identitást használja a Microsoft Entra-azonosító előtt történő hitelesítéshez, és beszerez egy OAuth 2.0 hozzáférési jogkivonatot , amelyet kérésekkel küld el az Eseményrácsba való küldéskor. Ez a jogkivonat kriptográfiailag van aláírva, és amint az Event Grid megkapja, a jogkivonat érvényesítve lesz. A célközönség (a jogkivonat címzettje) például többek között Event Grid (https://eventgrid.azure.net) lesz. A jogkivonat információkat tartalmaz az ügyfélidentitásról. Az Event Grid felveszi ezt az identitást, és ellenőrzi, hogy az ügyfél rendelkezik-e az EventGrid-adatküldő szerepkörével. Pontosabban az Event Grid ellenőrzi, hogy az identitás rendelkezik-e engedéllyel az Microsoft.EventGrid/events/send/action identitáshoz társított RBAC-szerepkörben, mielőtt lehetővé tenné az esemény közzétételi kérésének teljesítését.

Ha az Event Grid SDK-t használja, nem kell aggódnia a hozzáférési jogkivonatok beszerzésének implementálásával és az Event Grid minden kérésével kapcsolatos részletek miatt, mert az Event Grid adatsík-SDK-k ezt teszik Ön helyett.

A Microsoft Entra-hitelesítés használatának ügyfélkonfigurációs lépései

Az alábbi lépéseket követve konfigurálhatja az ügyfelet a Microsoft Entra-hitelesítés használatára, amikor eseményeket küld egy témakörbe, tartományba vagy partnernévtérbe.

  1. Hozzon létre vagy használjon egy hitelesítéshez használni kívánt biztonsági tagot. Használhat felügyelt identitást vagy alkalmazásbiztonsági tagot.
  2. Adjon engedélyt egy biztonsági tagnak az események közzétételére, ha hozzárendeli az EventGrid adatküldő szerepkört a biztonsági taghoz.
  3. Az Event Grid SDK-val eseményeket tehet közzé egy Event Gridben.

Authenticate using a managed identity

A felügyelt identitások az Azure-erőforrásokhoz társított identitások. A felügyelt identitások olyan identitást biztosítanak, amelyet az alkalmazások a Microsoft Entra-hitelesítést támogató Azure-erőforrások használatakor használnak. Az alkalmazások használhatják az üzemeltetési erőforrás felügyelt identitását, például egy virtuális gépet vagy Azure-alkalmazás szolgáltatást, hogy lekérjenek olyan Microsoft Entra-jogkivonatokat, amelyek az események Event Gridben való közzétételekor jelennek meg. Amikor az alkalmazás csatlakozik, az Event Grid a felügyelt entitás környezetét az ügyfélhez köti. Miután hozzárendelte egy felügyelt identitáshoz, az Event Grid közzétételi ügyfele minden engedélyezett műveletet elvégezhet. Az engedélyezés egy felügyelt entitás Event Grid RBAC-szerepkörhöz való társításával adható meg.

A felügyelt identitás automatikusan felügyelt identitást biztosít az Azure-szolgáltatásoknak a Microsoft Entra-azonosítóban. Más hitelesítési módszerekkel ellentétben nem kell tárolnia és védenie a hozzáférési kulcsokat vagy a közös hozzáférésű jogosultságkódokat (SAS) az alkalmazás kódjában vagy konfigurációjában, sem magának az identitásnak, sem a hozzáféréshez szükséges erőforrásoknak.

Ha felügyelt identitásokkal szeretné hitelesíteni az esemény-közzétételi ügyfelet, először döntse el az ügyfélalkalmazáshoz tartozó Azure-szolgáltatást, majd engedélyezze a rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitásokat az adott Azure-szolgáltatáspéldányon. Engedélyezheti például a felügyelt identitásokat egy virtuális gépen, egy Azure-alkalmazás szolgáltatásban vagy az Azure Functionsben.

Miután konfigurált egy felügyelt identitást egy üzemeltetési szolgáltatásban, rendelje hozzá az események közzétételére vonatkozó engedélyt az adott identitáshoz.

Hitelesítés ügyfélalkalmazás biztonsági tag használatával

A felügyelt identitások mellett egy másik identitásbeállítás egy biztonsági tag létrehozása az ügyfélalkalmazáshoz. Ennek érdekében regisztrálnia kell az alkalmazást a Microsoft Entra-azonosítóval. Az alkalmazás regisztrálása egy kézmozdulat, amellyel identitás- és hozzáférés-kezelési vezérlőt delegálhat a Microsoft Entra-azonosítóba. Kövesse az alkalmazás regisztrálása és az Ügyfélkód hozzáadása szakasz lépéseit. A kezdés előtt mindenképpen tekintse át az előfeltételeket .

Miután rendelkezik egy alkalmazásbiztonsági taggal, és követte a fenti lépéseket, rendelje hozzá az engedélyeket az eseményeknek az adott identitáshoz való közzétételéhez.

Megjegyzés:

Amikor regisztrál egy alkalmazást a portálon, a rendszer automatikusan létrehoz egy alkalmazásobjektumot és egy szolgáltatásnevet az otthoni bérlőben. Másik lehetőségként a Microsot Graph használatával regisztrálhatja az alkalmazást. Ha azonban a Microsoft Graph API-kkal regisztrál vagy hoz létre egy alkalmazást, a szolgáltatásnév-objektum létrehozása külön lépés.

Engedélyek hozzárendelése biztonsági taghoz események közzétételéhez

Az események Event Gridben való közzétételéhez használt identitásnak rendelkeznie kell azzal az engedéllyel Microsoft.EventGrid/events/send/action , amely lehetővé teszi, hogy eseményeket küldjön az Event Gridnek. Ez az engedély szerepel az Event Grid-adatküldő beépített RBAC-szerepkörében. Ez a szerepkör hozzárendelhető egy biztonsági taghoz egy adott hatókörhöz, amely lehet felügyeleti csoport, Azure-előfizetés, erőforráscsoport vagy adott Event Grid-témakör, tartomány vagy partnernévtér. Kövesse az Azure-szerepkörök hozzárendelése című témakörben leírt lépéseket az EventGrid Adatküldő szerepkör biztonsági tagjának hozzárendeléséhez, és így adjon hozzáférést az alkalmazásnak ezzel a biztonsági egyszerű hozzáféréssel az események küldéséhez. Másik lehetőségként megadhat egy egyéni szerepkört, amely tartalmazza az Microsoft.EventGrid/events/send/action engedélyt, és hozzárendelheti az egyéni szerepkört a biztonsági taghoz.

Az RBAC-jogosultságokkal mostantól létrehozhatja az ügyfélalkalmazást, hogy eseményeket küldjön az Event Gridnek.

Megjegyzés:

Az Event Grid az események küldésén túl további RBAC-szerepköröket is támogat. További információ:Event Grid beépített szerepkörök.

Események közzététele az Event Grid ügyféloldali SDK-jaival

Az Event Grid adatsíkjának SDK-jával eseményeket tehet közzé az Event Gridben. Az Event Grid SDK-jával minden hitelesítési módszer támogatott, beleértve a Microsoft Entra-hitelesítést is.

Az alábbi mintakód teszi közzé az eseményeket az Event Gridben a .NET SDK használatával. A témakörvégpontot az Event Grid-témakör Áttekintés lapján szerezheti be az Azure Portalon. Formátuma: https://<TOPIC-NAME>.<REGION>-1.eventgrid.azure.net/api/events.

ManagedIdentityCredential managedIdentityCredential = new ManagedIdentityCredential();
EventGridPublisherClient client = new EventGridPublisherClient( new Uri("<TOPIC ENDPOINT>"), managedIdentityCredential);


EventGridEvent egEvent = new EventGridEvent(
        "ExampleEventSubject",
        "Example.EventType",
        "1.0",
        "This is the event data");

// Send the event
await client.SendEventAsync(egEvent);

Előfeltételek

Az alábbi előfeltételek szükségesek az Event Gridben való hitelesítéshez.

Események közzététele Microsoft Entra-hitelesítéssel

Ha eseményeket szeretne küldeni egy témakörbe, tartományba vagy partnernévtérbe, az alábbi módon hozhatja létre az ügyfelet. Az API-verzió, amely először nyújtott támogatást a Microsoft Entra-hitelesítéshez, az 2018-01-01. Használja ezt az API-verziót vagy egy újabb verziót az alkalmazásban.

Minta:

Ez a C#-kódrészlet létrehoz egy Event Grid-közzétevő ügyfelet egy ügyféltitkot tartalmazó alkalmazás (szolgáltatásnév) használatával az Azure.Identity-kódtár hozzáadásához szükséges DefaultAzureCredential metódus engedélyezéséhez. Ha a hivatalos SDK-t használja, az SDK kezeli a verziót.

Environment.SetEnvironmentVariable("AZURE_CLIENT_ID", "");
Environment.SetEnvironmentVariable("AZURE_TENANT_ID", "");
Environment.SetEnvironmentVariable("AZURE_CLIENT_SECRET", "");

EventGridPublisherClient client = new EventGridPublisherClient(new Uri("your-event-grid-topic-domain-or-partner-namespace-endpoint"), new DefaultAzureCredential());

További információért tekintse át az alábbi cikkeket:

Kulcs- és közös hozzáférésű jogosultságkód hitelesítésének letiltása

A Microsoft Entra-hitelesítés a hozzáférési kulcs vagy a közös hozzáférésű jogosultságkód (SAS) jogkivonat-hitelesítés által kínáltnál magasabb szintű hitelesítési támogatást nyújt. A Microsoft Entra-hitelesítéssel az identitás a Microsoft Entra identitásszolgáltatón lesz érvényesítve. Fejlesztőként nem kell kezelnie a kód kulcsait, ha Microsoft Entra-hitelesítést használ. Emellett a Microsoft Identity platformba beépített összes biztonsági funkció, például a feltételes hozzáférés is hasznos lehet, amelyek segíthetnek az alkalmazás biztonsági helyzetének javításában.

A Microsoft Entra-hitelesítés használata után letilthatja a hitelesítést hozzáférési kulcsok vagy SAS-jogkivonatok alapján.

Megjegyzés:

Az ászkulcsok vagy SAS-jogkivonatok hitelesítése a helyi hitelesítés egyik formája. A Microsoft Entra-azonosítóra nem támaszkodó hitelesítési mechanizmusok ezen kategóriájának megvitatásakor néha "helyi hitelesítésre" hivatkozik. A helyi hitelesítés letiltásához használt API-paramétert a rendszer megfelelő módon disableLocalAuthmeghívja.

Azure Portal

Új témakör létrehozásakor letilthatja a helyi hitelesítést a Témakör létrehozása lap Speciális lapján.

Screenshot showing the Advanced tab of Create Topic page when you can disable local authentication.

Meglévő témakör esetén kövesse az alábbi lépéseket a helyi hitelesítés letiltásához:

  1. Lépjen a témakör Event Grid-témakör lapjára, és válassza az Engedélyezve lehetőséget a Helyi hitelesítés területen

    Screenshot showing the Overview page of an existing topic.

  2. A Helyi hitelesítés előugró ablakban válassza a Letiltva, majd az OK gombot.

    Screenshot showing the Local Authentication window.

Azure CLI

Az alábbi CLI-parancs bemutatja, hogyan hozhat létre egyéni témakört letiltott helyi hitelesítéssel. A helyi hitelesítés letiltása funkció jelenleg előzetes verzióként érhető el, és az API-verziót kell használnia 2021-06-01-preview.

az resource create --subscription <subscriptionId> --resource-group <resourceGroup> --resource-type Microsoft.EventGrid/topics --api-version 2021-06-01-preview --name <topicName> --location <location> --properties "{ \"disableLocalAuth\": true}"

Referenciaként az alábbi erőforrástípus-értékeket használhatja a létrehozott vagy frissített témakörnek megfelelően.

Témakörtípus Erőforrás típusa
Tartományok Microsoft.EventGrid/domains
Partnernévtér Microsoft.EventGrid/partnerNamespaces
Egyéni témakör Microsoft.EventGrid/topics

Azure PowerShell

Ha PowerShellt használ, az alábbi parancsmagokkal hozzon létre egy egyéni témakört, amely letiltja a helyi hitelesítést.


Set-AzContext -SubscriptionId <SubscriptionId>

New-AzResource -ResourceGroupName <ResourceGroupName> -ResourceType Microsoft.EventGrid/topics -ApiVersion 2021-06-01-preview -ResourceName <TopicName> -Location <Location> -Properties @{disableLocalAuth=$true}

Megjegyzés:

  • A hozzáférési kulcs vagy a közös hozzáférésű jogosultságkód-hitelesítés használatáról további információt a közzétételi ügyfelek hitelesítése kulcsokkal vagy SAS-jogkivonatokkal című témakörben talál .
  • Ez a cikk a hitelesítéssel foglalkozik, amikor eseményeket tesz közzé az Event Gridben (eseményforgalom). Az Eseményrács hitelesítése események (esemény-kimenő forgalom) során című cikk tárgya Az eseménytovábbítás hitelesítése az eseménykezelők számára.

Források