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.

  1. 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 är https://<namespace>.servicebus.windows.netresursen för att begära en token .
  2. 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

Se följande relaterade artiklar: