適用対象: SDK v4
多くの場合、ボットはユーザーの代わりに、電子メール アカウントなどの保護されたリソースにアクセスする必要があります。 そのためには、ユーザーの資格情報に基づいてボットを 承認 する必要があります。 その前に、ユーザーを認証する必要があります。 ボットは既知のエンティティである必要があります。つまり、Azure AI Bot Service コンテキスト内で認証する必要があります。 これは、ボットがユーザーの代わりに動作することを承認される前に発生します。
Bot Framework 認証コンテキストの全体像から始めて、このバンドルをアンタングルできるかどうかを見てみましょう。
Azure Bot リソースを使用して Azure にボットを登録すると、Azure によって Microsoft Entra ID 登録アプリケーションが作成されます。 このアプリケーションには、アプリ ID (
MicrosoftAppId
) とクライアント シークレット (MicrosoftAppPassword
) があります。 これらの値は、以下の説明に従ってボット構成ファイルで使用します。Microsoft Entra ID は、OAuth 2.0 などの業界標準のプロトコルを使用して ユーザー を安全にサインインさせるアプリケーションを構築できるクラウド ID サービスです。 Active Directory アプリケーションを作成し、その アプリ ID と パスワード を使用して ID プロバイダー を選択し、 認証 接続を生成します。 この接続をボット リソースに追加します。 また、以下の説明に従って、ボット構成ファイルに接続名を追加します。
ボットは、その Azure Bot リソース アプリ ID と パスワードによって識別されます。 ボットの構成ファイルまたはシークレットまたはキー マネージャーに関連する値を追加します。 接続名も追加します。 ボットは、アプリ ID とパスワードに基づいてトークンを使用して、保護されたリソースにアクセスします。 ボットは、認証接続に基づいてさまざまなトークンを使用して、ユーザーの保護されたリソースにアクセスします。
ボットの認証と承認
ボットを認証し、ユーザーの保護されたリソースにアクセスすることを承認する主な手順を次に示します。
- ボット チャネル登録アプリケーションを作成します。
- 登録アプリ ID とパスワードをボット構成ファイルに追加します。 これにより、ボットを認証して、保護されたリソースにアクセスできるようになります。
- ユーザーを認証する ID プロバイダーを選択する Microsoft Entra ID アプリケーションを作成します。
- 認証接続を作成し、チャネル登録設定に追加します。
- ボットの構成ファイルに接続名を追加します。 これにより、ボットはユーザーの保護されたリソースへのアクセスを承認されます。
完全な例については、「 ボットに認証を追加する」を参照してください。
ベスト プラクティス
- Microsoft Entra ID アプリの登録は、サービス間アプリケーションの元の目的に制限します。
- 認証接続の無効化、シークレットのローリング、または他のアプリケーションとの Microsoft Entra ID アプリの再利用をより有限に制御できるように、サービス間認証用の追加の Microsoft Entra ID アプリを作成します。
認証に Microsoft Entra ID 登録アプリも使用する場合に発生する問題の一部は次のとおりです。
- Microsoft Entra ID アプリの登録に添付されている証明書を更新する必要がある場合は、証明書を使用して他の Microsoft Entra ID サービスで認証されたユーザーに影響します。
- 一般に、ボットを使用するすべての認証関連アクティビティの単一障害点と制御ポイントが作成されます。
関連トピック
次の記事では、Bot Framework 内の認証に関する詳細な情報と例を示します。 まず、 認証の種類 と ID プロバイダーを確認します。
[アーティクル] | 説明 |
---|---|
認証のタイプ | 2 つの Bot Framework 認証の種類と、使用するトークンについて説明します。 |
ID プロバイダー | ID プロバイダーの使用について説明します。 これにより、OAuth2.0 などの業界標準のプロトコルを使用してユーザーを安全にサインインさせるアプリケーションを構築できます。 |
ユーザー認証 | ユーザーの認証と、ユーザーに代わってタスクを実行するボットを承認するための関連トークンについて説明します。 |
シングル サインオン | 複数の保護されたリソース アクセスに対するシングル ユーザー認証について説明します。 |
ボットを Azure に登録する | Azure AI Bot Service にボットを登録する方法を示します。 |
Bot Framework のセキュリティ ガイドライン | Bot Framework に適用されるセキュリティ全般について説明します。 |
ボットに認証を追加する | ボット チャネルの登録を作成し、認証接続を作成し、コードを準備する方法を示します。 |
ボットにシングル サインオンを追加する | ボットにシングル サインオン認証を追加する方法を示します。 |