ドキュメントの検索
karat

+

K

APIリファレンス ↗

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

はじめに

OpenID Connect 1.0(OIDC)プロトコルは、OAuth 2.0 プロトコル上のシンプルなアイデンティティレイヤーです。これにより、Foundry のようなクライアントは、エンドユーザーのアイデンティティを検証し、基本的なユーザープロファイル情報を取得できます。

OIDC プロバイダーの中には、一般に公開されていて、誰でもアカウントを作成できるものがあります。公開プロバイダーの誤設定により、望ましくないユーザーがエンロールメントにアクセスできる場合があります。注意して進めてください。

ネットワークの出口

OIDC 認証およびメタデータ収集には、出口コールが必要です。出口ポリシーを選択するか、ネットワーク出口ポリシーを設定 します。

OIDC の概念

以下のセクションでは、Foundry で一般的な OIDC 認証の概念について説明します。

リダイレクト URL

リダイレクト URL は OIDC プロバイダーに登録する必要があります。これにより、プロバイダーは認証リクエストの結果を Foundry に通知できます。プロバイダーは、エンドユーザーに送信される認証リクエストにリダイレクト URL を含め、認証中にエンドユーザーがこの URL にリダイレクトされます。その後、Foundry はプロバイダーからの応答を処理できます。

ログアウト URL

Foundry は、フロントチャネルとバックチャネルの URL を提供します。どちらのログアウト URL が OIDC プロバイダーに登録されるかは、ログアウトの動作によって異なります。

OIDC 統合メタデータ

OIDC 統合メタデータは、アイデンティティプロバイダーに関する情報で、Foundry に渡されます。Foundry は、メタデータディスカバリ URI を提供されると、必要なメタデータフィールドを自動的に取得できます。

また、必要なメタデータを手動で提供することもできます。この情報には以下が含まれます。

  • Issuer: OIDC プロバイダーの URL で、プロバイダーとその場所を識別します。Foundry はこの URL を使用して、OIDC ディスカバリドキュメントを検索し、プロバイダーの OIDC エンドポイント、クレーム、サポートされているスコープ、公開キーなどが指定されます。
  • Authorization endpoint: プロバイダーの認証エンドポイントで、エンドユーザーが認証コードを取得するためにリダイレクトされます。
  • Token endpoint: プロバイダーのトークンエンドポイントで、認証コードをアクセストークンと ID トークンと交換するために使用されます。
  • JWKS URI: プロバイダーの JSON Web Key Set(JWKS)ドキュメントの URL で、ID トークンの署名を検証するために使用される公開キーが含まれます。
  • User info endpoint(該当する場合): エンドユーザーのプロファイル情報を取得するために使用されるプロバイダーのユーザー情報エンドポイントです。このエンドポイントは、すべてのプロバイダーではサポートされておらず、サポートしているプロバイダーの中にも必要とされるものもあります。
  • End session endpoint(オプション): プロバイダーのセッションを終了するエンドユーザーをログアウトするために使用されるプロバイダーの終了セッションエンドポイントです。このエンドポイントはオプションであり、すべてのプロバイダーでサポートされているわけではありません。

クライアント資格情報

クライアント資格情報は、OIDC プロバイダーから Foundry に発行されるクライアント ID とクライアントシークレットを指します。これらの資格情報は、Foundry がプロバイダーに対して認証し、エンドユーザーのリソースにアクセスするために使用されます。

これらの資格情報の取得方法はプロバイダーによって異なりますので、プロバイダーのドキュメントを確認してください。

認証方法

トークンエンドポイントへのリクエストを Foundry でどのように認証するかを選択します。オプションは以下の通りです。

  • HTTP ベーシック認証スキーム。
  • POST: リクエストにフォーム値として資格情報を含める。

スコープ

OIDC スコープは、ID トークンとユーザー情報応答に含まれる情報を決定します。各スコープは、ユーザー属性(つまり、クレーム)のセットを返します。

openidemail、およびprofile スコープを含める必要があります。

メールドメイン

これらは、設定された認証プロバイダーに関連付けられたメールドメインです。これらのドメインは、このプロバイダーでログインできるユーザーを制限し、ログイン時にユーザーにこのプロバイダーを選択肢として提示するかどうかを決定します。

サポートされているホスト

サポートされているホストは、統合がこれらのホストを使用してログインするユーザーにのみ表示されるようにするために使用されます。

エンロールメントで設定されたホストから選択できます。

属性マッピング

アイデンティティプロバイダーで定義された属性を Foundry の表現にマッピングします。

ユーザー属性

ユーザー属性、別名 "claims" は、名前、メール、その他利用可能な追加情報などのフィールドを含みます。これらの属性は、属性キーから値または値へのマップとして送信されます。例:email → user@example.com

Foundry がユーザー属性の正しい値を持つためには、アイデンティティプロバイダーの属性(別名 "claims")を Foundry の属性にマッピングする必要があります。Foundry では以下のマッピングが必要です。

  • ID: デフォルトで sub に設定されています。この値は常に OIDC アサーションに存在し、固有の静的値を持ちます。
  • Username: デフォルトで preferred_username に設定されています。この値を別の人間が読める属性に変更することができます。
  • Email: デフォルトで email に設定されています。これはメール属性にマッピングする必要があります。
  • First name: デフォルトで given_name に設定されています。これはファーストネーム属性にマッピングする必要があります。
  • Last name: デフォルトで family_name に設定されています。これはラストネーム属性にマッピングする必要があります。

Foundry のユーザー属性をより多く設定するために、属性マッピングを追加 を選択して追加のマッピングを作成できます。左のフィールドに Foundry の属性名を入力し、右のフィールドに JWT のクレームへのパスを入力します。高度な使用には、JSONPath 構文がサポートされており、プロバイダーが返す JWT のクレームへのパスを指定できます。

各マッピングには、Foundry で OIDC 応答で属性に複数の値がある場合の動作を選択できるトグルがあります。オプションは以下の通りです。

  • First: 属性に最初に受け取った値を設定します。
  • All: 属性に受け取ったすべての値を設定します。

アイデンティティプロバイダーからユーザーグループをインポートするオプションを選択し、JWT のユーザーグループに対応するクレームへのパスを指定することで、ユーザーグループをインポートできます。

高度な設定

プロンプト(オプション)

プロンプトパラメータは、認証中にユーザーに特定の操作を行うよう要求するために使用されます。プロンプトパラメータの可能な値は以下の通りです。

  • none: 認証のためにユーザーからの入力は必要ありません。
  • login: ユーザーは、認証されるために資格情報を入力するよう求められます。
  • consent: ユーザーは、認証が完了するために同意を与えるよう求められます。
  • select_account: ユーザーは、認証に使用するアカウントを選択するよう求められます。これは、同じプロバイダーで複数のアカウントを持っているユーザーに通常使用されます。

複数のプロンプトを選択できます。プロンプトが選択されていない場合のデフォルト動作は、プロバイダーによって異なります。

非同期ユーザーマネージャー

非同期ユーザーマネージャー(AUM)は、ログインフローで設定可能な追加ステップです。非同期ユーザーマネージャー を展開して、使用可能な AUM を表示します。

Checkpoints Login

Login checkpoint を作成すると、ログイン時にユーザーが設定可能なプロンプトにリダイレクトされ、ログインが進行する前に正当化を求められます。ログインチェックポイントを有効にするには、まず Checkpoints Login AUM のトグルをオンにし、次に チェックポイントを作成する 手順に従ってください。