CP4D の LDAP と連携したユーザー管理

Cloud Pak for Data では、LDAP プロバイダーと連携してユーザー管理を行うことが可能です。
例えば、LDAP 側でユーザーを一括管理しているような環境において、LDAP 側で登録したユーザーを CP4D へのログイン・ユーザーとして使用することで、ユーザー管理の一元化が実現できます。
この場合、LDAP 側で登録した個々のユーザーごとにログイン設定を行うことも可能ですし、LDAP 側で登録したグループに対してログイン設定を行う（グループ配下の全ユーザーをログイン可能にする）こともできます。
これにより、ユーザーのユーザー名やパスワード、属性といった設定を、全て LDAP 側で設定/管理することができます。

#### ID プロバイダー構成
CP4D を LDAP と連携するためには、CP4D 側で ID プロバイダー構成を行います。ここで、LDAP のサーバーやポート、LDAP 認証のための設定などを行っておきます。
参考：[[CP4D v4.8 マニュアル] ID プロバイダーへの接続](https://www.ibm.com/docs/ja/cloud-paks/cp-data/4.8.x?topic=users-connecting-your-identity-provider)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2763758/7b39839c-1692-5f6b-c121-43eb8c705fab.png)

#### CP4D ユーザー・グループを作成
次に、CP4D ユーザー・グループを作成します。その際、ユーザー・グループに追加する対象として、LDAP で作成したグループないしはユーザーを指定し、Role をアサインします。

例えば以下のように、LDAP（今回は、LDAP として Active Directory を使用）側に登録されている、groupA 配下の全ユーザー、およびユーザー「sally 」で CP4D にログインできるようにするためには、以下のような CP4D ユーザー・グループを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2763758/a5ac2c35-d802-5b3c-70f9-a5e4e875a946.png)

- Active Directory 側のグループ/ユーザー
    - グループ「groupA」
    - グループ「groupA」配下にユーザー「christine」、「michael」
    - グループに属さないユーザー「sally」
- CP4D 側でユーザー・グループ「BAgroup」を作成
    - 対象：Active Directory 側で作成したグループ「groupA」を選択
    - Role：「Business Analyst」をアサイン
- CP4D 側でユーザー・グループ「ADgroup」を作成
    - 対象：Active Directory 側で作成したユーザー「sally」を選択
    - Role：「Administrator」をアサイン

ユーザー・グループ作成は、CP4Dの「アクセス制御」画面にて実施します。
以下は、ユーザー・グループ「BAgroup」作成時の例です。

- 「アクセス制御」の「ユーザー・グループ」タブで、「新しいユーザー・グループ」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2763758/52bc74a0-a840-6db3-646b-b4ff43c12970.png)
　
- 「名前」を入力し、「次へ」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2763758/1b6a74fe-aca1-cfab-9317-15f3d95971a8.png)
　
- 「IDプロバイダーグループ」として該当するグループを選択して「次へ」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2763758/54ce182e-3ccc-a2e9-afdf-00b03bd8508a.png)
　
- ロールをアサインして「次へ」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2763758/4c84d05d-af4d-e896-2375-85a1da6cb8bc.png)
　
- 要約内容を確認し、「作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2763758/f1c23055-64fd-cd9b-c093-8c5fa26c20c1.png)
　
- ユーザー・グループ「BAgroup」が作成されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2763758/bfaf0997-9b3c-8547-b21e-598eeb9d9c0f.png)

他のユーザー・グループも同様に作成します。

これにより、Active Directory 側に登録されている christine、michael、sally での CP4D へのログインが可能となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2763758/1df58e9e-9342-17a4-1d7a-05ccf64e19b9.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2763758/5003a3c1-78cb-ca09-d911-5e2d00201fa5.png)

CP4D 側には、最初にそのユーザーで CP4D にログインしたタイミングで、自動でユーザーが作成されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2763758/075eecfd-76eb-e2bc-684e-e45b7af16621.png)
 
また、christine には、ユーザー・グループ「BAgroup」にアサインされたRole「Business Analyst」がアサインされます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2763758/7a263a1a-7fe1-bd43-b810-96506a5a3618.png)

同様に、michael や sally でもログインできます。尚、michael には Role「Business Analyst」が、sally には Role「Administrator」がアサインされます。

また、この環境で、Active Directory 側でグループ「groupA」配下にさらにユーザーを追加した場合、CP4D 側でユーザー追加作業を行う必要はありません。christine や michael 同様、Active Directory 側で追加したユーザー名、パスワードで、CP4D にログインすることが可能となります。

今回は、LDAP（Active Directory）側で登録したグループ/ユーザーを CP4D 側で指定してログイン可能とする設定をご紹介しましたが、それ以外にも、ユーザー属性（ユーザーのロケーションや所属する組織、役職など）に応じて、CP4D リソースへのアクセス制御（属性ベースのアクセス制御（ABAC：Attribute Based Access Control））をおこなうこともできます。
ABAC につきましては、以下をご参照下さい。
[CP4D で属性ベースのアクセス制御（ABAC）をしてみた]
参考：[[Qiita] CP4D で属性ベースのアクセス制御（ABAC）をしてみた](https://qiita.com/cotflow/items/b682610a51d4fa55ce95)