Menu Close
Settings Close

Language and Page Formatting Options

2.7. Ansible を使用した Grafana パスワードの変更

デフォルトでは、ダッシュボードで使用される Grafana のパスワードは admin に設定されます。以下の手順を使用してパスワードを変更します。

重要

セキュリティー上の理由から、パスワードをデフォルトから変更します。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • クラスター内のすべてのノードへの root アクセス。

手順

  1. 必要に応じて、Grafana コンテナーが実行されているノードが分からない場合は、Ansible ホストファイル(通常は /etc/ansible/hosts にある)にある [grafana-server] に一覧表示されているノードを確認します。

    [grafana-server]
    grafana

  2. 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 ✔

  3. Ansible 管理ノードで、ansible -vault を使用して Grafana パスワードを暗号化します。次に、暗号化されたパスワードを group_vars/all.yml に追加します。

    1. /usr/share/ceph-ansible/ ディレクトリーに移動します。

      [admin@admin ~]$ cd /usr/share/ceph-ansible/
    2. ansible-vault を実行して、新しい vault パスワードを作成します。

      [admin@admin ceph-ansible]$ ansible-vault encrypt_string --stdin-name 'grafana_admin_password_vault'
      New Vault password:

    3. パスワードを再入力して確認します。

      [admin@admin ceph-ansible]$ ansible-vault encrypt_string --stdin-name 'grafana_admin_password_vault'
      New Vault password:
      Confirm New Vault password:

    4. Grafana パスワードを入力し、入力し、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

    5. 次の手順で使用されるように、grafana_admin_password_vault: !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
      grafana_admin_password_vault: !vault |
                $ANSIBLE_VAULT;1.1;AES256
                38383639646166656130326666633262643836343930373836376331326437353032376165306234
                3161386334616632653530383231316631636462363761660a373338373334663434363865356633
                66383963323033303662333765383938353630623433346565363534636434643634336430643438
                6134306662646365370a343135316633303830653565633736303466636261326361333766613462
                39353365343137323163343937636464663534383234326531666139376561663532
      Encryption successful

    6. group_vars/all.yml を編集し、上記からの出力をファイルに貼り付けます。

      grafana_admin_password_vault: !vault |
                $ANSIBLE_VAULT;1.1;AES256
                38383639646166656130326666633262643836343930373836376331326437353032376165306234
                3161386334616632653530383231316631636462363761660a373338373334663434363865356633
                66383963323033303662333765383938353630623433346565363534636434643634336430643438
                6134306662646365370a343135316633303830653565633736303466636261326361333766613462
                39353365343137323163343937636464663534383234326531666139376561663532

    7. 以下を使用して、暗号化されたパスワードの下に行を追加します。

      grafana_admin_password: "{{ grafana_admin_password_vault }}"

      注記

      上記のように 2 つの変数を使用する必要があります。これは、Ansible のバグ が原因で、vault 値を直接 Ansible 変数に割り当てる時に、文字列のタイプが破損するためです。

    8. ファイルを保存してから閉じます。
  4. ansible-playbook を再実行します

    1. コンテナーベースのデプロイメントの場合:

      [admin@node1 ceph-ansible]$ ansible-playbook -v site-container.yml -i hosts

      -i ホストは、デフォルトの Ansible ホストファイルの場所 /etc/ansible/hosts を使用しない場合にのみ必要となることに注意してください。

    2. ベアメタルの場合、RPM ベースのデプロイメント:

      [admin@node1 ceph-ansible]$ ansible-playbook -v site.yml -i hosts

      -i ホストは、デフォルトの Ansible ホストファイルの場所 /etc/ansible/hosts を使用しない場合にのみ必要となることに注意してください。