Ansible 실전 · 시크릿(ansible-vault) · 퀴즈
퀴즈: 시크릿 관리
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
암호화된 볼트 파일임을 확인하는 가장 확실한 방법은?
- 파일 크기가 원본보다 눈에 띄게 커졌는지 비교해 본다
- 파일 권한이 600 으로 잠겨 있는지 `ls -l` 로 확인한다
- 첫 줄이 `$ANSIBLE_VAULT;` 로 시작하는 헤더인지 본다
- 파일 이름이 `.vault` 확장자로 끝나는지 확인한다
`encrypt_string` 을 파일 전체 암호화보다 선호하는 이유는?
- 값 단위 암호화가 파일 전체 암호화보다 더 강한 알고리즘을 쓰기 때문
- 파일의 나머지는 평문이라 코드 리뷰에서 diff 를 읽을 수 있기 때문
- 실행 시점에 볼트 비밀번호 없이도 자동으로 복호화되기 때문
- 암호화된 값만 따로 두면 볼트 비밀번호를 저장소에 함께 넣어도 되기 때문
시크릿을 다루는 태스크에 `no_log: true` 를 붙이지 않으면?
- 시크릿을 다룬 태스크는 notify 가 무시돼 핸들러가 발화하지 않는다
- 복호화된 값이 실행 로그에 평문으로 남아 암호화가 무의미해진다
- 볼트 값을 인자로 받은 모듈이 거부하며 태스크가 실패한다
- 볼트 파일이 디스크에 복호화된 채로 저장되어 남는다
시크릿이 평문으로 커밋된 것을 발견했습니다. 올바른 대응 순서는?
- 저장소 비공개 전환 → 히스토리 재작성
- 해당 커밋만 revert → 재배포
- 히스토리 재작성 → 폐기 → 통보
- 폐기(무효화) → 영향 조사 → 히스토리 정리
`ansible-vault rekey` 후 옛 비밀번호로 그 파일을 열면?
- 읽기만 된다
- 경고와 함께 열린다
- 여전히 열린다
- 열리지 않는다
`--vault-id prod@파일` 처럼 라벨을 쓰는 실용적 이유는?
- 라벨을 키에 섞어 암호화 강도를 한 단계 높이기 위해
- 라벨별로 캐시를 나눠 복호화 속도를 높이기 위해
- 운영과 개발 키를 구분해 잘못된 키로 여는 사고를 줄이기 위해
- 비밀번호 파일을 저장소 안에 함께 넣어 두어도 되게 만들기 위해