LabHub
배우기 러닝패스 코스

클라우드 권한 설계 · 역할과 임시 자격증명 · 실습

장기 키 없이 권한을 넘긴다

LabHub 에서 이어서 보기

목표

역할이 장기 키보다 안전한 것은 맞지만, **신뢰 정책을 느슨하게 쓰면 그 안전이
통째로 사라집니다.** 이 실습은 클라우드 계정 없이 신뢰 정책을 직접 쓰고,
위험한 형태를 잡아내는 검사기를 손으로 만들어 그 자리를 확인합니다.

신뢰 정책과 권한 정책

두 문서를 헷갈리면 아무것도 안 맞습니다.

이 실습에서 쓰는 것은 신뢰 정책 쪽입니다. 마지막 단계 하나만 권한 정책입니다.

조건

문법 확인

정책은 대개 콘솔이 아니라 코드로 들어갑니다. JSON 이 깨지면 오류 메시지가
정책 내용과 무관하게 나오므로 매번 확인하는 편이 빠릅니다.

python3 -m json.tool /root/roles/trust-ec2.json

만드는 것

| 파일 | 내용 |
|---|---|
| /root/roles/trust-ec2.json | 인스턴스가 맡는 역할 |
| /root/roles/trust-partner.json | 외부 계정에 여는 역할 |
| /root/roles/trust-ci.json | 연합으로 맡는 역할 |
| /root/roles/lint_trust.py | 위험한 신뢰 정책 검사기 |
| /root/roles/passrole.json | 역할을 넘기는 권한 |
| /root/roles/06-session.md | 세션 시간 계산 |
| /root/roles/07-notes.md | 정리 |

참고

4단계의 검사기는 숨겨 둔 정책 넷과 당신이 만든 정책 셋에 함께 돌아갑니다.
위험한 것을 놓쳐도 실패이고, 안전한 것을 잡아내도 실패입니다.

단계 7개

  1. 인스턴스가 스스로 자격증명을 받게 한다
  2. 외부 계정에 열 때 한 칸을 더 채운다
  3. CI 에서 키를 없앤다
  4. 위험한 신뢰 정책을 잡는 검사기
  5. 역할을 넘기는 권한을 좁힌다
  6. 세션 시간이 곧 대응 속도다
  7. 세 가지를 정리한다