스타트업에서 AWS IAM 권한 관리 잘 하는법 - ConsoleMe 도입기
(engineering.ab180.co)- IAM 최소권한 정책
"IAM 정책을 생성할 때는 최소 권한 부여의 표준 보안 조언을 따르거나, 작업 수행에 필요한 최소한의 권한만 부여합니다"
기존에 개발자에게 모든 권한을 주고 있다가 최소권한 정책을 따르기로함
- Jira를 활용한 권한신청 프로세스 도입기
기존에 있던 권한을 모두 수거한 다음 필요한 권한을 신청할 수 있는 프로세스를 Jira + Terraform으로 만듬.
하지만 아래 네가지 이유로 사용하기 힘들었음
1. Terraform apply 하는데 3~5분 정도 시간이 필요
2. 개발자의 IAM policy에 대한 낮은 이해도로 인한 시간 오래 걸림
3. 권한 추가 신청이 잦음
4. 자주 변경되는 IAM 특성상 Github과 싱크가 안 맞는 경우가 많음
- IAM 권한 신청계의 한줄기 빛 ConsoleMe
Netflix에서 2020년에 공개한 AWS 다중 계정에서 쉽게 IAM 권한 관리를 도와주는 오픈소스 프로젝트. 웹 콘솔을 제공해서 IAM 권한 신청과 Role에 대한 임시권한을 사용할 수 있도록 도와줌. 유저가 웹에서 권한 에디터로 자유롭게 수정하고 관리자가 확인후 approve하면 바로 적용되는 방식
- SSO(Single sign-on)을 사용한 임시 권한 발급
AWS 상에서 AWS STS(Secure Token Service)를 사용해 IAM Role에 대한 임시권한을 받는 것은 IAM User를 사용하는 것 보다 안전한 방식. ConsoleMe에서는 SSO를 통해 구글 계정 혹은 SSO provider를 이용해 IAM Role에 대한 임시권한 받는걸 쉽게 할 수 있도록 도와줌
- 그래서 도입하고 나아졌나요?
네 6개월간 팀에서 도입해보고 사용한뒤 얘기해봤을때 ConsoleMe를 쓰게 된 이후로 보안팀은 권한 신청 관련 증적과 로그 관리가 편해지고 개발팀은 최소 30분 최대 하루까지 걸리던 프로세스를 5분 정도밖에 안걸리는 쉬운 권한 신청 프로세스로 바뀌어 모두가 만족할 수 있었습니다.
제가 잘 몰라서 그러는데 (스타트업에서 새내기...) 보안 감사 말고 회계감사땨도 IT보안을 감사하나보군요 ㄷㄷ 처음 알았네요.
감사준비 화이팅입니다 ㅎ