Hitachi

Hitachi Advanced Database システム構築・運用ガイド


11.9.1 Keycloak認証の環境設定

Keycloak認証を使用する際の環境設定の流れを次の表に示します。

表11‒11 Keycloak認証を使用する際の環境設定の流れ

項番

作業項目

説明

実行者

1

Keycloakサーバでの設定

Keycloakサーバで必要な設定を実施します。

Keycloakサーバの管理者

2

サーバ定義の指定

Keycloak認証に関するオペランドを指定します。

HADB管理者

3

HADBユーザの作成

CREATE USER文でHADBユーザを作成します。

DBA権限を持っているHADBユーザ

4

自動ロールマッピング機能の設定

自動ロールマッピング機能を使用する場合は,この機能の設定をします。自動ロールマッピング機能については,「2.8.3 自動ロールマッピング機能」を参照してください。

  • Keycloakサーバの管理者

  • DBA権限を持っているHADBユーザ

  • ロールに付与するアクセス権限を付与権付きで持っているHADBユーザ

上記の各作業については,以降で順次説明します。

〈この項の構成〉

(1) Keycloakサーバでの設定

Keycloakサーバで次の設定をしてください。Keycloakサーバの操作方法については,Keycloakのドキュメントの「認証サービスガイド」を参照してください。

Keycloakサーバの開始後,次の設定をしてください。

上記の設定以外に,HADBサーバとHADBクライアントからKeycloakサーバに接続できる環境を準備する必要があります。

(2) サーバ定義の指定

サーバ定義にKeycloak認証に関する次のオペランドを指定してください。

指定例
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

[説明]

  1. HADBサーバが接続するKeycloakサーバのエンドポイントURLを指定します。指定必須のオペランドです。

  2. HADBクライアントが接続するKeycloakサーバのエンドポイントURLを指定します。HADBサーバが接続するKeycloakサーバのエンドポイントURLと,HADBクライアントが接続するKeycloakサーバのエンドポイントURLが異なる場合に,このオペランドを指定してください。

  3. Keycloakサーバで作成したレルム名を指定します。指定必須のオペランドです。

  4. 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ユーザにユーザ権限とスキーマ操作権限を付与する方法」を参照して,必要な権限を付与してください。

メモ

(4) 自動ロールマッピング機能の設定

自動ロールマッピング機能を使用する場合は,次の設定をしてください。

  1. Keycloakサーバでクライアントロールを作成する

    重要

    クライアントロールの名称と,3.で定義するHADBサーバのロールの名称を同じにする必要があります。そのため,クライアントロールの名称は,HADBのロールの名称規則に従うようにしてください。HADBサーバのロールの名称規則については,マニュアルHADB SQLリファレンス名前の指定を参照してください。

    また,クライアントロールの名称は100バイト以下にしてください。

  2. ユーザにクライアントロールを割り当てる

    (1) Keycloakサーバでの設定」で作成したユーザにクライアントロールを割り当ててください。

  3. HADBサーバでロール(自動ロールマッピング機能専用のロール)を定義する

    自動ロールマッピング機能専用のロールの定義方法については,「11.12.1 ロールの定義」を参照してください。

  4. 自動ロールマッピング機能専用のロールにアクセス権限を付与する

    3.で定義したロールに,必要なアクセス権限を付与してください。詳細については,「11.12.2 ロールへのアクセス権限の付与」を参照してください。

上記の設定をすると,HADBユーザがKeycloak認証を使用してHADBサーバに接続するときに,3.で定義したロールのロール利用権限が自動的に付与されます。それに伴い,4.でロールに付与したアクセス権限が,HADBユーザに付与されます。