11.9.1 Keycloak認証の環境設定
Keycloak認証を使用する際の環境設定の流れを次の表に示します。
|
作業項目 |
説明 |
実行者 |
|---|---|---|
|
Keycloakサーバでの設定 |
Keycloakサーバで必要な設定を実施します。 |
Keycloakサーバの管理者 |
|
サーバ定義の指定 |
Keycloak認証に関するオペランドを指定します。 |
HADB管理者 |
|
HADBユーザの作成 |
CREATE USER文でHADBユーザを作成します。 |
DBA権限を持っているHADBユーザ |
上記の各作業については,以降で順次説明します。
(1) Keycloakサーバでの設定
Keycloakサーバで次の設定をしてください。Keycloakサーバの操作方法については,Keycloakのドキュメントの「認証サービスガイド」を参照してください。
-
設定ファイルの指定
サーバ定義にadb_auth_clt_keyc_endpointオペランドを指定する場合,Keycloakの設定ファイルにhostnameを指定したあとにKeycloakサーバを開始してください。指定例を次に示します。
hostname = https://auth.global.com:8080
adb_auth_clt_keyc_endpointオペランドについては,「(2) サーバ定義の指定」を参照してください。
Keycloakサーバの開始後,次の設定をしてください。
-
レルムの作成
Keycloakサーバの管理インタフェースを使用してレルム(レルム名は任意)を作成してください。
-
ユーザの作成
Keycloakサーバでユーザ情報を管理する場合は,作成したレルムにユーザを作成し,パスワードを設定してください。Keycloakサーバに登録するユーザ名は,HADBの認可識別子の名称規則に従う必要があります。認可識別子の名称規則については,マニュアルHADB SQLリファレンスの名前の指定を参照してください。
また,次の注意事項があります。
-
作成したユーザには,OTPなどの多要素認証の設定は行わないでください。
-
ユーザ名にメールアドレスを使用する設定(Email as username)はONにしないでください。
-
-
クライアントの作成
作成したレルムにクライアント(クライアントIDは任意)を作成してください。クライアントを作成する際,次のように指定してください。
-
Client TypeはOpenID Connectを選択してください。
-
Authentication flowのDirect access grantsを指定してください。
-
Client authenticationはOFFにしてください。
-
Front channel logoutはOFFにしてください。
-
-
ユーザーフェデレーション機能の設定
LDAPサーバなどの外部の認証サーバを使用する場合は,ユーザーフェデレーション機能の設定を行ってください。
上記の設定以外に,HADBサーバとHADBクライアントからKeycloakサーバに接続できる環境を準備する必要があります。
(2) サーバ定義の指定
サーバ定義にKeycloak認証に関する次のオペランドを指定してください。
-
adb_auth_keyc_endpoint
-
adb_auth_clt_keyc_endpoint
-
adb_auth_keyc_realm
-
adb_auth_keyc_clt_id
- 指定例
-
set adb_auth_keyc_endpoint = https://auth.local.com:8080 ...1 set adb_auth_clt_keyc_endpoint = https://auth.global.com:8080 ...2 set adb_auth_keyc_realm = production ...3 set adb_auth_keyc_clt_id = hadb ...4
[説明]
-
HADBサーバが接続するKeycloakサーバのエンドポイントURLを指定します。指定必須のオペランドです。
-
HADBクライアントが接続するKeycloakサーバのエンドポイントURLを指定します。HADBサーバが接続するKeycloakサーバのエンドポイントURLと,HADBクライアントが接続するKeycloakサーバのエンドポイントURLが異なる場合に,このオペランドを指定してください。
-
Keycloakサーバで作成したレルム名を指定します。指定必須のオペランドです。
-
Keycloakサーバで作成したクライアントのクライアントIDを指定します。指定必須のオペランドです。
-
- 重要
-
マルチノード機能を使用する場合は,上記の4つのオペランドの指定値をプライマリノードおよび全セカンダリノードで同じにしてください。
(3) HADBユーザの作成
外部ユーザ名(Keycloakサーバに登録したユーザ名や,LDAPサーバに登録したユーザ名など)と同じ名称の認可識別子のHADBユーザを作成してください。DBA権限を持っているHADBユーザで,次のSQL文を実行してください。
CREATE USER "KEYUSER01" IDENTIFIED WITH KEYCLOAK
下線部分には,外部ユーザ名(KeycloakサーバやLDAPサーバに登録されているユーザ名など)を指定します。
上記のCREATE USER文を実行すると,認可識別子がKEYUSER01のHADBユーザが作成されます。
- 重要
-
作成したHADBユーザには,権限は付与されていません。「11.10.1 HADBユーザにユーザ権限とスキーマ操作権限を付与する方法」を参照して,必要な権限を付与してください。
- メモ
-
-
ユーザ認証方式を,Keycloak認証からデータベース認証またはPAM認証にあとで変更できます。また,データベース認証またはPAM認証からKeycloak認証にあとで変更できます。詳細については,「11.7.4 HADBユーザのユーザ認証方式を変更する方法」を参照してください。
-
HADBユーザのユーザ認証方式を確認したい場合は,「付録B.24 ディクショナリ表の検索」の「(40) HADBユーザのユーザ認証方式を調べる方法」を参照してください。
-