Model tożsamości

Azure Communication Services to niezależna od tożsamości usługa, która oferuje wiele korzyści:

  • Ponownie użyj istniejących tożsamości z systemu zarządzania tożsamościami i po prostu zamapuj je przy użyciu tożsamości usług Azure Communication Services.
  • Zapewnia elastyczność integracji, ponieważ model niezależny od tożsamości działa dobrze z istniejącym systemem tożsamości.
  • Możesz zachować dane użytkownika, takie jak ich nazwa, prywatne, ponieważ nie trzeba ich duplikować w usługach Azure Communication Services.

Model tożsamości usług Azure Communication Services współpracuje z dwoma kluczowymi pojęciami.

Tożsamość użytkownika/mapowanie

Jednoznacznie identyfikuje użytkownika za pomocą identyfikatora użytkownika, który jest generowany przez usługi Azure Communication Services podczas tworzenia użytkownika. Identyfikatory zewnętrzne, takie jak numery telefonów, użytkownicy, urządzenia, aplikacje i identyfikatory GUID, nie mogą być używane do obsługi tożsamości w usługach Azure Communication Services. Tożsamości użytkowników usługi Azure Communication Service można utworzyć bezpłatnie. Opłaty są naliczane tylko wtedy, gdy użytkownik korzysta z procedur komunikacji, takich jak czat lub połączenie. Tożsamość użytkowników można mapować na tożsamość użytkownika usług Azure Communication Services w konfiguracji 1:1, 1:N, N:1, N:N. Użytkownik może uczestniczyć w wielu sesjach komunikacji przy użyciu wielu urządzeń jednocześnie. Mapowanie tożsamości użytkownika usług Azure Communication Services i tożsamości użytkownika prywatnego klienta jest zachowywane i obsługiwane przez klienta. Na przykład klienci mogą dodać kolumnę CommunicationServicesId w tabeli użytkowników w celu przechowywania skojarzonej tożsamości usług Azure Communication Services.

Tokeny dostępu

Po utworzeniu tożsamości użytkownika użytkownik otrzymuje możliwość udziału w komunikacji przy użyciu czatów lub połączeń przy użyciu tokenów dostępu. Na przykład tylko użytkownik z tokenem czatu może uczestniczyć w czacie i użytkownik z tokenem VoIP może uczestniczyć w wywołaniu VoIP. Użytkownik może mieć jednocześnie wiele tokenów. Usługi Azure Communication Services obsługują wiele typów tokenów do konta użytkowników, którzy wymagają pełnego dostępu i ograniczonego dostępu. Tokeny dostępu mają następujące właściwości.

Właściwości opis
Tożsamość Unikatowo identyfikuje token
Wygaśnięcie Token dostępu jest ważny przez okres od 1 do 24 godzin. Po wygaśnięciu token dostępu zostanie unieważniony i nie można go użyć do uzyskania dostępu do żadnego elementu pierwotnego. Aby wygenerować token z niestandardową ważnością, określ żądany okres ważności podczas generowania tokenu. Jeśli nie określono niestandardowej ważności, token będzie ważny przez 24 godziny. Zalecamy używanie tokenów krótkiego okresu istnienia na potrzeby jednorazowych spotkań i dłuższych tokenów okresu istnienia dla agentów korzystających z aplikacji przez dłuższy czas
Scope Parametr zakresu definiuje nieistotny zestaw elementów pierwotnych (Chat/VoIP), których można użyć.

Token dostępu jest tokenem sieci Web JSON (JWT) i ma ochronę integralności. Oznacza to, że jego roszczenia nie można zmienić po wydaniu. Dlatego ręczna zmiana właściwości, takich jak tożsamość, wygaśnięcie lub zakresy, spowoduje unieważnienie tokenu dostępu. Jeśli elementy pierwotne są używane z unieważnianymi tokenami, dostęp zostanie odrzucony dla elementów pierwotnych. Usługi Azure Communication Services obsługują następujące zakresy tokenów dostępu.

Zakresy tokenu czatu

Obsługiwane są trzy typy zakresów tokenów czatu. Uprawnienia dla każdego tokenu zostały opisane poniżej.

  • czat
  • chat.join
  • chat.join.limited
