Auktorisera åtkomst till Event Hubs-resurser med hjälp av Microsoft Entra ID
Azure Event Hubs stöder användning av Microsoft Entra-ID för att auktorisera begäranden till Event Hubs-resurser. Med Microsoft Entra-ID kan du använda rollbaserad åtkomstkontroll i Azure (RBAC) för att bevilja behörigheter till ett säkerhetsobjekt, som kan vara en användare eller ett huvudnamn för programtjänsten. Mer information om roller och rolltilldelningar finns i Förstå de olika rollerna.
Översikt
När ett säkerhetsobjekt (en användare eller ett program) försöker komma åt en Event Hubs-resurs måste begäran auktoriseras. Med Microsoft Entra-ID är åtkomst till en resurs en tvåstegsprocess.
- Först autentiseras säkerhetsobjektets identitet och en OAuth 2.0-token returneras. 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 ärhttps://<namespace>.servicebus.windows.net
resursen för att begära en token . - Därefter skickas token som en del av en begäran till Event Hubs-tjänsten för att auktorisera åtkomst till den angivna resursen.
Autentiseringssteget kräver att en programbegäran innehåller en OAuth 2.0-åtkomsttoken vid körning. Om ett program körs inom en Azure-entitet, till exempel en virtuell Azure-dator, en VM-skalningsuppsättning eller en Azure-funktionsapp, kan den använda en hanterad identitet för att komma åt resurserna. Information om hur du autentiserar begäranden som görs av en hanterad identitet till Event Hubs-tjänsten finns i Autentisera åtkomst till Azure Event Hubs-resurser med Microsoft Entra-ID och hanterade identiteter för Azure-resurser.
Auktoriseringssteget kräver att en eller flera Azure-roller tilldelas säkerhetsobjektet. Azure Event Hubs tillhandahåller Azure-roller som omfattar uppsättningar med behörigheter för Event Hubs-resurser. De roller som tilldelas ett säkerhetsobjekt avgör vilka behörigheter som huvudkontot ska ha. Mer information om Azure-roller finns i Inbyggda Azure-roller för Azure Event Hubs.
Inbyggda program och webbprogram som gör begäranden till Event Hubs kan också auktorisera med Microsoft Entra-ID. Information om hur du begär en åtkomsttoken och använder den för att auktorisera begäranden för Event Hubs-resurser finns i Autentisera åtkomst till Azure Event Hubs med Microsoft Entra-ID från ett program.
Tilldela Azure-roller för åtkomsträttigheter
Microsoft Entra auktoriserar åtkomsträttigheter till skyddade resurser via rollbaserad åtkomstkontroll i Azure (Azure RBAC). Azure Event Hubs definierar en uppsättning inbyggda Azure-roller som omfattar vanliga uppsättningar med behörigheter som används för att komma åt händelsehubbdata och du kan även definiera anpassade roller för åtkomst till data.
När en Azure-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. Ett Microsoft Entra-säkerhetsobjekt kan vara en användare, ett huvudnamn för programtjänsten eller en hanterad identitet för Azure-resurser.
Inbyggda Azure-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:
Roll | beskrivning |
---|---|
Azure Event Hubs-dataägare | Använd den här rollen för att ge fullständig åtkomst till Event Hubs-resurser. |
Azure Event Hubs-datasändare | Använd den här rollen för att ge skicka åtkomst till Event Hubs-resurser. |
Azure Event Hubs-datamottagare | Använd den här rollen för att ge den förbrukande/mottagande åtkomsten till Event Hubs-resurser. |
Inbyggda roller för Schema Registry finns i Schema Registry-roller.
Resursomfång
Innan du tilldelar en Azure-roll till ett säkerhetsobjekt ska du bestämma omfånget för åtkomst som säkerhetsobjektet ska ha. Bästa praxis kräver att det alltid är bäst att endast bevilja minsta möjliga omfång.
I följande lista beskrivs de nivåer där du kan begränsa åtkomsten till Event Hubs-resurser, med början med det smalaste omfånget:
- Konsumentgrupp: I det här omfånget gäller rolltilldelning endast för den här entiteten. För närvarande stöder Inte Azure-portalen tilldelning av en Azure-roll till ett säkerhetsobjekt på den här nivån.
- Händelsehubb: Rolltilldelning gäller för händelsehubbar och deras konsumentgrupper.
- Namnområde: Rolltilldelningen sträcker sig över hela topologin för Event Hubs under namnområdet och till den konsumentgrupp som är associerad med den.
- Resursgrupp: Rolltilldelning gäller för alla Event Hubs-resurser under resursgruppen.
- Prenumeration: Rolltilldelning gäller för alla Event Hubs-resurser i alla resursgrupper i prenumerationen.
Kommentar
- Tänk på att Azure-rolltilldelningar kan ta upp till fem minuter att sprida.
- Det här innehållet gäller för både Event Hubs och Event Hubs för Apache Kafka. Mer information om Event Hubs för Kafka-support finns i Event Hubs for Kafka – säkerhet och autentisering.
Mer information om hur inbyggda roller definieras finns i Förstå rolldefinitioner. Information om hur du skapar anpassade Azure-roller finns i Anpassade Azure-roller.
Exempel
Microsoft.Azure.EventHubs-exempel.
De här exemplen använder det äldre Microsoft.Azure.EventHubs-biblioteket , men du kan enkelt uppdatera det till det senaste Azure.Messaging.EventHubs-biblioteket . Information om hur du flyttar exemplet från att använda det äldre biblioteket till ett nytt finns i Guiden för att migrera från Microsoft.Azure.EventHubs till Azure.Messaging.EventHubs.
Azure.Messaging.EventHubs-exempel
Det här exemplet har uppdaterats för att använda det senaste Azure.Messaging.EventHubs-biblioteket .
Relaterat innehåll
- Lär dig hur du tilldelar en inbyggd Azure-roll till ett säkerhetsobjekt. Mer information finns i Autentisera åtkomst till Event Hubs-resurser med hjälp av Microsoft Entra-ID.
- Lär dig hur du skapar anpassade roller med Azure RBAC.
- Lär dig hur du använder Microsoft Entra-ID med EH
Se följande relaterade artiklar:
- Autentisera begäranden till Azure Event Hubs från ett program med hjälp av Microsoft Entra-ID
- Autentisera en hanterad identitet med Microsoft Entra-ID för åtkomst till Event Hubs-resurser
- Autentisera begäranden till Azure Event Hubs med signaturer för delad åtkomst
- Auktorisera åtkomst till Event Hubs-resurser med hjälp av signaturer för delad åtkomst