PowerFlex 4.X - PFxM Keycloak管理コンソールでLDAPグループ検索フィルターを適用する方法

Summary: この記事では、PFxM Keycloak管理コンソールでLDAPグループ検索フィルターを作成する方法について説明します。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

ユーザーがLDAP認証情報を使用してログインしようとすると、PFxM UIログインがタイムアウトします。

Cause

多数のグループ(20,000+)があるAD環境では、Keycloakが環境内のすべてのグループを列挙するため、PFxM UIへのログイン試行がタイムアウトする場合があります。検索フィルターは、ユーザーの認証と認可中にKeycloakが処理するグループを、フィルターにリストされているグループに制限します

手記:  Keycloakは、デフォルトでADドメインにアクティブなアカウントを持つユーザーを認証します。ユーザーがフィルター内のグループに属していない場合、そのユーザーは認証されず、PFxM UIにアクセスできません。

Resolution

  1.  任意のPFxM MVMノードから次のコマンドを実行して、Keycloakユーザーのシークレット/パスワードを取得します。
kubectl get secret -n powerflex keycloak-admin-credentials -o jsonpath="{.data.password}" | base64 --decode; echo

       2.  次のURLを使用してKeycloak管理UIコンソールに移動します。  

https://pfmp.company.org/auth

       3.  [管理コンソール]をクリックし、ユーザー名keycloakと、ステップ1のコマンドの出力にリストされているシークレットを使用してログインします

PFxM Keycloak管理コンソール 

4.ドロップダウンで、レルムを「master」から「Powerflex」に変更します

PFxM Keycloak管理コンソール 

5.[ユーザー フェデレーション] をクリックし、構成した LDAP プロバイダーをクリックします。

PFxM Keycloak管理コンソール 
       
        6.「Mappers」タブをクリックし、「LdapGroupMapping」をクリックします

PFxM Keycloak管理コンソール 

7.下にスクロールして、[LDAP Filter]オブジェクトを探します。次の構文を使用して、関心のある特定のグループを追加します(これにより、「OR」フィルターが作成されます)。構文の(etc)値は、必要に応じてグループを追加するためのプレースホルダーです。追加する各グループには、「cn=」値の前後に()が必要です。

(|(cn=group_name_1)(cn=group_name_2)(cn=group_name_3)(etc))

例えば、

(|(cn=Monitoring_Group)(cn=Admin_Group)(cn=Deployment_Group))


PFxM Keycloak管理コンソール 
      8.「保存」をクリックします。

      9.任意のPFxM MVMノードから次のコマンドを実行して、PFxMをLDAPプロバイダーと同期します

SSO IP、プラットフォーム マネージャー トークン、イングレスIP、LDAP IDのシステム変数を設定します

手記:PM_TOKEN変数コマンドの場合は、次の値 「Scaleio123!」 を置き換えます。を、PFxM UIへのログインに使用する 管理者 パスワードに置き換えます。
 

SSO_IP=`kubectl get svc -A | grep "sso " | awk '{print $4}'`
 
PM_TOKEN=`curl -k --location --request POST "https://${SSO_IP}:8080/rest/auth/login" --header 'Accept: application/json' --header 'Content-Type: application/json' --data '{"username": "admin","password": "Scaleio123!" }' | jq -r .access_token`
 
INGRESS_IP=$(kubectl get svc -A | grep -i rke2-ingress-nginx-controller | awk 'NR==1{print $5}')
 
LDAP_ID=$(curl -k https://${INGRESS_IP}/rest/v1/directory-services --header 'Accept: application/json' --header 'Content-Type: application/json' --header "Authorization: Bearer ${PM_TOKEN}" | jq -r '.[0].id')

      10 次のコマンドを実行して、PFxMからLDAPプロバイダーへの同期を開始します。

curl -k -X POST https://${INGRESS_IP}/rest/v1/directory-services/${LDAP_ID}/sync --header "Authorization: Bearer ${PM_TOKEN}" --header 'Accept: application/json' --header 'Content-Type: application/json'

メモ: 上記のコマンドが成功した場合、画面には何も返されません。最大15分待ってから、PFxM UIからユーザーまたはグループの追加を試みます。

 

Article Properties
Article Number: 000224858
Article Type: Solution
Last Modified: 26 Feb 2025
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.