SAML または OIDC でのグループ同期

SAML や OIDC などの安全なプロトコルを使用する場合に Validate でグループ同期を有効にすることができます。グループ情報がユーザーのログイン時に IdP から取得されて、Validate 権限データベースに保存されます。

グループ同期を有効にするには、以下のようにします。

  1. 以下のようにして、グループ情報を送信するように IdP を構成します。

    Keycloak (OIDC) の場合:

    • [クライアントスコープ] で、Group Membership マッパーを追加します。

    • マッパー構成で、[完全グループパス][オフ] に設定します (Validate では入れ子グループはサポートされません)。

    • [ユーザー情報に追加する][オン] に設定します。

    Keycloak (SAML) の場合:

    • [クライアントスコープ] で、Group List マッパーを追加します。

    • [完全グループパス][オフ] に設定します。

  2. 以下のパラメーターが auth.properties に含まれていることを確認します。または、kwauthconfigw を使用します。

    kw.groupDnAttribute=groups

    この場合、「groups」は認証済みユーザーのグループ情報を含む IdP の属性名です。

    グループ同期を無効にするには、グループパラメーターを auth.properties から削除するか、または kwauthconfigw を使用します。
  3. Validate サーバーを再起動します。

制限事項

  • グループメンバーシップは、ユーザーのログイン時にのみ更新されます。IdP でグループが変更された場合、ユーザーは再度ログインして Validate でグループを更新する必要があります。

  • グループ同期が有効になっている場合、Validate でユーザーを手動でグループに割り当てたり、グループから削除したりすることはできません。IdP は、グループメンバーシップに関する唯一の情報源です。

  • Validate では、グループ名に 255 文字の制限が適用されます。ユーザーが 255 文字を超える名前のグループに属している場合、そのユーザーに関する同期は失敗します。

  • IdP でグループの名前が変更された場合は、Validate で新しいグループ名に役割を再適用する必要があります。

  • Validate では入れ子グループはサポートされません。

  • トークンのタイムアウトに関する考慮事項:グループ情報はユーザーのログイン時にのみ更新されます。以下のようにして、トークンのタイムアウトを admin.conf で調整して、再ログインが必要となる頻度を管理してください。

    token.timeout.browser=8d

トラブルシューティング

  • Validate でマイグループ名が先頭のスラッシュ (/) を使用してマッピングされる

    回避策: Keycloak Group Membership マッパーで完全グループパスを無効にしてください。