Ansible: Ansible-vault란?

Ansible-vault란?

Ansible-vault란?

Ansible-vault은 Ansible에서 제공하는 암호화 도구입니다. Ansible-vault을 사용하면 인증서, 비밀키, 패스워드 등의 중요한 정보를 보호할 수 있습니다.

Ansible-vault 사용법

Ansible-vault을 사용하려면 먼저 암호화할 파일을 생성해야 합니다. 이 파일은 ‘vault’ 라는 독자적인 파일 포맷으로 생성됩니다.

    $ ansible-vault create secrets.yml
    New Vault password: PASSWORD
    Confirm New Vault password: PASSWORD

위와 같은 명령어를 입력하면 암호화할 파일 ‘secrets.yml’이 생성됩니다. 입력한 패스워드는 해당 파일을 암호화하고 복호화할 때 사용됩니다.

암호화된 파일을 열려면 다음 명령을 입력합니다.

    $ ansible-vault edit secrets.yml
    Vault password: PASSWORD

위와 같이 입력하면 Ansible-vault의 내장 편집기가 실행되고 해당 파일이 열립니다.

파일에 비밀번호나 키와 같은 중요한 정보를 입력하려면 ‘!’ 뒤에 암호화할 데이터를 입력합니다. 암호화하려는 데이터가 여러 줄일 경우 ‘|’ (파이프) 기호를 사용합니다.

    # Ansible-vault encrypted file

    super_secret_password: !vault |
        $ANSIBLE_VAULT;1.1;AES256
        63313434393263366535356331313165633665313733613765643734656233383738316361386261
        6639646231323861623136653466663332646262656536330a643838303238633131306464336435
        6533353033613036650a

저장 후 닫으면 해당 파일이 암호화됩니다.

Ansible-vault으로 암호화된 파일 실행

암호화된 파일을 실행하려면 다음 명령어를 입력합니다.

    $ ansible-playbook -i inventory.ini playbook.yml --ask-vault-pass
    Vault password: PASSWORD

위와 같이 실행시켜주면 패스워드를 입력하는 프롬프트가 나오면서 해당 파일이 복호화되어 실행됩니다.

Ansible-vault으로 파일 복호화하기

암호화된 파일을 복호화하려면 다음 명령어를 입력합니다.

    $ ansible-vault view secrets.yml

위와 같이 입력하면 암호화된 파일이 해당 화면에 나타납니다. 복호화된 파일을 저장하기 위해서는 ‘edit’ 대신 ‘decrypt’ 명령을 사용합니다.

암호화된 파일의 비밀번호 변경

    $ ansible-vault rekey foo.yml bar.yml baz.yml
    vault password: PASSWORD
    New Vault password: NEW-PASSWORD
    Confirm New Vault password: NEW-PASSWORD

> ansible-vault rekey [ 암호 변경할 파일명 ]
기존 암호와 새 암호 모두 입력해야 함.

마치며

Ansible-vault은 Ansible에서 중요한 정보를 보호하기 위해 제공하는 암호화 도구입니다. 암호화된 파일을 사용할 때는 비밀번호를 꼭 안전한 곳에 저장하고 관리해야 합니다. 이 가이드를 통해 Ansible-vault의 기본 사용법을 익혀서 안전한 자동화 작업을 구성하시길 바랍니다.