Cloud Pak for Data (以下CP4D)内のDb2, Db2 Warehouseサービスへ接続するためのユーザーの追加方法を2つご紹介します。
- Db2 on CP4Dへの接続 - ユーザーを追加する :初めてやってみるとか、ちょっとした確認のため1ユーザー作成してDb2サービスへ接続したいという場合にお使いください。
- Db2 on CP4Dへの接続 - グループを追加しておくと便利! ユーザーを追加する : 本文書です。 Db2サービスのユーザー管理の入門としてお使いください。Db2データベースにCP4Dユーザー・グループを登録してユーザー管理が簡単になります。
ここでは CP4Dの内のDb2サービスのユーザー管理を簡単にする方法-CP4Dのユーザー・グループを登録しておく方法-をご紹介します。ステップは次の通りです。
- Step1 CP4Dのユーザーをユーザーグループに所属させておく。
- Step2 Db2データベースへCP4Dユーザー・グループを追加する。
- Step3 新規CP4Dユーザー追加してDb2に接続できるユーザーグループに所属させる。
"Step2 Db2データベースへCP4Dユーザー・グループを追加する。"を実施した後は、Db2データベースへのユーザー・アクセス管理(追加や削除など)は、Db2データベースの"アクセス管理"を操作するすることなくCP4Dの"アクセス制御"のみで作業できます。
異なるグループを新たにDb2データベースに追加する場合は "Step2 Db2データベースへCP4Dユーザー・グループを追加する。"を実行する必要があります。
本記事は Db2で記述していますが Db2 Warehouseサービスも同じ手順で作業します。
Step1 CP4Dユーザーグループにユーザーを所属させておく。
-
まず CP4Dのユーザーで Db2サービスへ接続したいユーザーが存在することを確認します。
管理者権限をもったユーザーでCP4DコンソールにLOGINし メニューから 管理→ アクセス制御を選択します。
存在しなければ"ユーザーの追加"で追加できます。ここでは "user02"を使用します。 -
Db2サービスへ接続させたいグループが存在することを確認します。
"アクセス制御"のページで"ユーザー・グループ"のタブを選択します。
存在しなければ"新しいユーザ・グループ"で追加できます。ここでは"MSUSER"を使用します。"MSUSER"には"user02"が所属しています。
-
この時点ではuser02ではDb2データベースへ接続できません。
(1) Db2 のPODにはいってデータベース名BLUDBを確認するまでの手順
[user99@bastion7 ~]$ oc exec -it c-db2oltp-202304130627-db2u-0 -- bash
Defaulted container "db2u" out of: db2u, init-labels (init), init-kernel (init)
[db2uadm@c-db2oltp-202304130627-db2u-0 /]$ su - db2inst1
Last login: Wed Nov 23 23:28:40 UTC 2022
[db2inst1@c-db2oltp-202304130627-db2u-0 - Db2U db2inst1]$ db2 list db directory
System Database Directory
Number of entries in the directory = 1
Database 1 entry:
Database alias = BLUDB
Database name = BLUDB
Local database directory = /mnt/blumeta0/db2/databases
Database release level = 15.00
Comment =
Directory entry type = Indirect
Catalog database partition number = 0
Alternate server hostname =
Alternate server port number =
[db2inst1@c-db2oltp-202304130627-db2u-0 - Db2U db2inst1]$
(2) Db2データベースBLUDBへuser02で接続しようとして失敗した例
[db2inst1@c-db2oltp-202304130627-db2u-0 - Db2U db2inst1]$ db2 connect to bludb user user02 using xxxxxx
SQL30082N Security processing failed with reason "24" ("USERNAME AND/OR
PASSWORD INVALID"). SQLSTATE=08001
[db2inst1@c-db2oltp-202304130627-db2u-0 - Db2U db2inst1]$
Step2 Db2データベースへCP4Dユーザー・グループを追加する。
-
Db2データベースの"アクセスの管理"を開く
CP4Dコンソールのメニューから データ→ データベースを選択します。
接続したいDb2データベースの右上のトリコロンから "アクセスの管理"を選択し"アクセスの管理"パネルに入ります。
すると登録されているユーザーが表示されます。
↑の例は作成したばかりのデータベースなので adminだけが登録されています。 -
Db2データベースへCP4Dユーザー・グループを追加する
"アクセスの管理"パネルの右上方にある"ユーザーの追加"を選択すると CP4Dのユーザー,ユーザー・グループがリストされます。
Db2データベースへ追加するユーザー・グループ"MSUSER"を追加するためにチェックボックスにチェックして"ロールの選択"を行います。 今回は"User"を選択して "追加"します。 -
Db2データベースのアクセス管理に CP4Dユーザー・グループMSUSERが追加されました。 MSUSERグループのuser02も属しているのが確認できます。
-
user02でDb2データベースへ接続できるようになりました。
[db2inst1@c-db2oltp-202304130627-db2u-0 - Db2U db2inst1]$ db2 connect to bludb user user02 using xxxxxx
Database Connection Information
Database server = DB2/LINUXX8664 11.5.8.0
SQL authorization ID = USER02
Local database alias = BLUDB
[db2inst1@c-db2oltp-202304130627-db2u-0 - Db2U db2inst1]$
Step3 新規CP4Dユーザー追加してDb2に接続できるユーザーグループに所属させる。
-
例としてuser03を追加してDb2データベースへのアクセスを可能にしたCP4Dユーザー・グループMSUSERに所属させます。
-
Db2データベースの"アクセス管理"を操作することなく user03でDb2データベースへ接続できるようになりました。
[db2inst1@c-db2oltp-202304130217-db2u-0 - Db2U db2inst1]$ db2 connect to bludb user user03 using xxxxxxx
Database Connection Information
Database server = DB2/LINUXX8664 11.5.8.0
SQL authorization ID = USER03
Local database alias = BLUDB
[db2inst1@c-db2oltp-202304130217-db2u-0 - Db2U db2inst1]$
実施環境 Db2
- IBM Cloud VPC Gen2
- OCP 4.10
- CP4D 4.6.4
- Db2 Version 11.5.8.0-cn2