Service Bus, autentisering och auktorisering

Det finns två sätt att autentisera och auktorisera åtkomst till Azure Service Bus-resurser:

  • Microsoft Entra ID
  • Signaturer för delad åtkomst (SAS).

Den här artikeln innehåller information om hur du använder dessa två typer av säkerhetsmekanismer.

Microsoft Entra ID

Microsoft Entra-integrering med Service Bus ger rollbaserad åtkomstkontroll (RBAC) till Service Bus-resurser. Du kan använda Azure RBAC för att bevilja behörigheter till ett säkerhetsobjekt, som kan vara en användare, en grupp, ett huvudnamn för programtjänsten eller en hanterad identitet. Microsoft Entra autentiserar säkerhetsobjektet och returnerar en OAuth 2.0-token. Den här token kan användas för att auktorisera en begäran om åtkomst till en Service Bus-resurs (kö, ämne och så vidare).

Mer information om autentisering med Microsoft Entra-ID finns i följande artiklar:

Kommentar

Service Bus REST API stöder OAuth-autentisering med Microsoft Entra-ID.

Viktigt!

Att auktorisera användare eller program med OAuth 2.0-token som returneras av Microsoft Entra ID ger överlägsen säkerhet och användarvänlighet för signaturer för delad åtkomst (SAS). Med Microsoft Entra-ID behöver du inte lagra token i koden och riskera potentiella säkerhetsrisker. Vi rekommenderar att du använder Microsoft Entra-ID med dina Azure Service Bus-program när det är möjligt.

Du kan inaktivera lokal autentisering eller SAS-nyckelautentisering för ett Service Bus-namnområde och endast tillåta Microsoft Entra-autentisering. Stegvisa instruktioner finns i Inaktivera lokal autentisering.

Signatur för delad åtkomst

MED SAS-autentisering kan du ge en användare åtkomst till Service Bus-resurser med specifika rättigheter. SAS-autentiseringen i Service Bus innefattar konfiguration av en kryptografisk nyckel med associerade rättigheter för en Service Bus-resurs. Klienter kan sedan få åtkomst till resursen genom att presentera en SAS-token, som består av resurs-URI:n som används och ett utgångsdatum som har signerats med den konfigurerade nyckeln.

Du kan konfigurera nycklar för SAS på ett Service Bus-namnområde. Nyckeln gäller för alla meddelandeentiteter i det namnområdet. Du kan också konfigurera nycklar i Service Bus-köer och -ämnen. Om du vill använda SAS kan du konfigurera en auktoriseringsregel för delad åtkomst i ett namnområde, en kö eller ett ämne. Den här regeln består av följande element:

  • KeyName: identifierar regeln.
  • PrimaryKey: en kryptografisk nyckel som används för att signera/verifiera SAS-token.
  • SecondaryKey: en kryptografisk nyckel som används för att signera/validera SAS-token.
  • Rättigheter: representerar samlingen av rättigheter för lyssna, skicka eller hantera som beviljats.

Auktoriseringsregler som konfigurerats på namnområdesnivå kan ge åtkomst till alla entiteter i ett namnområde för klienter med token signerade med hjälp av motsvarande nyckel. Du kan konfigurera upp till 12 sådana auktoriseringsregler i ett Service Bus-namnområde, en kö eller ett ämne. Som standard konfigureras en auktoriseringsregel för delad åtkomst med alla rättigheter för varje namnområde när den först etableras.

För att få åtkomst till en entitet kräver klienten en SAS-token som genereras med hjälp av en specifik auktoriseringsregel för delad åtkomst. SAS-token genereras med hjälp av HMAC-SHA256 för en resurssträng som består av den resurs-URI som åtkomsten begärs till och en förfallodatum med en kryptografisk nyckel som är associerad med auktoriseringsregeln.

SAS-autentiseringsstöd för Service Bus ingår i Azure .NET SDK-versionerna 2.0 och senare. SAS innehåller stöd för en auktoriseringsregel för delad åtkomst. Alla API:er som accepterar en anslutningssträng som en parameter innehåller stöd för SAS-anslutningssträng.

Nästa steg

Mer information om autentisering med Microsoft Entra-ID finns i följande artiklar:

Mer information om autentisering med SAS finns i följande artiklar: