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