問題
-
コードを7.3から2024Q1.7にアップグレードしているところ、以下の2つのメソッドに新しいパラメータを見つけました:
1. _samlSpIdpConnectionLocalService.addSamlSpIdpConnection()
2. _samlSpIdpConnectionLocalService.updateSamlSpIdpConnection()新しいパラメータは、boolean unknownUsersAreStrangersとuserIdentifierExpressionです。これらの新しいパラメータは何のために使用されるのでしょうか?
環境
- 2024.Q1
解決
- 最初のパラメータについて: unknownUsersAreStrangers:
SAML は標準ベースのプロトコルであり、非常に多くの製品とサービスが SAML IdP として機能できます。そのため、SP にユーザーがまだ存在しない場合にどのユーザーを自動的に SP にプロビジョニングするかを制御するには、SAML IdP 接続ごとに制御する必要があります。
SamlSpIdpConnection エンティティに、boolean型の 「unknownUsersAreStrangers 」フィールドが追加されました。
このフィールドは、ポータルデータベースにまだ存在しないユーザーを「ゲスト」として分類するかどうかを定義します。
分類されると、 インスタンス設定 > ユーザー認証 > 共通で定義されているポータル・インスタンスの既存のゲスト対応ポリシーによって、IdP の SAML アサーションから利用可能な情報を使用して、ユーザが自動的にプロビジョニングされるかどうかが決定されます。
これは 「コントロールパネル > セキュリティ > SAML管理 > アイデンティティ・プロバイダー接続」 の編集で設定できる「不明なユーザーはゲストです」のSAML IdP 構成エントリに接続します。「有効 」になっている場合、つまりその値が「true」の場合、「コントロールパネル > 設定 > インスタンス設定 > ユーザー認証」 で設定されているゲスト処理が適用されます。
「コントロールパネル > セキュリティ > SAML管理 > アイデンティティ・プロバイダー接続 」でエントリを編集する際に、「不明なユーザーはゲストです 」 の SAML IdP 構成エントリをチェックすると、「ゲストによるアカウントの作成を許可する」エントリに対して、「コントロールパネル > 設定 > インスタンス設定 > ユーザー認証 」で、ゲストユーザ処理用に構成されている SAML 接続を介してユーザーデータをインポートする際に、同じロジックが適用されます。
-
userIdentifierExpression
{UserFieldExpressionResolver_key}[:argument]
ユーザーマッチングに使用する
UserFieldExpressionを解決するために使用するUserFieldExpressionResolverを識別する式。 ほとんどの場合、UserFieldExpressionResolver_keyと同義であり、デフォルトでは、"none"、"dynamic"、"attribute "の3つです。UserIdentifierExpressionはSamlSpIdpConnectionに格納されます。このフィールドは、「コントロールパネル > セキュリティ > SAML管理 > アイデンティティ・プロバイダー接続」でエントリを編集する際の「ユーザーの解決」フィールドに接続します。 ラジオボタンの項目は、"none"、"dynamic"、"attribute"の順に値を持ちます。ただし、このリストは
UserFieldExpressionResolverSPIの実装に基づいて動的に構築されます。UserFieldExpressionResolverがDefaultUserResolverによってユーザーを解決するために使用されるときに[:argument]を必要とするかどうかは、各UserFieldExpressionResolverSPIの実装の詳細です。この記事を書いている時点では、この標準を必要とするのは「属性」のものだけです。 参照:
liferay-portal/modules/dxp/apps/saml/saml-web/src/main/java/com/liferay/saml/web/internal/opensaml/integration/field/expression/resolver/AttributeUserFieldExpressionResolver.java at 6ce0b9eb049e99a50285a324a3bd4afd76d340ab - liferay/liferay-portal