전공영역 공부 기록

ansible playbook에서 AWS Secret 값을 가져오는 방법

악분 2024. 7. 16. 21:35
반응형

안녕하세요. 이 글은 ansible playbook에서 AWS Secret값을 가져오는 방법을 설명합니다.

 

1. 사용하는 모듈

aws collection의 aws_secret 모듈을 사용합니다. aws collection은 ansible galaxy로 설치합니다.

ansible-galaxy collection install amazon.aws

 

ansible collection이 궁금하신분은 저의 이전 글을 참고하면 좋습니다.

- ansible collection 설명 글: https://malwareanalysis.tistory.com/700

 

2. 사용방법

aws.secret모듈은 lookup함수를 사용하여 secret manager 값을 불러옵니다.

 

가져온 시크릿값을 쉽게 파싱하려면 ansible from_json함수를 사용하고 컴마(.)로 시크릿 키를 접근합니다. 아래 예제는 AWS secret manager에 있는 DB_PORT시크릿을 가져오고 debug모듈로 DB_PORT시크릿 값을 stdout으로 출력합니다.

- name: Extract secrets from Secrets Manager
  set_fact:
    credential: "{{ lookup('amazon.aws.aws_secret', '{AWS Secrets 이름}', region='ap-northeast-2') | from_json }}"

- name: Debug DB_PORT
  debug:
    var: credential.DB_PORT

 

3. 참고자료

- ansible aws_secret 모듈: https://docs.ansible.com/ansible/latest/collections/amazon/aws/secretsmanager_secret_lookup.html

 

이하공백

반응형