Bot Framework 認証の基本情報

この記事の対象: SDK v4

多くの場合、ボットはユーザーい代わって、電子メール アカウントなどの保護されたリソースにアクセスする必要があります。 そのためには、ユーザー資格情報に基づいてボットを承認する必要があります。 その前に、ユーザーを最初に認証する必要があります。 ボットは既知のエンティティである必要があるため、Azure AI Bot Service コンテキスト内で認証する必要があります。 これは、ユーザーに代わって動作することをボットに承認する前に発生します。

Bot Framework 認証コンテキストのバーズ アイから始めて、このバンドルをひも解いていきましょう。

Bot authentication context

  • 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 とパスワードに基づくトークンを使用します。 ボットは、認証接続に基づいてさまざまなトークンを使用して、ユーザーの保護されたリソースにアクセスします。

ボット認証と認可

ボットを認証し、ユーザーの保護されたリソースへのアクセスを承認するための主な手順を次に示します。

  1. ボット チャンネル登録アプリケーションを作成する
  2. ボット構成ファイルに、登録アプリ ID とパスワードを追加します。 これにより、ボットを認証して、保護されたリソースにアクセスできるようになります。
  3. ユーザーを認証する ID プロバイダーを選択する Microsoft Entra ID アプリケーションを作成します。
  4. 認証接続を作成し、チャンネル登録設定に追加します。
  5. ボットの構成ファイルに接続名を追加する これにより、ボットにユーザーの保護されたリソースへのアクセスを承認することができます。

完全な例については、「ボットに認証を追加する」を参照してください。

ベスト プラクティス

  • 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 に適用されるセキュリティについて説明します。
ボットに認証を追加する ボット チャンネル登録の作成方法、認証接続の作成方法、およびコードを準備する方法を示します。
ボットにシングル サインオンを追加する ボットにシングル サインオン認証を追加する方法を示します。