Możliwości/Zakres tokenu czat chat.join chat.join.limited
Tworzenie wątku czatu Y N N
Aktualizowanie wątku czatu o identyfikatorze Y N N
Usuwanie wątku czatu o identyfikatorze Y N N
Dodawanie uczestnika do wątku czatu Y Y N
Usuwanie uczestnika z wątku czatu Y Y N
Pobieranie wątków czatu Y Y Y
Pobieranie wątku czatu o identyfikatorze Y Y Y
Pobieranie elementu ReadReceipt Y Y Y
Tworzenie elementu ReadReceipt Y Y Y
Tworzenie wiadomości dla wątku czatu o identyfikatorze Y Y Y
Pobieranie wiadomości z identyfikatorem komunikatu Y Y Y
Aktualizowanie własnej wiadomości przy użyciu identyfikatora komunikatu Y Y Y
Usuwanie własnej wiadomości z identyfikatorem komunikatu Y Y Y
Wskaźnik wysyłania wpisywania Y Y Y
Pobieranie uczestnika dla identyfikatora wątku Y Y Y

Zakresy tokenów VoIP

Obsługiwane są dwa typy zakresów tokenów VoIP. Uprawnienia dla każdego tokenu zostały opisane poniżej.

  • Voip
  • voip.join
Możliwości/Zakres tokenu Voip voip.join
Uruchamianie połączenia VoIP Y N
Rozpoczynanie połączenia VoIP w pokojach wirtualnych, gdy użytkownik jest już zaproszony do pokoju Y Y
Dołączanie do połączenia VoIP w usłudze InProgress Y Y
Dołącz do połączenia VoIP inProgress w pokojach wirtualnych, gdy użytkownik jest już zaproszony do pokoju Y Y
Wszystkie inne operacje wywołania, takie jak wyciszanie/wyciszanie, udostępnianie ekranu itp. Y Y
Wszystkie inne operacje wywołania, takie jak wyciszenie/wyciszenie, udostępnianie ekranu itp. w pokojach wirtualnych Określana przez rolę użytkownika Określana przez rolę użytkownika

Odwoływanie lub aktualizowanie tokenu dostępu

  • Biblioteka tożsamości usług Azure Communication Services może służyć do odwoływanie tokenu dostępu przed upływem czasu wygaśnięcia. Odwołanie tokenu nie jest natychmiastowe. Propagacja może potrwać do 15 minut.
  • Usunięcie tożsamości, zasobu lub subskrypcji odwołuje wszystkie tokeny dostępu.
  • Jeśli chcesz usunąć możliwość uzyskiwania dostępu do określonych funkcji przez użytkownika, odwołaj wszystkie tokeny dostępu. Następnie wydaj nowy token dostępu, który ma bardziej ograniczony zestaw zakresów.
  • Rotacja kluczy dostępu odwołuje wszystkie aktywne tokeny dostępu, które zostały utworzone przy użyciu byłego klucza dostępu. W takim przypadku wszystkie tożsamości utracą dostęp do usług Azure Communication Services i muszą wystawiać nowe tokeny dostępu.

Kwestie wymagające rozważenia

  • Zalecamy wystawianie tokenów dostępu w usłudze po stronie serwera, a nie w aplikacji klienta. Przyczyną jest to, że wystawianie wymaga klucza dostępu lub uwierzytelniania entra firmy Microsoft. Udostępnianie wpisów tajnych aplikacji klienta nie jest zalecane ze względów bezpieczeństwa.
  • Aplikacja kliencka powinna używać zaufanego punktu końcowego usługi, który może uwierzytelniać klientów. Punkt końcowy powinien wystawiać tokeny dostępu w ich imieniu. Aby uzyskać więcej informacji, zobacz Architektura klienta i serwera.
  • Jeśli buforujesz tokeny dostępu do magazynu kopii zapasowych, zalecamy użycie szyfrowania. Token dostępu jest poufnymi danymi. Może być używany do złośliwego działania, jeśli nie jest chroniony. Osoba, która ma token dostępu, może uruchomić zestaw SDK i uzyskać dostęp do interfejsu API. Dostępny interfejs API jest ograniczony tylko w oparciu o zakresy, które ma token dostępu.
  • Zalecamy wystawianie tokenów dostępu, które mają tylko wymagane zakresy.

Następne kroki