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 |
Erweitertes Messaging | 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.
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 ID-Authentifizierung für Kommunikationsdiensteressourcen. Weitere Details zur Unterstützung der verwalteten Identität finden Sie im Verwenden von verwalteter Identität mit Azure Communication Services.
Microsoft Entra ID-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 ID mit Microsoft Entra bietet eine höhere Sicherheit und Benutzerfreundlichkeit gegenüber anderen Autorisierungsoptionen.
Verwaltete Identität:
- Durch die Verwendung von verwalteten Identitäten vermeiden Sie, dass Sie Ihren Kontozugangsschlüssel innerhalb Ihres Codes speichern müssen, wie es bei der Zugriffsschlüsselautorisierung der Fall ist. Verwaltete Identitätsnachweise werden vollständig von der Plattform verwaltet, rotiert und geschützt, wodurch das Risiko einer Offenlegung von Nachweisen verringert wird.
- Verwaltete Identitäten können sich bei Azure-Diensten und -Ressourcen authentifizieren, die die Microsoft Entra ID-Authentifizierung unterstützen. Diese Methode bietet eine nahtlose und sichere Möglichkeit zum Verwalten von Anmeldeinformationen.
- Weitere Informationen zur Verwendung der verwalteten Identität mit Azure Communication Services finden Sie in diesem Leitfaden.
Dienstprinzipal:
- 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.
Communication Services unterstützt die Microsoft Entra ID-Authentifizierung für Communication Services-Ressourcen. Sie können zwar weiterhin die Access Key-Autorisierung mit Communication Services-Anwendungen verwenden, Microsoft empfiehlt jedoch, nach Möglichkeit auf Microsoft Entra ID umzusteigen.
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: