2.8. Ansible を使用した Grafana パスワードの変更
デフォルトでは、ダッシュボードで使用される Grafana のパスワードは admin に設定されます。パスワードを変更するには、以下の手順に従います。
セキュリティー上の理由から、パスワードをデフォルトから変更してください。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- クラスター内のすべてのノードへの root アクセス。
手順
オプション: Grafana コンテナーが実行されているノードがわからない場合は、通常は
/etc/ansible/hostsにある Ansible ホストファイルのgrafana-server の下にリストされているノードを見つけます。例
[grafana-server] grafana
[grafana-server] grafanaCopy 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_PASSWORDCopy 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 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 ✔
[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' New Vault password:
[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' New Vault password: Confirm New Vault password:
[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_PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow NEW_PASSWORD は、以前に設定した Grafana パスワードに置き換えます。
例
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
[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) NewSecurePasswordCopy 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 hostsCopy 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 hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -i hostsは、デフォルトの Ansible hosts ファイルの場所 (/etc/ansible/hosts) を使用していない場合にのみ必要であることに注意してください。