2.8. Ansible を使用した Grafana パスワードの変更
デフォルトでは、ダッシュボードで使用される Grafana のパスワードは admin
に設定されます。パスワードを変更するには、以下の手順に従います。
セキュリティー上の理由から、パスワードをデフォルトから変更してください。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- クラスター内のすべてのノードへの root アクセス。
手順
オプション: Grafana コンテナーが実行されているノードがわからない場合は、通常は
/etc/ansible/hosts
にある Ansible ホストファイルのgrafana-server の
下にリストされているノードを見つけます。例
[grafana-server] grafana
[grafana-server] grafana
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Grafana コンテナーが実行されているノードで、パスワードを変更します。
構文
podman exec CONTAINER_ID grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" NEW_PASSWORD
podman exec CONTAINER_ID grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" NEW_PASSWORD
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CONTAINER_ID を Grafana コンテナーの ID に変更します。NEW_PASSWORD を必要な Grafana パスワードに変更します。
例
podman exec 3f28b0309aee grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" NewSecurePassword
[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 ✔
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 管理ノードで、
ansible-vault
を使用して Grafana パスワードを暗号化し、暗号化されたパスワードをgroup_vars/all.yml
に追加します。/usr/share/ceph-ansible/
ディレクトリーに移動します。cd /usr/share/ceph-ansible/
[admin@admin ~]$ cd /usr/share/ceph-ansible/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-vault
を実行して、新しい vault パスワードを作成します。例
ansible-vault encrypt_string --stdin-name 'grafana_admin_password_vault'
[admin@admin ceph-ansible]$ ansible-vault encrypt_string --stdin-name 'grafana_admin_password_vault' New Vault password:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow パスワードを再入力して確定します。
例
ansible-vault encrypt_string --stdin-name 'grafana_admin_password_vault'
[admin@admin ceph-ansible]$ ansible-vault encrypt_string --stdin-name 'grafana_admin_password_vault' New Vault password: Confirm New Vault password:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NEW_PASSWORD は、以前に設定した Grafana パスワードに置き換えます。
例
ansible-vault encrypt_string --stdin-name 'grafana_admin_password_vault'
[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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow grafana_admin_password_vault: !vault |
で開始し、数字の行 2-3 行で終了する出力をメモし、次の手順で使用します。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow group_vars/all.yml
を編集し、上記からの出力をファイルに貼り付けます。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下を使用して、暗号化されたパスワードの下に行を追加します。
例
grafana_admin_password: "{{ grafana_admin_password_vault }}"
grafana_admin_password: "{{ grafana_admin_password_vault }}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記上記のように 2 つの変数を使用する必要があります。これは、Ansible のバグ が原因で、vault 値を直接 Ansible 変数に割り当てる時に、文字列のタイプが破損するためです。
- ファイルを保存してから閉じます。
ansible-playbook
を再実行します。コンテナーベースのデプロイメントの場合:
例
ansible-playbook --ask-vault-pass -v site-container.yml -i hosts
[admin@node1 ceph-ansible]$ ansible-playbook --ask-vault-pass -v site-container.yml -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -i hosts
は、デフォルトの Ansible hosts ファイルの場所 (/etc/ansible/hosts
) を使用していない場合にのみ必要であることに注意してください。ベアメタルの場合、RPM ベースのデプロイメントの場合:
例
ansible-playbook --ask-vault-pass -v site.yml -i hosts
[admin@node1 ceph-ansible]$ ansible-playbook --ask-vault-pass -v site.yml -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -i hosts
は、デフォルトの Ansible hosts ファイルの場所 (/etc/ansible/hosts
) を使用していない場合にのみ必要であることに注意してください。