소규모 조직에서 IAM 권한은 어떻게 관리되어야 할까

· Infra, AWS, IAM

문제 정의 (As-Is)

10~50인 규모의 소규모 개발 조직이 있다. 조직은 점진적으로 성장하고 있다.

개발자가 운영 환경에 접근하기 위해서는 운영 환경용 IAM Role을 데브옵스 조직으로부터 부여받아야 한다. 권한 요청과 회수는 Ticket을 발급하여 요청함으로써 이루어지고 있다.

현재 방식

문제점

현재 방식은 데브옵스 조직의 수동 운영에 의존하고 있어 다음과 같은 문제가 발생한다.

해결 정의 (To-Be)

운영 환경 접근 제어는 다음을 만족시키는 형태로 개선되어야 한다.

해결 방안 후보들

1. 사전 정의된 IAM Role을 수동 할당하는 방법

Pros

Cons

2. AWS IAM Identity Center 기반 권한 관리

Pros

Cons

3. Google Workspace + SSO + AWS Role 매핑

Pros

Cons

선택한 해결 방안

3번 방안은 본질적으로 AWS 권한 관리를 위한 해결책이 아니다. 그리고 소규모 조직에서는 너무 크다. 2번 방안인 IAM Access Analyzer도 고려해보았지만 IAM Identity Center로 계정을 생성하고 있지 않았기에 이 시스템을 도입하기 위해서는 바닥부터 다시 정비해야 하는 제약이 있다.

그래서 1번 방안에 자동화 시스템 개발해 얹는 방식을 채택했다. 권한을 표준화하고 재사용하는 것은 1번 방식과 동일하다. 하지만 1번 방식에서는 여전히 요청/부여/회수가 수동 작업이다.

이 부분을 슬랙봇과 백엔드 서버를 구현해 보완했다. 개발자들은 슬랙봇을 통해 권한을 요청한다. 슬랙봇은 백엔드 서버로 연결되고, 백엔드 서버는 aws-sdk를 기반으로 IAM 권한을 제어한다.

한계점 및 보완하면 좋을 사항들