Service Bus-Authentifizierung und -Autorisierung

Es gibt zwei Möglichkeiten, den Zugriff auf Azure Service Bus-Ressourcen zu authentifizieren und zu autorisieren:

  • Microsoft Entra ID
  • Shared Access Signatures (SAS).

In diesem Artikel erhalten Sie Informationen zur Verwendung dieser beiden Arten von Sicherheitsmechanismen.

Microsoft Entra ID

Die Microsoft Entra-Integration mit Service Bus bietet eine rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) für Service Bus-Ressourcen. Sie können Azure RBAC verwenden, um Berechtigungen für einen Sicherheitsprinzipal zu erteilen, bei dem es sich um einen Benutzer, eine Gruppe, einen Anwendungsdienstprinzipal oder eine verwaltete Identität handeln kann. Microsoft Entra authentifiziert den Sicherheitsprinzipal und gibt ein OAuth 2.0-Token zurück. Dieses Token kann zum Autorisieren einer Anforderung für den Zugriff auf eine Service Bus-Ressource (Warteschlange, Thema usw.) verwendet werden.

Weitere Informationen zur Authentifizierung mit Microsoft Entra ID finden Sie in den folgenden Artikeln:

Hinweis

Die Service Bus-REST-API unterstützt die OAuth-Authentifizierung mit Microsoft Entra ID.

Wichtig

Das Autorisieren von Benutzern oder Anwendungen mithilfe eines von Microsoft Entra ID zurückgegebenen OAuth 2.0-Tokens bietet mehr Sicherheit und Benutzerfreundlichkeit als die Autorisierung per SAS (Shared Access Signature). Mit Microsoft Entra ID ist es nicht erforderlich, Token in Ihrem Code zu speichern und potenzielle Sicherheitsrisiken einzugehen. Wir empfehlen, nach Möglichkeit Microsoft Entra ID für Ihre Azure Service Bus-Anwendungen zu verwenden.

Sie können lokale Authentifizierung oder SAS-Schlüsselauthentifizierung für einen Service Bus-Namespace deaktivieren und nur Microsoft Entra-Authentifizierung zulassen. Eine schrittweise Anleitung finden Sie unter Deaktivieren der lokalen Authentifizierung.

Shared Access Signature (SAS)

Mit der SAS-Authentifizierung können Sie einem Benutzer Zugriff auf Service Bus-Ressourcen mit spezifischen Rechten gewähren. Die SAS-Authentifizierung in Service Bus umfasst die Konfiguration eines kryptografischen Schlüssels mit den zugehörigen Rechten für eine Service Bus-Ressource. Clients können Zugriff auf diese Ressource erlangen, indem sie ein SAS-Token bereitstellen. Dieses setzt sich aus dem Ressourcen-URI, auf den zugegriffen wird, und einer Ablaufangabe zusammen, die mit dem konfigurierten Schlüssel signiert wird.

Sie können Schlüssel für SAS für einen Service Bus-Namespace konfigurieren. Der betreffende Schlüssel gilt für alle Messagingentitäten innerhalb des jeweiligen Namespace. Sie können auch Schlüssel für Service Bus-Warteschlangen und -Themen konfigurieren. Wenn Sie SAS verwenden möchten, können Sie eine Autorisierungsregel für gemeinsamen Zugriff für einen Namespace, eine Warteschlange oder ein Thema konfigurieren. Diese Regel besteht aus den folgenden Elementen:

  • KeyName: identifiziert die Regel.
  • PrimaryKey: ein kryptografischer Schlüssel, der zum Signieren/Überprüfen von SAS-Token verwendet wird.
  • SecondaryKey: ein kryptografischer Schlüssel, der zum Signieren/Überprüfen von SAS-Token verwendet wird.
  • Rechte: stellt die Auflistung der erteilten Lausch-, Sende- oder Verwaltungsrechte (Listen, Send, Manage) dar.

Autorisierungsregeln, die auf Namespace-Ebene konfiguriert werden, können Zugriff auf alle Entitäten in einem Namespace für Clients mit Token erteilen, die mithilfe des entsprechenden Schlüssels signiert wurden. Sie können bis zu zwölf solcher Autorisierungsregeln für einen Service Bus-Namespace, eine Service Bus-Warteschlange oder ein Service Bus-Thema konfigurieren. Standardmäßig wird für jeden Namespace bei der ersten Bereitstellung eine Autorisierungsregel für gemeinsamen Zugriff mit allen Rechten konfiguriert.

Für den Zugriff auf eine Entität erfordert der Client ein SAS-Token, das mithilfe einer bestimmten Autorisierungsregel für gemeinsamen Zugriff generiert wurde. Das SAS-Token wird anhand des HMAC-SHA256-Codes einer Ressourcenzeichenfolge generiert. Diese besteht aus dem Ressourcen-URI, auf den der Zugriff beansprucht wird, sowie aus einer Ablaufangabe mit einem kryptografischen Schlüssel, der der Autorisierungsregel zugeordnet ist.

Die Unterstützung der SAS-Authentifizierung für Service Bus ist im Azure .NET SDK, Version 2.0 oder höher, enthalten. SAS beinhaltet die Unterstützung einer Autorisierungsregel für gemeinsamen Zugriff. Alle APIs, die eine Verbindungszeichenfolge als Parameter akzeptieren, enthalten Unterstützung für SAS-Verbindungszeichenfolgen.

Nächste Schritte

Weitere Informationen zur Authentifizierung mit Microsoft Entra ID finden Sie in den folgenden Artikeln:

Weitere Informationen zur Authentifizierung mit SAS finden Sie in den folgenden Artikeln: