JS7®JobSchedulerは独SOS社(Software- und Organisations-Service GmbH)によって開発されている、ジョブ管理システムです。
OSSジョブ管理ツールの定番JobSchedulerをリニューアルし、従来より耐障害性、大規模環境対応を強化し、ミッションクリティカルな要求に対応しました。
V.2.2.0よりHashiCorp Vault® シークレット管理のサポートが追加されました。
参考:
https://kb.sos-berlin.com/display/PKB/Release+2.2.0
本書では、HashiCorp Vault®とJOCコックピットの連携方法を記載します。
HashiCorp Vault®とJOCコックピットの連携は以下のタイプがあります。
※Vaultのサービスは、複数の指定ができないため以下のタイプから1つ選択する必要があります。
-
VAULT-JOC:
- ユーザアカウント/パスワードはVaultにて管理します。
- Vaultに登録されていないアカウントをJOCで追加しようとするとエラーが発生し、登録することができません。
- ユーザアカウントのロールの割り当ては、JOCで行います。
-
VAULT-JOC-ACTIVE:
- ユーザアカウント/パスワードの作成はJOCを使用します。そのため、JOCで作成されたユーザアカウント/パスワードは、Vaultに転送され、Vault上にユーザアカウントが作成されます。
(※既にVault上に存在するユーザアカウントをJOCで作成した場合、パスワードはJOCで登録したものに上書きされます。) - ユーザアカウントのロールの割り当ては、JOCで行います。
- ユーザアカウント/パスワードの作成はJOCを使用します。そのため、JOCで作成されたユーザアカウント/パスワードは、Vaultに転送され、Vault上にユーザアカウントが作成されます。
-
VAULT:
- ユーザアカウント/パスワードはVaultにて管理します。
- Vaultポリシー(Vaultでユーザーアカウントが割り当てられている)のJOCロールへの自動マッピングが行われます。
- JOCへのログインを実行すると、ユーザーアカウントにポリシー名に一致するロールが割り当てられます。
参考:
https://kb.sos-berlin.com/display/PKB/JS7+-+Identity+Services
https://kb.sos-berlin.com/pages/viewpage.action?pageId=74875952
詳細な情報については、以下をご覧下さい。
- ナレッジベース(英語) https://kb.sos-berlin.com/display/PKB/JS7
- 日本語紹介資料 https://www.ossl.co.jp/
- フォーラム https://groups.google.com/forum/?hl=ja#!forum/jobscheduler-ja
- Facebook https://www.facebook.com/Jobscheduler-Japan-%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97-594469610565511/timeline/
- 日本JobSchedulerユーザーグループ https://sites.google.com/site/jobschedulerja/
- JIRA(英語) https://change.sos-berlin.com/secure/Dashboard.jspa
- User Forum(英語) http://sourceforge.net/projects/jobscheduler/forums/forum/486122
- SOS社ホームページ http://www.sos-berlin.com
HashiCorp Vault®の詳細は以下をご参照ください。
https://www.vaultproject.io
1.前提条件
JS7® JobScheduler V.2.2以上がインストール済みであること
HashiCorp® Vault V.1.7.0以降を使用すること
JS7® JobSchedulerの概要及びインストール方法については以下を参照ください
Dockerでのインストール手順 https://qiita.com/satoruf/items/360fee5293611433ed33
Windowsでのインストール手順 https://qiita.com/Yoshitami/items/6804584592956a483364
Linux/CLIでのインストール手順 https://qiita.com/satoruf/items/fa9846f4376d1a50a67e
2.JS7/Vaultインストール環境
・CentOS 7.9
・PostgreSQL 13.5
・openjdk 11
・JS7 2.2.1
・Vault 1.9.2
※JS7とVaultは同居する。
・SELinuxはDisabled、Firewalldは停止されていること
・作業はすべてrootで実施
・Vault等の必要パッケージをインストールするためインターネットへの接続が可能なこと
3.Vaultインストール手順
(1)Vaultのインストール
以下のコマンドでVaultのリポジトリを追加し、Vaultをインストールします。
参考)
https://www.vaultproject.io/downloads
yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
yum -y install vault
Vault CLIを補完出来るようにしておくと便利のため以下のコマンドを実行します。
vault -autocomplete-install
exec $SHELL
また、本書ではVaultの証明書の作成にjqコマンドを使用するため、jqのパッケージのインストールを行います。
# yum -y install epel-release
# yum -y install jq
Vaultの設定ファイルを以下のように修正します。
# vim /etc/vault.d/vault.hcl
※本書では以下のように設定します、環境に合わせて修正を行ってください。
ui = true
storage "file" {
path = "/opt/vault/data"
}
listener "tcp" {
address = "0.0.0.0:8200"
tls_disable = 1
}
設定後、Vaultのサービスの自動起動を有効化し、起動します。
# systemctl enable vault.service
# systemctl start vault.service
(2)Vaultの初期設定
Vaultの環境変数の定義します。
※以下のコマンドを実行しないとvaultコマンドを実行してもエラーになります。
# export VAULT_ADDR='http://localhost:8200'
Vaultの初期化を行い、unsealkeyとrootのトークンが表示されます。
# vault operator init
Unseal Key 1: as6ljo74gXU4NnLggMgdfOhYT1bxJo+Rap3SlnDHMdZb
Unseal Key 2: 69UT4vICwu7Z1wm9jhVG3Hp5r5kMMCq1Lg2SXWmjL53V
Unseal Key 3: O5xp+b2kS0go3uorPIRjc2XfEZJ/mHLof2x2o1t0+4PY
Unseal Key 4: b3Jr7kFhOfF0M94dqxwOEPdArUk8pdSENPin2ShdVhhr
Unseal Key 5: RrfZbfRroXbYd77fUdUrdxjBIOcKenT80MHlY6ZOnlzA
Initial Root Token: s.JzmTL990ctxVHYucQtrkOjml
<以下略>
Vaultをunsealします、1つめのキーを入力すると、Unseal Progressが0/3から1/3になります。
# vault operator unseal as6ljo74gXU4NnLggMgdfOhYT1bxJo+Rap3SlnDHMdZb
Key Value
--- -----
Seal Type shamir
Initialized true
Sealed true
Total Shares 5
Threshold 3
Unseal Progress 1/3
Unseal Nonce 396c1758-c9c9-201e-5fd5-4a8c652a31ab
Version 1.9.2
Storage Type file
HA Enabled false
2つめのキーを入力し、Unseal Progressが1/3から2/3になります。
# vault operator unseal 69UT4vICwu7Z1wm9jhVG3Hp5r5kMMCq1Lg2SXWmjL53V
Key Value
--- -----
Seal Type shamir
Initialized true
Sealed true
Total Shares 5
Threshold 3
Unseal Progress 2/3
Unseal Nonce 396c1758-c9c9-201e-5fd5-4a8c652a31ab
Version 1.9.2
Storage Type file
HA Enabled false
3つめのキーを入力し、シールドががfalseとなり、解除されます。
# vault operator unseal O5xp+b2kS0go3uorPIRjc2XfEZJ/mHLof2x2o1t0+4PY
Key Value
--- -----
Seal Type shamir
Initialized true
Sealed false
Total Shares 5
Threshold 3
Version 1.9.2
Storage Type file
Cluster Name vault-cluster-b997839c
Cluster ID 229629ce-b3be-16d0-206c-11b7f877720c
HA Enabled false
Root Tokenを使用して、ログインします。
# vault login s.JzmTL990ctxVHYucQtrkOjml
Success! You are now authenticated. The token information displayed below
is already stored in the token helper. You do NOT need to run "vault login"
again. Future Vault requests will automatically use this token.
Key Value
--- -----
token s.JzmTL990ctxVHYucQtrkOjml
token_accessor YlKSbiNTsz86Bu2nKFWB4etS
token_duration ∞
token_renewable false
token_policies ["root"]
identity_policies []
policies ["root"]
Vaultはデフォルトではログを出力しないため、ログをファイルに出力するように設定します。
# mkdir -p /var/log/vault/
# chown vault: /var/log/vault
# vault audit enable -path="audit" file file_path=/var/log/vault/vault_audit.log \
hmac_accessor=false mode=0644
4.Vault 証明書作成手順
(1)Root証明書の作成
VaultでPKIを構築します、pkiを有効化し、証明書の有効期間を設定します。
# vault secrets enable pki
# vault secrets tune -max-lease-ttl=87600h pki
証明書作成の作業ディレクトリを作成します、本書では「/root/vault」とします。
# mkdir /root/vault
# cd /root/vault
Root証明書を作成します。
# vault write -field=certificate pki/root/generate/internal common_name="Root CA" ttl=87600h > CA_cert.crt
# vault write pki/config/urls issuing_certificates="http://localhost/v1/pki/ca" crl_distribution_points="http://localhost:8200/v1/pki/crl"
(2)中間証明書の作成
次に中間証明書を作成します。
# vault secrets enable -path=pki_int pki
# vault secrets tune -max-lease-ttl=43800h pki_int
# vault write -format=json pki_int/intermediate/generate/internal common_name="Intermediate Authority" ttl="43800h" | jq -r '.data.csr' > pki_intermediate.csr
# vault write -format=json pki/root/sign-intermediate csr=@pki_intermediate.csr format=pem_bundle ttl="43800h" | jq -r '.data.certificate' > intermediate.cert.pem
# vault write pki_int/intermediate/set-signed certificate=@intermediate.cert.pem
(3)ロールの作成
証明書の署名要求を処理できるロールを作成します。
# vault write pki_int/roles/cpRole allow_any_name="true" allow_subdomains=true client_flag=true
(4)Truststoreの生成
ルート証明書およびすべての中間証明書をTruststoreにインポートします。
# keytool -import -alias root-ca -trustcacerts -file CA_cert.crt -keystore vault-truststore.jks
キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
※本書ではパスワードは「changeit」にします。
生成された証明書をキーストアにインポートし、PKCS12形式に変換します。
※V.2.2.1ではJKS形式は非推奨のためPKCS12形式に変換します。
# keytool -import -alias js7-int-ca -trustcacerts -file intermediate.cert.pem -keystore vault-truststore.jks
キーストアのパスワードを入力してください:
※本書ではパスワードは「changeit」にします。
# keytool -importkeystore -srckeystore vault-truststore.jks -srcstoretype JKS -destkeystore vault-truststore.p12 -deststoretype PKCS12
キーストアvault-truststore.jksをvault-truststore.p12にインポートしています...
出力先キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
ソース・キーストアのパスワードを入力してください:
※本書ではパスワードは「changeit」にします。
(5)Keystoreの生成
PKCS12キーと証明書ファイルを作成します。
# vault write pki_int/issue/cpRole common_name="localhost" ttl="8760h" -format=json > certs.json
# cat certs.json | jq -r '.data.ca_chain[0]' > ca_chain.pem
# cat certs.json | jq -r '.data.certificate' > certificate.pem
# cat certs.json | jq -r '.data.private_key' > private_key.pem
# openssl pkcs12 -inkey private_key.pem -in certificate.pem -export -out vault-keystore.p12
Enter Export Password:
Verifying - Enter Export Password:
※本書ではパスワードは「changeit」にします。
(6)サーバ証明書のコピー
上記(4)、(5)で作成した証明書ファイルをJOCのインストールディレクトリ、JETTY_BASEディレクトリにコピーします。
ファイル名:vault-keystore.p12、vault-truststore.p12
コピー先:/opt/sos-berlin.com/js7/joc/jetty_base
# cp -p vault-keystore.p12 vault-truststore.p12 /opt/sos-berlin.com/js7/joc/jetty_base/
# chown scheduler. /opt/sos-berlin.com/js7/joc/jetty_base/*.p12
5.Vault ユーザの作成手順
(1)認証方式の追加
ユーザ名とパスワードを使った認証方式を追加します。
# vault write sys/auth/userpass type=userpass
(2)ユーザの作成
ユーザを作成します、本書では以下のユーザを作成します。
ユーザ名:yamashita
パスワード:P@ssword
# vault write auth/userpass/users/yamashita password=P@ssword
作成したユーザでログイン確認を行います。
# vault login -method=userpass username=yamashita
Password (will be hidden):
Success! You are now authenticated. The token information displayed below
is already stored in the token helper. You do NOT need to run "vault login"
again. Future Vault requests will automatically use this token.
Key Value
--- -----
token s.LwcqjCI87xWHsvecjjShJrXd
token_accessor yZxY8m6GjLklU3p0ylXDUBpz
token_duration 768h
token_renewable true
token_policies ["default"]
identity_policies []
policies ["default"]
token_meta_username yamashita
6.JOCコックピット Vault連携手順
Vaultの設定が行えたため、JOCコックピットとVaultを連携します。
上記にも記載しましたが、Vaultのサービスは、複数の指定ができないため以下のタイプから1つ選択する必要があります。
(複数Vaultのサービスを作成した場合は、無効化し、1つだけVaultのサービスを有効にします。)
・VAULT-JOC
・VAULT-JOC-ACTIVE
・VAULT
6-1.Vault連携手順(IDサービスタイプ:VAULT-JOC)
本手順では、VaultのサービスタイプのVAULT-JOCでの連携手順を記載します。
(5.Vault ユーザの作成手順にて作成したユーザアカウントを使用します。)
(1)IDサービス(VAULT-JOC)の作成
JOCのWebUIにrootアカウントでログインし、
http://<IPアドレス>:4446
ユーザ:root
パスワード:root
JobSchedulerメニューからroot > アカウント管理 の順で移動し、「IDサービス作成」を選択し、Vault-JOCのサービスを登録します。
※本書ではshiroのローカル認証→Vaultの順で認証するものとします。
IDサービス名:Vault
IDサービスタイプ:VAULT-JOC
順位:2
作成した、「Vault」のアクションボタンにて、設定管理を選択し、以下の項目を入力し、登録します。
Vault URL:http://localhost:8200
Vaultキーストアパス:vault-keystore.p12
Vaultキーストアパスワード:changeit
Vaultパスワード:changeit
Vaultキーストアタイプ:PKCS12
Vaultトラストアパス:vault-truststore.p12
Vaultトラストアパスワード:changeit
Vaultトラストアトアタイプ:PKCS12
Vaultアプリケーショントークン:s.JzmTL990ctxVHYucQtrkOjml #Root Tokenを記載
(2)ロール/アカウントの作成
作成した「Vault」のサービスを選択し、ロール管理の順で移動し、ロールを作成します。
※本書ではVault連携のアカウントは全権限付与するものとします。
ロール/権限の詳細は以下をご参照ください。
https://kb.sos-berlin.com/display/PKB/JS7+-+Management+of+User+Accounts%2C+Roles+and+Permissions
ロール:all
作成したロール「all」のコントローラ:defaultを選択します。
次にアカウントに移動し、Vaultで作成したアカウント作成します。
アカウント:yamashita
ロール:all
設定完了後、**「7.JOCコックピットVault連携確認」**を実施し動作確認を行います。
6-2.Vault連携手順(IDサービスタイプ:VAULT-JOC-ACTIVE)
本手順では、VaultのサービスタイプのVAULT-JOC-ACTIVEでの連携手順を記載します。
(1)IDサービス(VAULT-JOC-ACTIVE)の作成
JOCのWebUIにrootアカウントでログインし、
http://<IPアドレス>:4446
ユーザ:root
パスワード:root
JobSchedulerメニューからroot > アカウント管理 の順で移動し、「IDサービス作成」を選択し、Vault-JOC-ACTIVEのサービスを登録します。
※本書ではshiroのローカル認証→Vaultの順で認証するものとします。
IDサービス名:Vault
IDサービスタイプ:VAULT-JOC-ACTIVE
順位:2
作成した、「Vault」のアクションボタンにて、設定管理を選択し、以下の項目を入力し、登録します。
Vault URL:http://localhost:8200
Vaultキーストアパス:vault-keystore.p12
Vaultキーストアパスワード:changeit
Vaultパスワード:changeit
Vaultキーストアタイプ:PKCS12
Vaultトラストアパス:vault-truststore.p12
Vaultトラストアパスワード:changeit
Vaultトラストアトアタイプ:PKCS12
Vaultアプリケーショントークン:s.JzmTL990ctxVHYucQtrkOjml #Root Tokenを記載
(2)ロール/アカウントの作成
作成した「Vault」のサービスを選択し、ロール管理の順で移動し、ロールを作成します。
※本書ではVault連携のアカウントは全権限付与するものとします。
ロール/権限の詳細は以下をご参照ください。
https://kb.sos-berlin.com/display/PKB/JS7+-+Management+of+User+Accounts%2C+Roles+and+Permissions
ロール:all
作成したロール「all」のコントローラ:defaultを選択します。
アカウント:yoshitami
パスワード:P@ssword123
ロール:all
JOC上でアカウントの作成が成功すると、Vaultに以下のようにユーザアカウントが作成されたログが出力されます。
# tailf /var/log/vault/vault_audit.log
※ログはJSON形式で出力されます。
{"time":"2022-01-25T11:01:59.843125109Z","type":"request","auth":{"client_token":"hmac-sha256:9131e3a0f7912fdf826938dce5c0d7690aeb66eb9461e8dd70d543e03ead008b","accessor":"YlKSbiNTsz86Bu2nKFWB4etS","display_name":"root","policies":["root"],"token_policies":["root"],"token_type":"service","token_issue_time":"2022-01-25T10:56:26+09:00"},"request":{"id":"5766ca93-940d-fa26-56fd-1ef7962421b7","operation":"update","mount_type":"userpass","client_token":"hmac-sha256:9131e3a0f7912fdf826938dce5c0d7690aeb66eb9461e8dd70d543e03ead008b","client_token_accessor":"YlKSbiNTsz86Bu2nKFWB4etS","namespace":{"id":"root"},"path":"auth/userpass/users/yoshitami","data":{"password":"hmac-sha256:1cb3a9817190e2bc5b508cd2876047e381757dbf9d48f4028251d9c14779d00d","username":"hmac-sha256:ef716e43d73466efd352860ccfbb528f215b41c913c8948e37bf26cf0fcffc0e"},"remote_address":"127.0.0.1"}}
{"time":"2022-01-25T11:01:59.923257201Z","type":"response","auth":{"client_token":"hmac-sha256:9131e3a0f7912fdf826938dce5c0d7690aeb66eb9461e8dd70d543e03ead008b","accessor":"YlKSbiNTsz86Bu2nKFWB4etS","display_name":"root","policies":["root"],"token_policies":["root"],"token_type":"service","token_issue_time":"2022-01-25T10:56:26+09:00"},"request":{"id":"5766ca93-940d-fa26-56fd-1ef7962421b7","operation":"update","mount_type":"userpass","client_token":"hmac-sha256:9131e3a0f7912fdf826938dce5c0d7690aeb66eb9461e8dd70d543e03ead008b","client_token_accessor":"YlKSbiNTsz86Bu2nKFWB4etS","namespace":{"id":"root"},"path":"auth/userpass/users/yoshitami","data":{"password":"hmac-sha256:1cb3a9817190e2bc5b508cd2876047e381757dbf9d48f4028251d9c14779d00d","username":"hmac-sha256:ef716e43d73466efd352860ccfbb528f215b41c913c8948e37bf26cf0fcffc0e"},"remote_address":"127.0.0.1"},"response":{"mount_type":"userpass"}}
{"time":"2022-01-25T11:01:59.950543344Z","type":"request","auth":{"client_token":"hmac-sha256:9131e3a0f7912fdf826938dce5c0d7690aeb66eb9461e8dd70d543e03ead008b","accessor":"YlKSbiNTsz86Bu2nKFWB4etS","display_name":"root","policies":["root"],"token_policies":["root"],"token_type":"service","token_issue_time":"2022-01-25T10:56:26+09:00"},"request":{"id":"5e997336-3083-882e-72e7-f66a60cf26b2","operation":"update","mount_type":"userpass","client_token":"hmac-sha256:9131e3a0f7912fdf826938dce5c0d7690aeb66eb9461e8dd70d543e03ead008b","client_token_accessor":"YlKSbiNTsz86Bu2nKFWB4etS","namespace":{"id":"root"},"path":"auth/userpass/users/yoshitami","data":{"token_policies":["hmac-sha256:3e40fa7ffb7391404c895283ec83e4a3fe0c2cf1710cf3bee97a4e9c957ebbcd"]},"remote_address":"127.0.0.1"}}
{"time":"2022-01-25T11:01:59.951031263Z","type":"response","auth":{"client_token":"hmac-sha256:9131e3a0f7912fdf826938dce5c0d7690aeb66eb9461e8dd70d543e03ead008b","accessor":"YlKSbiNTsz86Bu2nKFWB4etS","display_name":"root","policies":["root"],"token_policies":["root"],"token_type":"service","token_issue_time":"2022-01-25T10:56:26+09:00"},"request":{"id":"5e997336-3083-882e-72e7-f66a60cf26b2","operation":"update","mount_type":"userpass","client_token":"hmac-sha256:9131e3a0f7912fdf826938dce5c0d7690aeb66eb9461e8dd70d543e03ead008b","client_token_accessor":"YlKSbiNTsz86Bu2nKFWB4etS","namespace":{"id":"root"},"path":"auth/userpass/users/yoshitami","data":{"token_policies":["hmac-sha256:3e40fa7ffb7391404c895283ec83e4a3fe0c2cf1710cf3bee97a4e9c957ebbcd"]},"remote_address":"127.0.0.1"},"response":{"mount_type":"userpass"}}
~
Vaultにてユーザを確認します。
# vault list /auth/userpass/users
Keys
----
yamashita
yoshitami # JOC上で作成したユーザアカウントが確認できる
JOC上で作成したユーザアカウント情報でログイン確認を行います。
# vault login -method=userpass username=yoshitami
Password (will be hidden):
Success! You are now authenticated. The token information displayed below
is already stored in the token helper. You do NOT need to run "vault login"
again. Future Vault requests will automatically use this token.
Key Value
--- -----
token s.SuDU5sykWJ0XCzAg9DuoUMhy
token_accessor PcUR1guW4XjEZP2zrmcvde6Q
token_duration 768h
token_renewable true
token_policies ["all" "default"]
identity_policies []
policies ["all" "default"]
token_meta_username yoshitami
また、JOCのWebUIに以下のVaultで作成したユーザ/パスワードでログインできることを確認します。
http://<IPアドレス>:4446
ユーザ:yoshitami
パスワード:P@ssword123
設定完了後、**「7.JOCコックピットVault連携確認」**を実施し動作確認を行います。
6-3.Vault連携手順(IDサービスタイプ:VAULT)
本手順では、VaultのサービスタイプのVAULTでの連携手順を記載します。
(5.Vault ユーザの作成手順にて作成したユーザアカウントを使用します。)
(1)IDサービス(VAULT)の作成
JOCのWebUIにrootアカウントでログインし、
http://<IPアドレス>:4446
ユーザ:root
パスワード:root
JobSchedulerメニューからroot > アカウント管理 の順で移動し、「IDサービス作成」を選択し、Vaultのサービスを登録します。
※本書ではshiroのローカル認証→Vaultの順で認証するものとします。
IDサービス名:Vault
IDサービスタイプ:VAULT
順位:2
作成した、「Vault」のアクションボタンにて、設定管理を選択し、以下の項目を入力し、登録します。
Vault URL:http://localhost:8200
Vaultキーストアパス:vault-keystore.p12
Vaultキーストアパスワード:changeit
Vaultパスワード:changeit
Vaultキーストアタイプ:PKCS12
Vaultトラストアパス:vault-truststore.p12
Vaultトラストアパスワード:changeit
Vaultトラストアトアタイプ:PKCS12
Vaultアプリケーショントークン:s.JzmTL990ctxVHYucQtrkOjml #Root Tokenを記載
作成した「Vault」のサービスを選択し、ロール管理の順で移動し、ロールを作成します。
※本書ではVault連携のアカウントは全権限付与するものとします。
ロール/権限の詳細は以下をご参照ください。
https://kb.sos-berlin.com/display/PKB/JS7+-+Management+of+User+Accounts%2C+Roles+and+Permissions
ロール:all-vault
作成したロール「all-vault」のコントローラ:defaultを選択します。
(2)Vault ユーザのロールの割り当て
5.Vault ユーザの作成手順にて作成したユーザアカウントに上記のJOCで作成したロール「ALL-VAULT」を割り当てます。
# vault write auth/userpass/users/yamashita policies=all-vault
Vaultのユーザでログイン確認し、token_policies、policiesにJOCで作成したロール「ALL-VAULT」が割り当てられていることを確認します。
# vault login -method=userpass username=yamashita
Password (will be hidden):
Success! You are now authenticated. The token information displayed below
is already stored in the token helper. You do NOT need to run "vault login"
again. Future Vault requests will automatically use this token.
Key Value
--- -----
token s.MOGEI0i3GSvGq04uzNdA5vL0
token_accessor Ft6yIyLZOlgORObzuNxnRCWr
token_duration 768h
token_renewable true
token_policies ["all-vault" "default"]
identity_policies []
policies ["all-vault" "default"]
token_meta_username yamashita
これで、Vaultポリシーが、JOCロールへの自動マッピングが行われます。
設定完了後、**「7.JOCコックピットVault連携確認」**を実施し動作確認を行います。
7.JOCコックピットVault連携確認
JOCのWebUIに以下のVaultで作成したユーザ/パスワードでログインできることを確認します。
http://<IPアドレス>:4446
ユーザ:<Vaultユーザアカウント名>
パスワード:<Vaultユーザアカウントパスワード>
また、Vaultのログで以下のようにログインが成功しているログが出力されていることを確認します。
# tailf /var/log/vault/vault_audit.log
※ログはJSON形式で出力されます。
{"time":"2022-01-25T05:23:27.766218496Z","type":"response","auth":{"client_token":"hmac-sha256:0ab6cc70c281f2972f1d8a6efbfac87d0d2f0e3d71b1e64ce2066b995e315c5c","accessor":"AAW442Fkk8l4k7gjiBdTmUFc","display_name":"userpass-yamashita","policies":["all","default"],"token_policies":["all","default"],"metadata":{"username":"yamashita"},"entity_id":"e7815399-9cde-f444-70f0-fcfc3481b591","token_type":"service","token_ttl":2764800},"request":{"id":"6560c001-ee25-43e5-25f2-f666dd9a04b7","operation":"update","mount_type":"userpass","client_token":"hmac-sha256:9131e3a0f7912fdf826938dce5c0d7690aeb66eb9461e8dd70d543e03ead008b","client_token_accessor":"YlKSbiNTsz86Bu2nKFWB4etS","namespace":{"id":"root"},"path":"auth/userpass/login/yamashita","data":{"password":"hmac-sha256:9742d772e8df1e34eef75290c8adcebfd5c5410523817d76e6694c85472cd23a","tokenPolicies":null,"username":"hmac-sha256:f92738c4ecbf3133a93529396505dc42abd9a4fe80d2ee346f5ca6d90059e5a0"},"remote_address":"127.0.0.1"},"response":{"auth":{"client_token":"hmac-sha256:0ab6cc70c281f2972f1d8a6efbfac87d0d2f0e3d71b1e64ce2066b995e315c5c","accessor":"AAW442Fkk8l4k7gjiBdTmUFc","display_name":"userpass-yamashita","policies":["all","default"],"token_policies":["all","default"],"metadata":{"username":"yamashita"},"entity_id":"e7815399-9cde-f444-70f0-fcfc3481b591","token_type":"service","token_ttl":2764800},"mount_type":"userpass"}}