Authentifizieren bei Azure Communication Services

Jede Clientinteraktion mit Azure Communication Services muss authentifiziert werden. Bei einer typischen Architektur werden (siehe Client- und Serverarchitektur), Zugriffsschlüssel oder Microsoft Entra-Authentifizierung für die serverseitige Authentifizierung verwendet.

Ein anderer Authentifizierungstyp verwendet Benutzerzugriffstoken für die Authentifizierung bei Diensten, die Benutzereingriffe erfordern. Beispielsweise verwendet der Chat- oder Anrufdienst Benutzerzugriffstoken, um das Hinzufügen von Benutzern zu einem Thread und Unterhaltungen untereinander zu ermöglichen.

Authentifizierungsoptionen

Die folgende Tabelle zeigt die Azure Communication Services SDKs und ihre Authentifizierungsoptionen an:

SDK Authentifizierungsoption
Identität Zugriffsschlüssel oder Microsoft Entra-Authentifizierung
SMS Zugriffsschlüssel oder Microsoft Entra-Authentifizierung
Telefonnummern Zugriffsschlüssel oder Microsoft Entra-Authentifizierung
E‑Mail Zugriffsschlüssel oder Microsoft Entra-Authentifizierung
Calling Benutzerzugriffstoken
Chat Benutzerzugriffstoken

Im Anschluss werden die einzelnen Autorisierungsoptionen kurz erläutert:

Zugriffsschlüssel

Die Zugriffsschlüssel-Authentifizierung eignet sich für Dienstanwendungen, die in einer vertrauenswürdigen Dienstumgebung ausgeführt werden. Den Zugriffsschlüssel finden Sie im Azure Communication Services-Portal. Die Dienstanwendung verwendet es als Anmeldeberechtigung, um die entsprechenden SDKs zu initialisieren. Sehen Sie sich ein Beispiel dafür an, wie es im Identity SDKverwendet wird.

Da der Zugriffsschlüssel Teil der Verbindungszeichenfolge Ihrer Ressource ist, entspricht die Authentifizierung mit einer Verbindungszeichenfolge der Authentifizierung mit einem Zugriffsschlüssel.

Wenn Sie Azure Communication Services-APIs manuell mithilfe einer Zugriffstaste aufrufen möchten, müssen Sie die Anforderung signieren. Das Signieren der Anforderung wird ausführlich im Tutorialerläutert.

Microsoft Entra-Authentifizierung

Die Azure-Plattform bietet rollenbasierten Zugriff (Azure RBAC), um den Zugriff auf die Ressourcen zu steuern. Ein Azure RBAC Sicherheitsprinzipal stellt einen Benutzer, eine Gruppe, einen Dienstprinzipal oder eine verwaltete Identität dar, der bzw. die Zugriff auf Azure-Ressourcen anfordert. Die Authentifizierung mit Microsoft Entra bietet eine höhere Sicherheit und Benutzerfreundlichkeit gegenüber anderen Autorisierungsoptionen. Durch die Verwendung von verwalteten Identitäten vermeiden Sie beispielweise, dass Sie Ihren Kontozugangsschlüssel innerhalb Ihres Codes speichern müssen, wie es bei der Zugriffsschlüsselautorisierung der Fall ist. Während Sie weiterhin die Zugriffsschlüsselautorisierung mit Kommunikationsdienstanwendungen verwenden können, empfiehlt Microsoft, nach Möglichkeit zu Microsoft Entra ID zu wechseln.

Um einen Dienstprinzipal einzurichten, erstellen Sie eine registrierte Anwendung über die Azure-Befehlszeilenschnittstelle. Anschließend können der Endpunkt und die Anmeldeinformationen zur Authentifizierung der SDKs verwendet werden. In diesem Beispiel wird der Dienstprinzipal verwendet.

Kommunikationsdienste unterstützen die Microsoft Entra-Authentifizierung für Kommunikationsdiensteressourcen. Weitere Informationen zur Unterstützung verwalteter Identitäten finden Sie in der Microsoft Entra-Dokumentation.

Verwenden Sie unser Hero-Beispiel für den vertrauenswürdigen Authentifizierungsdienst, um Azure Communication Services-Zugriffstoken Ihrer Microsoft Entra ID-Instanz zuzuordnen.

Benutzerzugriffstoken

Benutzerzugriffstoken werden mit dem Identity SDK erstellt und sind mit den im Identity-SDK erstellten Benutzern verknüpft. Sehen Sie sich ein Beispiel für das Erstellen von Benutzern und das Generieren von Token an. Anschließend werden Benutzerzugriffstoken verwendet, um Teilnehmer zu authentifizieren, die Unterhaltungen im Chat- oder Anruf-SDK hinzugefügt werden. Weitere Informationen finden Sie unter Hinzufügen von Chatfunktionen zu Ihrer App. Die Authentifizierung per Benutzerzugriffstoken unterscheidet sich von der Authentifizierung mit Zugriffsschlüssel und Microsoft Entra darin, dass sie zum Authentifizieren eines Benutzers und nicht einer geschützten Azure-Ressource verwendet wird.

Verwenden der Identität für Überwachung und Metriken

Die Benutzeridentität dient als Primärschlüssel für Protokolle und Metriken, die über Azure Monitor gesammelt werden. Wenn Sie beispielsweise eine Ansicht aller Aufrufe eines bestimmten Benutzers erhalten möchten, sollten Sie Ihre Authentifizierung so einrichten, dass eine bestimmte Azure Communication Services-Identität (oder mehrere dieser Identitäten) einem einzelnen Benutzer zugeordnet wird. Erfahren Sie mehr über Log Analyticsund Metriken, die Ihnen zur Verfügung stehen.

Nächste Schritte

Weitere Informationen finden Sie in den folgenden Artikeln: