Warning

注: 以下の翻訳の正確性は検証されていません。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 を提供します。OIDC プロバイダに登録するログアウト URL は、ログアウト動作によって異なります。

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 での表現にマッピングします。

ユーザー属性

ユーザー属性(「クレーム」とも呼ばれる)には、名前、メール、その他の利用可能な追加情報などのフィールドが含まれます。これらの属性は、属性キーから値または値へのマップとして送信されます。例えば、「email → user@example.com」などです。

Foundry でユーザー属性の正しい値を持つためには、アイデンティティプロバイダの属性(「クレーム」とも呼ばれる)を、対応する 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 を作成すると、ログイン時にユーザーがリダイレクトされ、ログインが続行される前に正当性を求める設定可能なプロンプトが表示されます。Login checkpoint を有効にするには、まず Checkpoints Login AUM のトグルをオンにし、次に checkpoint を作成する 手順に従ってください。