ID プロバイダー

この記事の対象: SDK v4

ID プロバイダーは、ユーザー ID またはクライアント ID を認証し、使用可能なセキュリティ トークンを発行します。 ユーザー認証をサービスとして提供します。

Web アプリケーションなどのクライアント アプリケーションは、信頼できる ID プロバイダーに認証を委任します。 このようなクライアント アプリケーションは、フェデレーションされていると言い、フェデレーション ID を使用します。 詳細については、「フェデレーション ID パターン」を参照してください。

信頼できる ID プロバイダーを使用すると:

  • シングル サインオン (SSO) 機能が有効になり、アプリケーションはセキュリティで保護された複数のリソースにアクセスできるようになります。
  • クラウド コンピューティング リソースとユーザーの間の接続が容易になり、ユーザーを再認証する必要性が少なくなります。

シングル サインオン

シングル サインオンとは、ユーザーが 1 つの資格情報セットを使用してシステムに 1 回ログオンすることで、複数のアプリケーションまたはサービスにアクセスすることを許可する認証プロセスを指します。

ユーザーは、1 つの ID とパスワードを使用してログインし、複数の関連するソフトウェア システムへのアクセス権を取得します。 詳細については、「シングル サインオン」を参照してください。

多くの ID プロバイダーは、ユーザー トークンを失効させ、関連付けられているアプリケーションやサービスへのアクセスを終了するサインアウト操作をサポートしています。

重要

SSO により、ユーザーが資格情報を入力しなければならない回数を減らすことで、使いやすさが向上します。 また、潜在的な攻撃対象領域を減らすことで、セキュリティが強化されます。

Microsoft Entra ID ID プロバイダー

Microsoft Entra ID とは、ID 管理およびアクセス制御機能を持つ Microsoft Azure の ID サービスです。 OAuth2.0 などの業界標準プロトコルを使用して、ユーザーを安全にサインインさせることができます。

次に示すように、異なる設定を持つ 2 つの Active Directory ID プロバイダーの実装から選択できます。

Note

これらの設定は、Azure ボット登録アプリケーションで OAuth 接続設定を構成するときに使用します。 詳しくは、「ボットに認証を追加する」をご覧ください。

Microsoft ID プラットフォーム (v2.0) (Microsoft Entra ID エンドポイントとも呼ばれます) では、ボットは Microsoft Graph やその他の API などの Microsoft API を呼び出すトークンを取得できます。 ID プラットフォームは、Azure AD プラットフォーム (v1.0) の進化したものです。 詳細については、「Microsoft ID プラットフォーム (v2.0) の概要」を参照してください。

以下の AD v2v 設定を使用すると、ボットは、Microsoft Graph API を介して Office 365 データにアクセスでるようになります。

プロパティ 説明や値
名前 この ID プロバイダー接続の名前。
サービス プロバイダー 使用するID プロバイダー。 [Microsoft Entra ID] を選びます。
クライアント ID Azure ID プロバイダー アプリのアプリケーション (クライアント) ID。
クライアント シークレット Azure ID プロバイダー アプリのシークレット
テナント ID ディレクトリ (テナント) ID (common)。 詳細については、テナント ID に関する注記をご覧ください。
スコープ Microsoft Entra ID ID プロバイダー アプリに付与した API アクセス許可のスペース区切りの一覧 (例: openidprofileMail.ReadMail.SendUser.ReadUser.ReadBasic.All)。
Token Exchange URL (トークン交換 URL) SSO 対応スキル ボットの場合は、OAuth 接続に関連付けられているトークン交換 URL を使用します。それ以外の場合は、空のままにします。 SSO トークン交換 URL の詳細については、「OAuth 接続設定の作成」を参照してください。

Note

次のいずれかを選択した場合は、Microsoft Entra ID の ID プロバイダー アプリ用に記録したテナント ID を入力します。

  • [Accounts in this organizational directory only (Microsoft only - Single tenant)] (この組織ディレクトリのみに含まれるアカウント (Microsoft のみ - 単一テナント))
  • [Accounts in any organizational directory (Microsoft AAD directory - Multi tenant)] (任意の組織ディレクトリ内のアカウント (Microsoft AAD ディレクトリ - マルチテナント))

組織ディレクトリ内のアカウント (何らかの Microsoft Entra ID ディレクトリ - Skype、Xbox、Outlook.comなどのマルチ テナントおよび個人用 Microsoft アカウント) を選択した場合は、common を入力します。

それ以外の場合、Microsoft Entra ID の ID プロバイダー アプリはテナントを使用して選択された ID を検証し、個人用 Microsoft アカウントを除外します。

詳細については、以下を参照してください:

他の ID プロバイダー

Azure では、複数の ID プロバイダーがサポートされています。 次の Azure コンソール コマンドを実行して、関連する詳細情報と共に完全な一覧を取得できます。

az login
az bot authsetting list-providers

また、ボット登録アプリの OAuth 接続設定を定義するときに、Azure portal でこれらのプロバイダーの一覧を表示できます。

Azure identity providers

OAuth 汎用プロバイダー

Azure では、独自の ID プロバイダーを使用できる汎用 OAuth2 がサポートされています。

以下に示すように、異なる設定を持つ 2 つの汎用 ID プロバイダーの実装から選択できます。

Note

ここで説明する設定は、Azure ボット登録アプリケーションで OAuth 接続設定を構成するときに使用します。

このプロバイダーを使用して、Microsoft Entra ID プロバイダー (特に AD v2) と同様の想定を持つ汎用 OAuth2 ID プロバイダーを構成します。 この接続の種類では、クエリ文字列と要求本文のペイロードが固定されています。

プロパティ 説明や値
名前 この ID プロバイダー接続の名前。
サービス プロバイダー 使用するID プロバイダー。 [汎用 Oauth 2] を選択します。
クライアント ID ID プロバイダーから取得したクライアント ID。
クライアント シークレット ID プロバイダー登録から取得したクライアント シークレット。
Authorization URL (承認 URL) https://login.microsoftonline.com/common/oauth2/v2.0/authorize
Token URL (トークン URL) https://login.microsoftonline.com/common/oauth2/v2.0/token
Refresh URL (更新 URL) https://login.microsoftonline.com/common/oauth2/v2.0/token
Token Exchange URL (トークン交換 URL) 空のままにします。
スコープ ID プロバイダー アプリに付与した API アクセス許可のコンマ区切りリスト

次のステップ