Autentisera ett program med Microsoft Entra-ID för att få åtkomst till Event Hubs-resurser

Microsoft Azure tillhandahåller integrerad hantering av åtkomstkontroll för resurser och program baserat på Microsoft Entra-ID. En viktig fördel med att använda Microsoft Entra-ID med Azure Event Hubs är att du inte behöver lagra dina autentiseringsuppgifter i koden längre. I stället kan du begära en OAuth 2.0-åtkomsttoken från Microsofts identitetsplattform. Resursnamnet för att begära en token är https://eventhubs.azure.net/, och det är samma för alla moln/klienter (för Kafka-klienter är https://<namespace>.servicebus.windows.netresursen för att begära en token ). Microsoft Entra autentiserar säkerhetsobjektet (en användare, grupp eller tjänstens huvudnamn) som kör programmet. Om autentiseringen lyckas returnerar Microsoft Entra ID en åtkomsttoken till programmet, och programmet kan sedan använda åtkomsttoken för att auktorisera begäran till Azure Event Hubs-resurser.

När en roll tilldelas ett Microsoft Entra-säkerhetsobjekt ger Azure åtkomst till dessa resurser för det säkerhetsobjektet. Åtkomst kan begränsas till prenumerationsnivån, resursgruppen, Event Hubs-namnområdet eller valfri resurs under den. En Microsoft Entra-säkerhet kan tilldela roller till en användare, en grupp, ett huvudnamn för programtjänsten eller en hanterad identitet för Azure-resurser.

Kommentar

En rolldefinition är en samling behörigheter. Rollbaserad åtkomstkontroll i Azure (Azure RBAC) styr hur dessa behörigheter tillämpas via rolltilldelning. En rolltilldelning består av tre delar: säkerhetsobjekt, rolldefinition och omfång. Mer information finns i Förstå de olika rollerna.

Inbyggda roller för Azure Event Hubs

Azure tillhandahåller följande inbyggda Azure-roller för att auktorisera åtkomst till Event Hubs-data med hjälp av Microsoft Entra ID och OAuth:

Inbyggda roller för Schema Registry finns i Schema Registry-roller.

Viktigt!

Vår förhandsversion har stöd för att lägga till åtkomstbehörigheter för Event Hubs-data till rollen Ägare eller Deltagare. Dataåtkomstbehörigheter för rollen Ägare och Deltagare respekteras dock inte längre. Om du använder rollen Ägare eller Deltagare växlar du till att använda rollen Azure Event Hubs-dataägare.

Autentisera från ett program

En viktig fördel med att använda Microsoft Entra-ID med Event Hubs är att dina autentiseringsuppgifter inte längre behöver lagras i koden. I stället kan du begära en OAuth 2.0-åtkomsttoken från Microsofts identitetsplattform. Microsoft Entra autentiserar säkerhetsobjektet (en användare, en grupp eller tjänstens huvudnamn) som kör programmet. Om autentiseringen lyckas returnerar Microsoft Entra-ID:t åtkomsttoken till programmet och programmet kan sedan använda åtkomsttoken för att auktorisera begäranden till Azure Event Hubs.

Följande avsnitt visar hur du konfigurerar ditt interna program eller webbprogram för autentisering med Microsofts identitetsplattform 2.0. Mer information om Microsofts identitetsplattform 2.0 finns i översikten över Microsofts identitetsplattform (v2.0).

En översikt över OAuth 2.0-kodbidragsflödet finns i Auktorisera åtkomst till Microsoft Entra-webbprogram med hjälp av OAuth 2.0-kodtillämpningsflödet.

Registrera ditt program med en Microsoft Entra-klientorganisation

Det första steget i att använda Microsoft Entra-ID för att auktorisera Event Hubs-resurser är att registrera ditt klientprogram med en Microsoft Entra-klientorganisation från Azure-portalen. Följ stegen i snabbstarten: Registrera ett program med Microsofts identitetsplattform för att registrera ett program i Microsoft Entra-ID som representerar ditt program som försöker komma åt Event Hubs-resurser.

När du registrerar klientprogrammet anger du information om programmet till AD. Microsoft Entra-ID tillhandahåller sedan ett klient-ID (även kallat ett program-ID) som du kan använda för att associera ditt program med Microsoft Entra-körning. Mer information om klient-ID finns i Program- och tjänsthuvudnamnsobjekt i Microsoft Entra-ID.

Kommentar

Om du registrerar ditt program som ett internt program kan du ange en giltig URI för omdirigerings-URI:n. För interna program behöver det här värdet inte vara en riktig URL. För webbprogram måste omdirigerings-URI:n vara en giltig URI eftersom den anger den URL som token tillhandahålls till.

När du har registrerat ditt program visas program-ID:t (klient) under Inställningar:

Screenshot showing the app registration page with application ID highlighted.

Skapa en klienthemlighet

Appen behöver en klienthemlighet för att bevisa sin identitet när det begär en token. Följ stegen från Lägg till en klienthemlighet för att skapa en klienthemlighet för din app i Microsoft Entra-ID.

Tilldela Azure-roller med hjälp av Azure-portalen

Tilldela en av Event Hubs-rollerna till programmets tjänsthuvudnamn i önskat omfång (Event Hubs-namnområde, resursgrupp, prenumeration). Läs mer om att tilldela roller i Tilldela Azure-roller via Azure Portal.

När du har definierat rollen och dess omfång kan du testa det här beteendet med exempel på den här GitHub-platsen. Mer information om hur du hanterar åtkomst till Azure-resurser med hjälp av Azure RBAC och Azure-portalen finns i den här artikeln.

Klientbibliotek för tokenförvärv

När du har registrerat ditt program och gett det behörighet att skicka/ta emot data i Azure Event Hubs kan du lägga till kod i ditt program för att autentisera ett säkerhetsobjekt och hämta OAuth 2.0-token. Om du vill autentisera och hämta token kan du använda något av de Microsofts identitetsplattform autentiseringsbiblioteken eller ett annat bibliotek med öppen källkod som stöder OpenID eller Anslut 1.0. Ditt program kan sedan använda åtkomsttoken för att auktorisera en begäran mot Azure Event Hubs.

Scenarier där hämtning av token stöds finns i avsnittet Scenarier i Microsoft Authentication Library (MSAL) för .NET GitHub-lagringsplatsen.

Exempel

Nästa steg

Se följande relaterade artiklar: