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

はじめに

SAML 2.0(Security Assertion Markup Language) は、XML ベースのデータ形式で、Foundry のようなサービスプロバイダー(通常はSPと略されます)と、Azure AD や Okta のようなアイデンティティプロバイダーIdP)との間で認証および承認データを交換するために使用されます。SAML 2.0 の最も一般的な使用例は、Web ブラウザからのシングルサインオンSSO)です。

コンセプト

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

SAML 統合メタデータ

SAML 統合メタデータ、またはサービスプロバイダーメタデータとも呼ばれるものは、Foundry に関する情報で、アイデンティティプロバイダーに渡す必要がある情報です。この情報には以下のものが含まれます:

  • Entity ID: アイデンティティプロバイダーが Foundry を識別するための一意の ID で、URN 形式の urn:uuid:[$UUID] です。
  • Assertion Consumer Service (ACS) URL: アサーションに基づいてセッションを確立する目的で、SAML 応答メッセージを受け入れる Foundry エンドポイントです。
  • Single Logout URL: アイデンティティプロバイダーからの SAML シングルログアウトリクエストを受け入れる Foundry エンドポイントです。
  • Certificate: アイデンティティプロバイダーに送信される SAML メッセージの署名に使用されます。

この情報は、自動生成される XML ファイルとしてエンコードされ、顧客がアイデンティティプロバイダーにアップロードするために全体をコピーできます。また、コントロールパネルはこの情報を個別のフィールドに抽出して、それぞれを個別にコピーできます。

アイデンティティプロバイダーメタデータ

アイデンティティプロバイダーメタデータは、アイデンティティプロバイダーに関する情報で、Foundry に渡す必要がある情報です。この情報には、アイデンティティプロバイダーのエンティティ ID、シングルサインオン(SSO)およびシングルログアウト URL、および証明書が含まれます。

アイデンティティプロバイダーメタデータは XML ファイルとしてエンコードされ、アイデンティティプロバイダーからコピーし、コントロールパネルにアップロードする必要があります。

メールドメイン

メールドメインは、どのアイデンティティプロバイダーの統合がログインオプションとしてユーザーに提示されるかを決定するために使用されます。ユーザーがログイン画面でメールアドレスまたはユーザー名を入力すると、設定されたすべてのアイデンティティプロバイダーの統合のメールドメインがテストされ、一致するアイデンティティプロバイダーの統合のみが表示されます。

メールドメインは正規表現であることができますが、通常は @example.com のようなシンプルな形式で、これは自動的に .*@example.com に変換されます。すべてのユーザーにアイデンティティプロバイダーの統合を表示する場合は、.* を使用します。

サポートされるホスト

サポートされるホストは、次の目的で使用されます:

  • SAML 統合メタデータ内の ACS およびシングルログアウト URL を構築する。
  • 統合がこれらのホストを使用してログインするユーザーにのみ提示されるようにする。

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

属性のマッピング

SAML レスポンスを Foundry にマッピングして、十分かつ正確なユーザー属性が通過されるようにします。

ユーザー属性

ユーザーが SAML ログインプロセス中にアイデンティティプロバイダーで認証すると、SAML レスポンスが Foundry に送信されます。この SAML レスポンスには、ユーザーの属性(または「クレーム」とも呼ばれます)が含まれており、名前、メール、利用可能な追加情報などがあります。これらの属性は、属性キーから値(例えば、emailuser@example.com)または値へのマップとして送信されます。

Foundry がユーザー属性の正しい値を持つためには、アイデンティティプロバイダーの属性(または「クレーム」)を対応する Foundry の属性にマッピングする必要があります。Foundry では、以下のマッピングが必要です:

  • ID:デフォルトで NameID に設定されます。この値は常に SAML アサーションに存在し、一意の固定値を持つべきです。
  • ユーザー名:デフォルトでは NameID に設定されますが、人間が読むことができる別の属性(例えば、Azure AD の場合は http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name)に変更することができます。
  • メール:メール属性(例えば、Azure AD の場合は http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress)にマッピングする必要があります。
  • 名:名属性(例えば、Azure AD の場合は http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname)にマッピングする必要があります。
  • 姓:姓属性(例えば、Azure AD の場合は http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname)にマッピングする必要があります。

参照用のマッピングを Azure ADOkta で表示します。

属性マッピングの追加をクリックすると、Foundry でより多くのユーザー属性を作成するための追加のマッピングを設定できます。左側のフィールドに Foundry の属性名を、右側のフィールドにアイデンティティプロバイダーの属性名を入力します。

各マッピングには、SAML レスポンス内の属性に複数の値がある場合の振る舞いを選択できるトグルスイッチがあります。このトグルスイッチは、First(受け取った最初の値で属性を埋める)または All(受け取ったすべての値で属性を埋める)に設定できます。

プロバイダーグループ

また、アイデンティティプロバイダーの属性(「プロバイダーグループ」と呼ばれます)に基づいて Foundry でグループを作成するように設定することもできます。これにより、既存のグループメンバーシップを Foundry に反映することが可能になります。SAML レスポンスにグループ属性を含めるようにプロバイダーを追加で設定する必要があるかもしれません。

プロバイダーグループのマッピングを設定するには、Group attribute mapping の下で Add attribute mapping をクリックします。ユーザーがログインすると、設定された属性のすべての値がプロバイダーグループとして反映され、ユーザーはメンバーとして登録されます。

必要に応じて、グループがリストではなく単一の値として送信される場合にグループを抽出するための正規表現パターンを設定できます。例えば、カンマで区切られたグループの場合は、[^,]+ を使用します。

高度な設定

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

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

チェックポイントログイン

ログインチェックポイント を作成すると、ログイン時にユーザーがリダイレクトされ、ログインを進行させる前に理由を求める設定可能なプロンプトが表示されます。ログインチェックポイントを有効にするには、まず Checkpoints Login AUM をオンにし、次に チェックポイントを作成する 手順に従います。

SAML 2.0 統合の設定

新しい SAML 統合を設定するには、以下のアイデンティティプロバイダーごとの具体的な手順を参照してください:

トラブルシューティング

「適切な認証プロバイダーが見つからなかったため、ログインに失敗しました。詳細については、管理者にお問い合わせください。」エラー

このエラーは、ユーザーが入力したユーザー名が、コントロールパネルで設定されて許可リストに入れられた認証プロバイダーのメールドメインと一致しないことを示しています。また、ユーザーがログインを試みているホストが、設定された認証プロバイダーのサポートされるホストに追加されていない場合も、このエラーが表示される可能性があります。