Een toepassing verifiëren met Microsoft Entra-id voor toegang tot Event Hubs

Microsoft Azure biedt geïntegreerd beheer van toegangsbeheer voor resources en toepassingen op basis van Microsoft Entra-id. Een belangrijk voordeel van het gebruik van Microsoft Entra ID met Azure Event Hubs is dat u geen referenties hoeft op te slaan in code. Vraag in plaats daarvan een OAuth 2.0-toegangstoken aan bij het Microsoft Identity Platform. De naam van de bron om een token aan te vragen is https://eventhubs.azure.net/, en die is hetzelfde voor alle clouds en tenants. Voor Kafka-clients is de resource voor het aanvragen van een token https://<namespace>.servicebus.windows.net. Microsoft Entra verifieert de beveiligingsprincipaal, zoals een gebruiker, groep, service-principal of beheerde identiteit, die de toepassing uitvoert. Als verificatie slaagt, retourneert Microsoft Entra-id een toegangstoken naar de toepassing, die vervolgens het token kan gebruiken om aanvragen voor Azure Event Hubs-resources te autoriseren.

Wanneer je een rol toewijst aan een Microsoft Entra security principal, verleent Azure toegang tot die resources voor die security principal. Je kunt de toegang beperken tot het abonnement, de resourcegroep, de Event Hubs-naamruimte of een resource daaronder. Een Microsoft Entra-beveiligingsprincipaal kan rollen toewijzen aan een gebruiker, groep, toepassingsservice-principal of een beheerde identiteit voor Azure-resources.

Note

Een roldefinitie is een verzameling machtigingen. Op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) dwingt deze machtigingen af via roltoewijzing. Een roltoewijzing bevat drie elementen: beveiligingsprincipaal, roldefinitie en bereik. Zie Inzicht in de verschillende rollen voor meer informatie.

Prerequisites

Ingebouwde rollen voor Azure Event Hubs

Azure biedt deze ingebouwde rollen voor het autoriseren van toegang tot Event Hubs-gegevens met behulp van Microsoft Entra ID en OAuth:

  • Azure Event Hubs-gegevenseigenaar: gebruik deze rol om volledige toegang te verlenen tot Event Hubs-resources.
  • Azure Event Hubs-gegevenszender: Een beveiligingsprincipaal die aan deze rol is toegewezen, kan gebeurtenissen verzenden naar een specifieke Event Hub of alle Event Hubs in een naamruimte.
  • Azure Event Hubs-gegevensontvanger: een beveiligingsprincipaal die aan deze rol is toegewezen, kan gebeurtenissen ontvangen van een specifieke Event Hub of alle Event Hubs in een naamruimte.

Zie voor ingebouwde rollen van de Schema Registry de Schema Registry-rollen.

Important

De preview-versie ondersteunde het toevoegen van bevoegdheden voor gegevenstoegang tot Event Hubs aan de rol Eigenaar of Inzender. Deze bevoegdheden worden echter niet meer gehonoreerd. Als u de rol Eigenaar of Inzender gebruikt, schakelt u over naar de rol Gegevenseigenaar van Azure Event Hubs.

Verifiëren vanuit een toepassing

Een belangrijk voordeel van het gebruik van Microsoft Entra-id met Event Hubs is dat u uw referenties niet hoeft op te slaan in uw code. In plaats daarvan vraagt u een OAuth 2.0-toegangstoken aan bij het Microsoft Identity Platform. Microsoft Entra verifieert de beveiligingsprincipaal (een gebruiker, een groep of service-principal) die de toepassing uitvoert. Als de verificatie slaagt, retourneert Microsoft Entra-id het toegangstoken naar de toepassing en kan de toepassing vervolgens het toegangstoken gebruiken om aanvragen voor Azure Event Hubs te autoriseren.

In de volgende secties wordt uitgelegd hoe u een systeemeigen toepassing of webtoepassing configureert voor verificatie met Microsoft Identity Platform 2.0. Zie het overzicht van Microsoft Identity Platform (v2.0) voor meer informatie over Microsoft Identity Platform 2.0.

Voor een overzicht van de stroom voor het verlenen van de OAuth 2.0-code, zie Toegang verlenen tot Microsoft Entra-webtoepassingen met de OAuth 2.0-code grant flow.

Uw toepassing registreren bij Microsoft Entra-id

De eerste stap om Microsoft Entra ID te gebruiken om Event Hubs-bronnen te autoriseren, is het registreren van een clientapplicatie bij een Microsoft Entra-tenant in het Microsoft Entra-beheercentrum. Volg de stappen in de quickstart: Registreer een toepassing bij het Microsoft Identity Platform om een toepassing te registreren in Microsoft Entra ID die uw toepassing vertegenwoordigt die toegang probeert te krijgen tot Event Hubs-resources.

Wanneer u uw clienttoepassing registreert, geeft u informatie over de toepassing op. Microsoft Entra-id biedt een client-id, ook wel een toepassings-id genoemd, om de toepassing te koppelen aan Microsoft Entra Runtime. Zie Toepassings- en service-principalobjecten in Microsoft Entra-id voor meer informatie over de client-id.

Note

Als u de toepassing registreert als een systeemeigen toepassing, geeft u een geldige URI op voor de omleidings-URI. Voor systeemeigen toepassingen hoeft deze waarde geen echte URL te zijn. Voor webtoepassingen moet de omleidings-URI een geldige URI zijn, omdat hiermee de URL wordt opgegeven waar tokens worden opgegeven.

Nadat u uw toepassing hebt geregistreerd, ziet u de toepassings-id (client) onder Instellingen:

Schermopname van de registratiepagina van de Azure-portal-app met de toepassings-id gemarkeerd.

Een clientgeheim maken voor verificatie

Voor de toepassing is een clientgeheim vereist om de identiteit te bewijzen bij het aanvragen van een token. Volg de stappen van Een clientgeheim toevoegen om een clientgeheim te maken voor uw app in Microsoft Entra-id.

Azure-rollen toewijzen met de Azure-portal

Wijs een van de Event Hubs-rollen toe aan de service-principal van de toepassing op het gewenste bereik, zoals de Event Hubs-naamruimte, de resourcegroep of het abonnement. Zie voor gedetailleerde stappen Azure-rollen toewijzen met behulp van de Azure-portal.

Nadat je de rol en de scope ervan hebt gedefinieerd, test je dit gedrag met samples die beschikbaar zijn op deze GitHub-locatie. Voor meer informatie over het beheren van toegang tot Azure-bronnen door gebruik te maken van Azure role-based access control (RBAC) en het Azure-portaal, zie dit artikel.

Clientbibliotheken gebruiken om tokens te verkrijgen

Nadat je je applicatie hebt geregistreerd en toestemming hebt gegeven om gegevens te verzenden of te ontvangen in Azure Event Hubs, voeg je code toe aan je applicatie om een beveiligingsprincipe te authenticeren en verkrijg je een OAuth 2.0-token. Als u het token wilt verifiëren en verkrijgen, gebruikt u een van de Microsoft Identity Platform-verificatiebibliotheken of een andere opensource-bibliotheek die Ondersteuning biedt voor OpenID Connect 1.0. Uw toepassing kan vervolgens het toegangstoken gebruiken om een aanvraag te autoriseren voor Azure Event Hubs.

Zie de sectie Scenario's van de MSAL (Microsoft Authentication Library) voor .NET GitHub-opslagplaats voor scenario's waarin het verkrijgen van tokens wordt ondersteund.

Samples

Zie de volgende gerelateerde artikelen: