2.8. Ansible을 사용하여 Grafana 암호 변경
기본적으로 대시보드에서 사용되는 Grafana의 암호는 admin
으로 설정됩니다. 이 절차를 사용하여 암호를 변경합니다.
보안상의 이유로 기본값에서 암호를 변경합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 클러스터의 모든 노드에 대한 root 액세스.
절차
선택 사항: Grafana 컨테이너가 실행 중인 노드를 모르는 경우 Ansible 호스트 파일에서
[grafana-server]
아래에 나열된 노드를/etc/ansible/hosts
에 있습니다.예제
[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 |
로 시작하고 다음 단계에서 사용되므로 몇 줄의 숫자로 끝나는 출력을 기록해 두십시오.예제
[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 }}"
참고위에 표시된 대로 자격 증명 모음 값을 Ansible 변수에 직접 할당할 때 문자열 유형을 중단하는 Ansible의 버그 로 인해 두 변수를 사용해야 합니다.
- 파일을 저장한 후 닫습니다.
ansible-playbook
을 다시 실행합니다.컨테이너 기반 배포의 경우:
예제
[admin@node1 ceph-ansible]$ ansible-playbook --ask-vault-pass -v site-container.yml -i hosts
-i 호스트
는/etc/ansible/hosts
의 기본 Ansible 호스트 파일 위치를 사용하지 않는 경우에만 필요합니다.베어 메탈의 경우 RPM 기반 배포의 경우:
예제
[admin@node1 ceph-ansible]$ ansible-playbook --ask-vault-pass -v site.yml -i hosts
-i 호스트
는/etc/ansible/hosts
의 기본 Ansible 호스트 파일 위치를 사용하지 않는 경우에만 필요합니다.