Kontrollera åtkomsten till händelser

Slutförd

Azure Event Hubs stöder både Microsoft Entra-ID och signaturer för delad åtkomst (SAS) för att hantera både autentisering och auktorisering. 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:

Auktorisera åtkomst med hanterade identiteter

Om du vill auktorisera en begäran till Event Hubs-tjänsten från en hanterad identitet i ditt program måste du konfigurera rollbaserade åtkomstkontrollinställningar för Azure för den hanterade identiteten. Azure Event Hubs definierar Azure-roller som omfattar behörigheter för att skicka och läsa från Event Hubs. När Azure-rollen tilldelas till en hanterad identitet beviljas den hanterade identiteten åtkomst till Event Hubs-data i lämpligt omfång.

Auktorisera åtkomst med Microsofts identitetsplattform

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.

Auktorisera åtkomst till Event Hubs-utgivare med signaturer för delad åtkomst

En händelseutgivare definierar en virtuell slutpunkt för en händelsehubb. Utgivaren kan bara användas för att skicka meddelanden till en händelsehubb och inte ta emot meddelanden. Vanligtvis använder en händelsehubb en utgivare per klient. Alla meddelanden som skickas till någon av utgivaren av en händelsehubb lagras i händelsehubben. Utgivare aktiverar detaljerad åtkomstkontroll.

Varje Event Hubs-klient tilldelas en unik token som laddas upp till klienten. En klient som innehåller en token kan bara skicka till en utgivare och ingen annan utgivare. Om flera klienter delar samma token delar var och en av dem utgivaren.

Alla token tilldelas med signaturnycklar för delad åtkomst. Vanligtvis signeras alla token med samma nyckel. Klienter känner inte till nyckeln, vilket hindrar klienter från att tillverka token. Klienterna arbetar på samma token tills de upphör att gälla.

Auktorisera åtkomst till Event Hubs-konsumenter med signaturer för delad åtkomst

För att autentisera backend-program som förbrukar från data som genereras av Event Hubs-producenter kräver Event Hubs-tokenautentisering att dess klienter antingen har hanteringsrättigheter eller lyssningsbehörigheter som tilldelats dess Event Hubs-namnområde eller händelsehubbinstans eller ämne. Data förbrukas från Event Hubs med hjälp av konsumentgrupper. Sas-principen ger dig ett detaljerat omfång, men det här omfånget definieras endast på entitetsnivå och inte på konsumentnivå. Det innebär att behörigheterna som definieras på namnområdesnivå eller händelsehubbens instans- eller ämnesnivå är till konsumentgrupperna för den entiteten.