Uwierzytelnianie i autoryzacja usługi Azure Relay
Istnieją dwa sposoby uwierzytelniania i autoryzacji dostępu do zasobów usługi Azure Relay: Identyfikator entra firmy Microsoft i 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 usługi Microsoft Entra dla zasobów usługi Azure Relay zapewnia kontrolę dostępu opartą na rolach (RBAC) platformy Azure w celu precyzyjnej kontroli dostępu klienta do zasobów. Za pomocą kontroli dostępu opartej na rolach platformy Azure możesz udzielić uprawnień jednostce zabezpieczeń, która może być użytkownikiem, grupą lub jednostką usługi aplikacji. Podmiot zabezpieczeń jest uwierzytelniany przez identyfikator entra firmy Microsoft w celu zwrócenia tokenu OAuth 2.0. Token może służyć do autoryzowania żądania dostępu do zasobu usługi Azure Relay.
Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą identyfikatora Entra firmy Microsoft, zobacz następujące artykuły:
- Uwierzytelnianie za pomocą tożsamości zarządzanych
- Uwierzytelnianie z aplikacji Firmy Microsoft Entra
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 Relay, jeśli jest to możliwe.
Wbudowane role
W przypadku usługi Azure Relay zarządzanie przestrzeniami nazw i wszystkimi powiązanymi zasobami za pośrednictwem witryny Azure Portal i interfejsu API zarządzania zasobami platformy Azure jest już chronione przy użyciu modelu RBAC platformy Azure. Platforma Azure udostępnia poniższe wbudowane role platformy Azure umożliwiające autoryzowanie dostępu do przestrzeni nazw usługi Relay:
Rola | opis |
---|---|
Właściciel usługi Azure Relay | Użyj tej roli, aby udzielić pełnego dostępu do zasobów usługi Azure Relay. |
Odbiornik usługi Azure Relay | Ta rola służy do udzielania dostępu do nasłuchiwania i odczytu jednostek do zasobów usługi Azure Relay. |
Nadawca usługi Azure Relay | Ta rola służy do udzielania dostępu do odczytu jednostek i wysyłania do zasobów usługi Azure Relay. |
Sygnatura dostępu współdzielonego
Aplikacje mogą uwierzytelniać się w usłudze Azure Relay przy użyciu uwierzytelniania sygnatury dostępu współdzielonego (SAS). Uwierzytelnianie sygnatury dostępu współdzielonego umożliwia aplikacjom uwierzytelnianie w usłudze Azure Relay przy użyciu klucza dostępu skonfigurowanego w przestrzeni nazw usługi Relay. Następnie możesz użyć tego klucza do wygenerowania tokenu sygnatury dostępu współdzielonego, którego klienci mogą używać do uwierzytelniania w usłudze przekazywania.
Uwierzytelnianie sygnatury dostępu współdzielonego umożliwia przyznanie użytkownikowi dostępu do zasobów usługi Azure Relay z określonymi prawami. Uwierzytelnianie sygnatury dostępu współdzielonego obejmuje konfigurację klucza kryptograficznego ze skojarzonymi prawami do zasobu. 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 Relay. W przeciwieństwie do komunikatów usługi Service Bus połączenia hybrydowe usługi Relay obsługują nieautoryzowanych lub anonimowych nadawców. Dostęp anonimowy dla jednostki można włączyć podczas jej tworzenia, jak pokazano na poniższym zrzucie ekranu z portalu:
Aby użyć sygnatury dostępu współdzielonego, można skonfigurować obiekt SharedAccessAuthorizationRule w przestrzeni nazw usługi Relay, która składa się z następujących właściwości:
- KeyName identyfikujący regułę.
- PrimaryKey to klucz kryptograficzny używany do podpisywania/weryfikowania tokenów SAS.
- SecondaryKey to klucz kryptograficzny używany do podpisywania/weryfikowania tokenów SAS.
- Prawa reprezentujące 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 połączeń przekaźnika w przestrzeni nazw dla klientów z tokenami podpisanymi przy użyciu odpowiedniego klucza. W przestrzeni nazw usługi Relay można skonfigurować maksymalnie 12 takich reguł autoryzacji. Domyślnie reguła SharedAccessAuthorizationRule ze wszystkimi prawami jest konfigurowana dla każdej przestrzeni nazw po jej pierwszej aprowizacji.
Aby uzyskać dostęp do jednostki, klient wymaga tokenu SAS wygenerowanego przy użyciu określonego obiektu SharedAccessAuthorizationRule. 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 Azure Relay jest zawarta w zestawie Azure .NET SDK w wersji 2.0 lub nowszej. Sygnatura dostępu współdzielonego obejmuje obsługę reguły SharedAccessAuthorizationRule. Wszystkie interfejsy API, które akceptują parametry połączenia jako parametr, obejmują obsługę parametry połączenia SAS.
Przykłady
- Połączenia hybrydowe: .NET, Java, JavaScript
- Przekaźnik WCF: .NET
Następne kroki
- Kontynuuj czytanie uwierzytelniania usługi Service Bus z sygnaturami dostępu współdzielonego, aby uzyskać więcej informacji na temat sygnatur dostępu współdzielonego.
- Aby uzyskać szczegółowe informacje na temat możliwości połączeń hybrydowych, zobacz Przewodnik po protokole połączeń hybrydowych usługi Azure Relay.
- Aby uzyskać odpowiednie informacje na temat uwierzytelniania i autoryzacji komunikatów usługi Service Bus, zobacz Uwierzytelnianie i autoryzacja usługi Service Bus.