次の方法で共有


Azure Communication Services に対する認証

クライアントと Azure Communication Services とのやり取りはすべて認証される必要があります。 一般的なアーキテクチャでは、「クライアントとサーバーのアーキテクチャ」を参照して、アクセス キー または Microsoft Entra 認証 がサーバー側の認証に使用されます。

別の種類の認証では、ユーザー アクセス トークン を使用して、ユーザーが参加する必要があるサービスに対して認証を行います。 たとえば、チャットまたは呼び出しサービスは、 ユーザーアクセス トークン を利用して、ユーザーをスレッドに追加し、相互に会話できるようにします。

認証オプション

次の表は、Azure Communication Services の SDK とその認証オプションを示しています。

SDK 認証オプション
ID アクセス キーまたは Microsoft Entra 認証
SMS アクセス キーまたは Microsoft Entra 認証
電話番号 アクセス キーまたは Microsoft Entra 認証
電子メール アクセス キーまたは Microsoft Entra 認証
Advanced Messaging アクセス キーまたは Microsoft Entra 認証
通話 ユーザー アクセス トークン
チャット ユーザー アクセス トークン

ここでは、各認証オプションについて簡単に説明します。

アクセス キー

アクセス キー認証は、信頼できるサービス環境で実行されているサービス アプリケーションに適しています。 アクセス キーは、Azure Communication Services ポータルで確認できます。 サービス アプリケーションでは、これを資格情報として使用して、対応する SDK を初期化します。 ID SDKでの使用方法については、例を参照してください。

アクセス キーはリソースの接続文字列の一部なので、接続文字列を使用した認証は、アクセス キーを使用した認証に相当します。

アクセス キーを使用して Azure Communication Services の API を手動で呼び出す場合は、要求に署名する必要があります。 要求に署名する方法は、チュートリアルの中で詳しく説明します。

サービス プリンシパルを設定するには、Azure CLI から登録済みアプリケーションを作成します。 次に、エンドポイントと資格情報を使用して、SDK を認証できます。 サービス プリンシパルの使用例をご覧ください。

通信サービスは、通信サービス リソースに対する Microsoft Entra ID 認証をサポートします。 マネージド ID のサポートの詳細については、「Azure Communication Services でマネージド ID を使用する方法」を参照してください。

Microsoft Entra ID 認証

Azure プラットフォームは、リソースへのアクセスを制御するためにロールベース アクセス (Azure RBAC) を提供します。 "セキュリティ プリンシパル" は、Azure RBAC リソースへのアクセスを要求するユーザー、グループ、サービス プリンシパル、またはマネージド ID を表します。 Microsoft Entra ID 認証は、他の承認オプションよりもセキュリティに優れ、使いやすくなっています。

  • マネージド ID:

    • マネージド ID を使用すると、アクセス キーの認証と同様に、アカウント アクセス キーをコードに保存する必要がなくなります。 マネージド ID 資格情報は、プラットフォームによってフル マネージドされ、ローテーションされ、保護されるため、資格情報の露出リスクが軽減されます。
    • マネージド ID によって、Microsoft Entra ID 認証をサポートする Azure のサービスとリソースに対して認証を行うことができます。 この方法により、資格情報をシームレスかつ安全に管理できます。
    • Azure Communication Services でマネージド ID を使用する方法の詳細については、こちらのガイドを参照してください。
  • サービス プリンシパル:

Communication Services では、Communication Services リソースに対する Microsoft Entra ID 認証がサポートされています。通信サービス アプリケーションでは引き続きアクセス キー承認を使用できますが、可能であれば Microsoft Entra ID に移行することをお勧めします。

Azure Communication Services のアクセス トークンを Microsoft Entra ID とマップするには、信頼された認証サービスのヒーロー サンプルを使用してください。

ユーザー アクセス トークン

ユーザー アクセス トークンは、ID SDK を使用して生成され、ID SDK で作成されたユーザーに関連付けられます。 ユーザーを作成し、トークンを生成する方法の例を参照してください。 次に、ユーザー アクセス トークンを使用して、チャットまたは呼び出し SDK で会話に追加された参加者を認証します。 詳細については、「チャットをアプリに追加する」を参照してください。 ユーザー アクセス トークン認証は、セキュリティで保護された Azure リソースではなくユーザーの認証に使用するという点で、アクセス キーや Microsoft Entra 認証と異なります。

監視とメトリックに ID を使用する

ユーザー ID は、Azure Monitor によって収集されるログとメトリックの主キーとして機能することを目的としています。 たとえば、特定のユーザーのすべての呼び出しを表示する場合は、特定の Azure Communication Services ID (または複数の ID) を単一のユーザーにマップするように認証を設定する必要があります。 ログ分析および使用可能なメトリックの詳細については、以下を参照してください。

次のステップ

詳細については、次の記事を参照してください。