Identitätsmodell

Azure Communication Services ist ein identitätsunabhängiger Dienst, der mehrere Vorteile bietet:

  • Verwenden Sie vorhandene Identitäten aus Ihrem Identitätsverwaltungssystem wieder, und ordnen Sie sie einfach azure Communication Services-Identitäten zu.
  • Bietet Integrationsflexibilität als identitätsunabhängiges Modell funktioniert gut mit Ihrem vorhandenen Identitätssystem.
  • Sie können die Daten Ihres Benutzers, z. B. deren Namen, privat lassen, da Sie sie nicht in Azure Communication Services duplizieren müssen.

Das Identitätsmodell von Azure Communication Services funktioniert mit zwei Schlüsselkonzepten.

Benutzeridentität/Zuordnung

Identifiziert einen Benutzer eindeutig über einen Benutzerbezeichner, der von Azure Communication Services generiert wird, wenn ein Benutzer erstellt wird. Externe Bezeichner wie Telefonnummern, Benutzer, Geräte, Anwendungen und GUIDs können in Azure Communication Services nicht für die Identität verwendet werden. Sie können kostenlos Azure Communication Service-Benutzeridentitäten erstellen. Gebühren entstehen nur, wenn der Benutzer Kommunikationsmodalitäten wie einen Chat oder einen Anruf nutzt. Ihre Benutzeridentität kann azure Communication Services-Benutzeridentität in 1:1, 1:N, N:1, N:1, N:N-Konfigurationen zugeordnet werden. Ein Benutzer kann an mehreren Kommunikationssitzungen teilnehmen, wobei mehrere Geräte gleichzeitig verwendet werden. Die Zuordnung zwischen Azure Communication Services-Benutzeridentität und der privaten Benutzeridentität des Kunden wird vom Kunden beibehalten und Standard. Kunden können beispielsweise eine CommunicationServicesId Spalte in ihrer Benutzertabelle hinzufügen, um die zugeordnete Azure Communication Services-Identität zu speichern.

Zugriffstoken

Nachdem eine Benutzeridentität erstellt wurde, wird einem Benutzer die Möglichkeit gewährt, mithilfe von Zugriffstoken an der Kommunikation mithilfe von Chats oder Anrufen teilzunehmen. Beispielsweise kann nur ein Benutzer mit Chattoken an Chat und Benutzer mit VoIP-Token teilnehmen, an einem VoIP-Anruf teilnehmen. Ein Benutzer kann mehrere Token gleichzeitig haben. Azure Communication Services unterstützt mehrere Tokentypen für Benutzer, die vollzugriff und eingeschränkten Zugriff erfordern. Zugriffstoken weisen die folgenden Eigenschaften auf.

Eigenschaft Beschreibung
Identity Identifiziert ein Token eindeutig
Ablauf Ein Zugriffstoken ist für einen Zeitraum zwischen 1 und 24 Stunden gültig. Nach Ablauf dieser Zeit wird das Zugriffstoken ungültig und kann nicht mehr für den Zugriff auf Primitive verwendet werden. Um ein Token mit einer benutzerdefinierten Gültigkeit zu generieren, geben Sie beim Generieren des Tokens den gewünschten Gültigkeitszeitraum an. Wenn keine benutzerdefinierte Gültigkeit angegeben wird, ist das Token 24 Stunden lang gültig. Es wird empfohlen, kurze Lebensdauertoken für einmalige Besprechungen und längere Lebensdauertoken für Agents zu verwenden, die die Anwendung für längere Zeit verwenden.
Umfang Der Bereichsparameter definiert einen nicht zu nutzenden Satz von Grundtypen (Chat/VoIP), der verwendet werden kann.

Ein Zugriffstoken ist ein JSON-Webtoken (JWT) und verfügt über Integritätsschutz. D. h., seine Ansprüche können nach dem Ausstellen nicht geändert werden. Durch die manuelle Änderung von Eigenschaften wie Identität, Ablauf oder Bereichen wird das Zugriffstoken also ungültig. Wenn Primitive mit ungültigen Token verwendet werden, wird der Zugriff auf die Primitiven verweigert. Azure Communication Services unterstützt die folgenden Bereiche für Zugriffstoken.

Chattokenbereiche

Drei Arten von Chattokenbereichen werden unterstützt. Die Berechtigungen für jedes Token werden unten beschrieben.

  • Chat
  • chat.join
  • chat.join.limited
Funktion/Tokenbereich Chat chat.join chat.join.limited
Chatthread erstellen Y N N
Chatthread mit ID aktualisieren Y N N
Chatthread mit ID löschen Y N N
Hinzufügen eines Teilnehmers zu einem Chatthread Y Y N
Entfernen eines Teilnehmers aus einem Chatthread Y Y N
Abrufen von Chatthreads Y Y J
Chatthread mit ID abrufen Y Y J
ReadReceipt abrufen Y Y J
ReadReceipt erstellen Y Y J
Erstellen einer Nachricht für Chatthread mit ID Y Y J
Nachricht mit Nachrichten-ID abrufen Y Y J
Aktualisieren Ihrer eigenen Nachricht mit Nachrichten-ID Y Y J
Löschen Ihrer eigenen Nachricht mit Nachrichten-ID Y Y J
Eingabeindikator senden Y Y J
Teilnehmer für Thread-ID abrufen Y Y J

VoIP-Tokenbereiche

Zwei Arten von VoIP-Tokenbereichen werden unterstützt. Die Berechtigungen für jedes Token werden unten beschrieben.

  • Voip
  • voip.join
Funktion/Tokenbereich Voip voip.join
Starten eines VoIP-Anrufs Y N
Starten eines VoIP-Anrufs in virtuellen Räumen, wenn der Benutzer bereits zum Raum eingeladen ist Y J
Teilnehmen an einem InProgress-VoIP-Anruf Y J
Teilnehmen an einem InProgress VoIP-Anruf in virtuellen Räumen, wenn der Benutzer bereits zum Raum eingeladen wird Y J
Alle anderen In-Call-Vorgänge wie Stummschaltung/Stummschaltung aufheben, Bildschirmfreigabe usw. Y J
Alle anderen In-Call-Vorgänge wie Stummschaltung/Stummschaltung aufheben, Bildschirmfreigabe usw. in virtuellen Räumen Bestimmt von der Benutzerrolle Bestimmt von der Benutzerrolle

Widerrufen oder Aktualisieren des Zugriffstokens

  • Die Identitätsbibliothek von Azure Communication Services kann verwendet werden, um ein Zugriffstoken vor dem Ablaufzeitpunkt zu widerrufen. Der Tokenwiderruf ist nicht sofort wirksam. Es kann bis zu 15 Minuten dauern, bis sie verteilt werden.
  • Das Entfernen von Identitäten, Ressourcen oder Abonnements widerruft alle Zugriffstoken.
  • Wenn Sie verhindern möchten, dass ein Benutzer auf bestimmte Funktionen zugreifen kann, widerrufen Sie alle Zugriffstoken. Stellen Sie dann ein neues Zugriffstoken mit einem eingeschränkteren Satz von Bereichen aus.
  • Durch die Drehung von Zugriffstasten werden alle aktiven Zugriffstoken widerrufen, die mit einem früheren Zugriffsschlüssel erstellt wurden. In diesem Fall verlieren alle Identitäten den Zugriff auf Azure Communication Services, und sie müssen neue Zugriffstoken ausgeben.

Überlegungen

  • Es wird empfohlen, Zugriffstoken in Ihrem serverseitigen Dienst und nicht in der Anwendung des Clients auszustellen. Die Begründung besteht darin, dass das Ausstellen einen Zugriffsschlüssel oder eine Microsoft Entra-Authentifizierung erfordert. Aus Sicherheitsgründen wird davon abgeraten, die Zugriffsschlüssel mit der Anwendung des Clients zu teilen.
  • Clientanwendung sollte einen vertrauenswürdigen Dienstendpunkt verwenden, der Clients authentifizieren kann. Der Endpunkt sollte Zugriffstoken in ihrem Namen ausstellen. Weitere Informationen finden Sie unter Client- und Serverarchitektur.
  • Wenn Sie Zugriffstoken in einen Sicherungsspeicher zwischenspeichern, empfehlen wir die Verwendung von Verschlüsselung. Zugriffstoken zählen zu den sensiblen Daten. Sie können für schädliche Aktivitäten verwendet werden, wenn sie nicht geschützt werden. Eine Person, die über ein Zugriffstoken verfügt, kann das SDK starten und auf die API zugreifen. Die API, auf die zugegriffen werden kann, ist nur auf der Grundlage von Bereichen eingeschränkt, die zum Zugriffstoken gehören.
  • Sie sollten Zugriffstoken ausstellen, die nur über die erforderlichen Bereiche verfügen.

Nächste Schritte