Uwierzytelnianie i autoryzacja w usłudze Service Bus

Są dwa sposoby uwierzytelniania i autoryzacji dostępu do zasobów usługi Azure Service Bus:

  • Microsoft Entra ID
  • Sygnatury dostępu współdzielonego (SAS).

Ten artykuł zawiera szczegółowe informacje na temat korzystania z tych dwóch typów mechanizmów zabezpieczeń.

Microsoft Entra ID

Integracja firmy Microsoft Entra z usługą Service Bus zapewnia kontrolę dostępu opartą na rolach (RBAC) do zasobów usługi Service Bus. Kontrola dostępu oparta na rolach platformy Azure umożliwia przyznawanie uprawnień jednostce zabezpieczeń, która może być użytkownikiem, grupą, jednostką usługi aplikacji lub tożsamością zarządzaną. Firma Microsoft Entra uwierzytelnia podmiot zabezpieczeń i zwraca token OAuth 2.0. Ten token może służyć do autoryzowania żądania dostępu do zasobu usługi Service Bus (kolejka, temat itd.).

Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą identyfikatora Entra firmy Microsoft, zobacz następujące artykuły:

Uwaga

Interfejs API REST usługi Service Bus obsługuje uwierzytelnianie OAuth za pomocą identyfikatora Entra firmy Microsoft.

Ważne

Autoryzowanie użytkowników lub aplikacji przy użyciu tokenu OAuth 2.0 zwróconego przez identyfikator Entra firmy Microsoft zapewnia lepsze zabezpieczenia i łatwość użycia za pośrednictwem sygnatur dostępu współdzielonego (SAS). W przypadku identyfikatora Entra firmy Microsoft nie ma potrzeby przechowywania tokenów w kodzie i ryzyka potencjalnych luk w zabezpieczeniach. Zalecamy używanie identyfikatora Entra firmy Microsoft z aplikacjami usługi Azure Service Bus, jeśli jest to możliwe.

Możesz wyłączyć uwierzytelnianie za pomocą klucza lokalnego lub sygnatury dostępu współdzielonego dla przestrzeni nazw usługi Service Bus i zezwolić tylko na uwierzytelnianie firmy Microsoft Entra. Aby uzyskać instrukcje krok po kroku, zobacz Wyłączanie uwierzytelniania lokalnego.

Sygnatura dostępu współdzielonego

Uwierzytelnianie sygnatury dostępu współdzielonego umożliwia przyznanie użytkownikowi dostępu do zasobów usługi Service Bus z określonymi prawami. Uwierzytelnianie za pomocą sygnatury dostępu współdzielonego w usłudze Service Bus wymaga konfiguracji klucza kryptograficznego ze skojarzonymi prawami dla zasobu usługi Service Bus. Klienci mogą następnie uzyskać dostęp do tego zasobu, prezentując token SAS, który składa się z identyfikatora URI zasobu, do którego uzyskiwany jest dostęp, oraz wygasania podpisanego przy użyciu skonfigurowanego klucza.

Klucze sygnatury dostępu współdzielonego można skonfigurować w przestrzeni nazw usługi Service Bus. Klucz dotyczy wszystkich jednostek obsługi komunikatów w tej przestrzeni nazw. Możesz również skonfigurować klucze w kolejkach i tematach usługi Service Bus. Aby użyć sygnatury dostępu współdzielonego, możesz skonfigurować regułę autoryzacji dostępu współdzielonego w przestrzeni nazw, kolejce lub temacie. Ta reguła składa się z następujących elementów:

  • KeyName: identyfikuje regułę.
  • PrimaryKey: klucz kryptograficzny używany do podpisywania/weryfikowania tokenów SAS.
  • SecondaryKey: klucz kryptograficzny używany do podpisywania/weryfikowania tokenów SAS.
  • Prawa: reprezentuje kolekcję udzielonych praw do nasłuchiwania, wysyłania lub zarządzania.

Reguły autoryzacji skonfigurowane na poziomie przestrzeni nazw mogą udzielać dostępu do wszystkich jednostek w przestrzeni nazw dla klientów z tokenami podpisanymi przy użyciu odpowiedniego klucza. Można skonfigurować maksymalnie 12 takich reguł autoryzacji w przestrzeni nazw, kolejce lub temacie usługi Service Bus. Domyślnie reguła autoryzacji dostępu współdzielonego ze wszystkimi prawami jest konfigurowana dla każdej przestrzeni nazw po pierwszej aprowizacji.

Aby uzyskać dostęp do jednostki, klient wymaga tokenu SAS wygenerowanego przy użyciu określonej reguły autoryzacji dostępu współdzielonego. Token sygnatury dostępu współdzielonego jest generowany przy użyciu klucza HMAC-SHA256 ciągu zasobu, który składa się z identyfikatora URI zasobu, do którego jest uzyskiwany dostęp, oraz wygaśnięcia z kluczem kryptograficznym skojarzonym z regułą autoryzacji.

Obsługa uwierzytelniania sygnatury dostępu współdzielonego dla usługi Service Bus jest zawarta w zestawie Azure .NET SDK w wersji 2.0 lub nowszej. Sygnatura dostępu współdzielonego obejmuje obsługę reguły autoryzacji dostępu współdzielonego. Wszystkie interfejsy API, które akceptują parametry połączenia jako parametr, obejmują obsługę parametry połączenia SAS.

Następne kroki

Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą identyfikatora Entra firmy Microsoft, zobacz następujące artykuły:

Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą sygnatury dostępu współdzielonego, zobacz następujące artykuły: