IBM® Db2 Warehouse イメージ・コンテナーの Kerberos の有効化

Db2® Warehouse では、Kerberos を Microsoft Active Directory と一緒に使用できます。イメージ・コンテナーの Kerberos を有効にすると、Web コンソールで Kerberos が有効になります。

始める前に

  1. Active Directory サーバーをセットアップします。以下の手順では、この Active Directory サーバーを Kerberos サーバーとして指定します。
  2. すべてのノード・ホストが、それぞれのすべてのノード・ホストの /etc/hosts ファイル内で IBM Db2 Warehouse の前提条件の説明のとおりに定義されていることを確認します。
  3. ノード・ホストと Active Directory サーバーのシステム・クロックを同期します。

手順

  1. Active Directory サーバーで、それぞれのホスト・ノードに対し、そのノードを表すユーザー・アカウントを Active Directory サーバー上に作成します。「フルネーム (Full name)」フィールドと「ユーザー SamAccountName ログオン (User SamAccountName logon)」フィールドのみに入力します。
  2. Active Directory サーバーをホストするシステム上で、Db2 Warehouse ノード・ホストごとに以下のコマンドを発行して krb5.keytab ファイルを生成します。
    ktpass /princ db2inst1/host_name@uppercase_realm /pass password /mapuser node_AD_account@realm /ptype KRB5_NT_PRINCIPAL /out krb5.keytab
    ここで、
    • host_name は、ファイル /mnt/blumeta0/nodes.json にリストされているノード・ホストの名前を表しています。
    • node_AD_account は、前のステップで作成したアカウントの 1 つを表しています。
    以下に例を示します。
    ktpass /princ db2inst1/user1.test.ibm.com@TEST.IBM.COM /pass 1qaz!QAZ2wsx@WSX /mapuser user1principal@TEST.IBM.COM /ptype KRB5_NT_PRINCIPAL /out krb5.keytab
  3. それぞれの Db2 Warehouse ノード・ホストで、以下のコマンドを使用して、 krb5.keytab ファイルをコンテナー内の /etc フォルダーにコピーします。
    docker cp krb5.keytab container_name:/etc
    以下に例を示します。
    docker cp krb5.keytab Db2wh:/etc
  4. Active Directory サーバーで、db2inst1 および dsadm という名前の 2 つのアカウントを作成し、それらを bluadmin グループに追加します。詳しくは、Microsoft Active Directory サーバーのセットアップを参照してください。
  5. Active Directory サーバーで、以下のコマンドを発行して、db2inst1 プリンシパルおよび dsadm プリンシパルの db2inst1.keytab ファイルおよび dsadm.keytab ファイルを生成します。
    ktpass /princ db2inst1@realm /pass password /ptype KRB5_NT_PRINCIPAL /out db2inst1.keytab
    ktpass /princ dsadm@realm /pass password /ptype KRB5_NT_PRINCIPAL /out dsadm.keytab
    以下に例を示します。
    ktpass /princ db2inst1@TEST.IBM.COM /pass temp4now123 /ptype KRB5_NT_PRINCIPAL /out db2inst1.keytab
    ktpass /princ dsadm@TEST.IBM.COM /pass temp4now123 /ptype KRB5_NT_PRINCIPAL /out dsadm.keytab
  6. 各ノード・ホストで、 以下のコマンドを発行して db2inst1.keytab ファイルと dsadm.keytab ファイルを、コンテナー内の /etc フォルダーにコピーします。
    docker cp db2inst1.keytab container_name:/etc
    docker cp dsadm.keytab container_name:/etc
    以下に例を示します。
    docker cp db2inst1.keytab Db2wh:/etc
    docker cp dsadm.keytab Db2wh:/etc
  7. 以下のいずれかの方法で Kerberos を構成します。
    • root として、ヘッド・ノード・ホストで以下のコマンドを発行します。
      docker exec -it Db2wh configure_kerberos -d domain -n Kerberos_server_name 
      以下に例を示します。
      docker exec -it Db2wh configure_kerberos -d TEST.IBM.COM -n Db2wh-test-2018-04 
      Kerberos が有効になっていることを確認するには、/var/log/enable_kerberos.log ファイルを調べます。
    • Web コンソールを使用します。
      1. 「設定」 > 「外部ユーザー管理 (External User Management)」をクリックします。Kerberos ボタンを有効にする必要があります。
      2. ホスト名、ホスト・ドメイン、パスワードを入力し、「保存 (Save)」をクリックします。
      3. 進行状況をモニターするには、コンテナー内の /var/log/enable_kerberos.log ファイルを確認します。