2.8. Ansible を使用した Grafana パスワードの変更
デフォルトでは、ダッシュボードで使用される Grafana のパスワードは admin
に設定されます。パスワードを変更するには、以下の手順に従います。
セキュリティー上の理由から、パスワードをデフォルトから変更してください。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- クラスター内のすべてのノードへの root アクセス。
手順
オプション: Grafana コンテナーが実行されているノードがわからない場合は、通常は
/etc/ansible/hosts
にある Ansible ホストファイルのgrafana-server の
下にリストされているノードを見つけます。例
[grafana-server] grafana
Grafana コンテナーが実行されているノードで、パスワードを変更します。
構文
podman exec CONTAINER_ID grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" NEW_PASSWORD
CONTAINER_ID を Grafana コンテナーの ID に変更します。NEW_PASSWORD を必要な Grafana パスワードに変更します。
例
[root@grafana ~]# podman exec 3f28b0309aee grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" NewSecurePassword t=2020-10-29T17:45:58+0000 lvl=info msg="Connecting to DB" logger=sqlstore dbtype=sqlite3 t=2020-10-29T17:45:58+0000 lvl=info msg="Starting DB migration" logger=migrator Admin password changed successfully ✔
Ansible 管理ノードで、
ansible-vault
を使用して Grafana パスワードを暗号化し、暗号化されたパスワードをgroup_vars/all.yml
に追加します。/usr/share/ceph-ansible/
ディレクトリーに移動します。[admin@admin ~]$ cd /usr/share/ceph-ansible/
ansible-vault
を実行して、新しい vault パスワードを作成します。例
[admin@admin ceph-ansible]$ ansible-vault encrypt_string --stdin-name 'grafana_admin_password_vault' New Vault password:
パスワードを再入力して確定します。
例
[admin@admin ceph-ansible]$ ansible-vault encrypt_string --stdin-name 'grafana_admin_password_vault' New Vault password: Confirm New Vault password:
Grafana パスワードを入力し、Enter を押してから CTRL+D を入力してエントリーを完了します。
構文
ansible-vault encrypt_string --stdin-name 'grafana_admin_password_vault' New Vault password: Confirm New Vault password: Reading plaintext input from stdin. (ctrl-d to end input) NEW_PASSWORD
NEW_PASSWORD は、以前に設定した Grafana パスワードに置き換えます。
例
[admin@admin ceph-ansible]$ ansible-vault encrypt_string --stdin-name 'grafana_admin_password_vault' New Vault password: Confirm New Vault password: Reading plaintext input from stdin. (ctrl-d to end input) NewSecurePassword
grafana_admin_password_vault: !vault |
で開始し、数字の行 2-3 行で終了する出力をメモし、次の手順で使用します。例
[admin@admin ceph-ansible]$ ansible-vault encrypt_string --stdin-name 'grafana_admin_password_vault' New Vault password: Confirm New Vault password: Reading plaintext input from stdin. (ctrl-d to end input) NewSecurePassword grafana_admin_password_vault: !vault | $ANSIBLE_VAULT;1.1;AES256 38383639646166656130326666633262643836343930373836376331326437353032376165306234 3161386334616632653530383231316631636462363761660a373338373334663434363865356633 66383963323033303662333765383938353630623433346565363534636434643634336430643438 6134306662646365370a343135316633303830653565633736303466636261326361333766613462 39353365343137323163343937636464663534383234326531666139376561663532 Encryption successful
group_vars/all.yml
を編集し、上記からの出力をファイルに貼り付けます。例
grafana_admin_password_vault: !vault | $ANSIBLE_VAULT;1.1;AES256 38383639646166656130326666633262643836343930373836376331326437353032376165306234 3161386334616632653530383231316631636462363761660a373338373334663434363865356633 66383963323033303662333765383938353630623433346565363534636434643634336430643438 6134306662646365370a343135316633303830653565633736303466636261326361333766613462 39353365343137323163343937636464663534383234326531666139376561663532
以下を使用して、暗号化されたパスワードの下に行を追加します。
例
grafana_admin_password: "{{ grafana_admin_password_vault }}"
注記上記のように 2 つの変数を使用する必要があります。これは、Ansible のバグ が原因で、vault 値を直接 Ansible 変数に割り当てる時に、文字列のタイプが破損するためです。
- ファイルを保存してから閉じます。
ansible-playbook
を再実行します。コンテナーベースのデプロイメントの場合:
例
[admin@node1 ceph-ansible]$ ansible-playbook --ask-vault-pass -v site-container.yml -i hosts
-i hosts
は、デフォルトの Ansible hosts ファイルの場所 (/etc/ansible/hosts
) を使用していない場合にのみ必要であることに注意してください。ベアメタルの場合、RPM ベースのデプロイメントの場合:
例
[admin@node1 ceph-ansible]$ ansible-playbook --ask-vault-pass -v site.yml -i hosts
-i hosts
は、デフォルトの Ansible hosts ファイルの場所 (/etc/ansible/hosts
) を使用していない場合にのみ必要であることに注意してください。