AWS 루트 계정에서 IAM 사용자 생성해서 개발자들에게 나눠주기

zooju·2023년 3월 10일
1

왜 IAM 사용자?

현재 회사에서 AWS를 사용할 때, 다들 root 계정으로 공유해서 사용하고 있다.
그런데 이 상황에서 내가 느낀 아쉬운 점은 다음과 같다.

  1. 책임 소재가 명확하지 않다!!
  2. 인원 교체가 빈번해서, root 계정 보안이 조금 더 필요하다.

항상 이런 상황을 마주했다.

EIP 생성 갯수가 한계에 달했는데, 기존에 사용하지 않는 EIP를 삭제하고 싶다.
그런데 도대체 무엇을 누가 생성했는지 알 수 없어서 함부로 지우지 못한다.

이렇게 누가 무엇을 만든건지 책임소재가 명확하지 않다보니 항상 누가 만든건지 찾는데 시간을 소요하고, 감히 지우지 못하는 경우도 많다. 그래서 책임 소재를 명확히 해야겠다고 느꼈다.

둘째로, 많은 인원이 변경되는 특성 상, root 계정의 아이디와 비밀번호를 매번 공유하면 미래에 문제가 될 수 있을 것이라고 느꼈다. 그래서 앞으로는 신입분들에게 root 계정의 아이디와 비밀번호를 공유하기 보다는, IAM을 생성해서 나눠드리고 회사 계약이 끝나면 해당 IAM을 삭제하는 식으로 관리해야겠다고 느꼈다.

AWS 사용자 중, 내가 가장 오래 회사를 다녔기에 필요성을 느끼고 총대 메서 생성한 뒤, 나눠드리기로 결심!!

IAM 사용자 생성하기

IAM 사용자 생성 방법은 생각보다 간단했다.
지금보다 더 빠르게 필요성을 느끼고 제공드렸으면 더 좋지 않았을까.. 싶기도 한..!

권한을 제한할 필요는 못 느껴서 모두 Administrator Access 권한을 부여했다.

그룹 생성하기

먼저 Admin 권한을 줄 사용자들의 그룹을 생성했다.

  • IAM > 사용자 그룹 > 그룹 생성
    여기서 그룹 이름은 administrator 로 지정했고 권한은 AdministratorAccess 로 지정했다.

권한을 살펴보니 Allow *이니까 진짜 full access 권한을 주는 것으로 이해했다.

그리고 그룹을 생성해주면 된다.

사용자 생성하기

이제 개발자분들에게 나눠드릴 사용자를 생성하면 된다.

  • IAM > 사용자 > 사용자 추가
  • 사용자 세부 정보 지정
    - 사용자 이름 작성
    - AWS Management Console에 대한 사용자 엑세스 권한 제공 선택
    - IAM 사용자를 생성하고 싶음
    - 자동 생성된 암호, 사용자는 다음 로그인 시 새 암호를 생성해야 합니다 체크

Identity center로 들어가 봤는데, 폴더 구조로 엑세스 권한을 제공하는 형태였다.
확실히 이메일로 암호 설정 지침도 제공하고, 훨씬 자동화 되어있는 것 같았지만 email을 수집하는데 시간이 많이 들 것 같아 일단 IAM 사용자를 생성하고 싶음을 선택했다.

  • 권한 설정
    - 그룹에 사용자 추가 > 방금 생성한 그룹 선택해주기

    이렇게 하면 권한을 따로 설정해 줄 필요 없이, 이 그룹에 속한 사용자는 모두 administrator access 권한을 가지게 된다.
    이렇게 사용자 생성을 완료하면 된다.

계정 별칭 만들기

root 계정이 숫자 12자로 이루어져 있어 너무 불편할 것 같아서 이것도 수정해보고자 했다.

IAM > 대시보드 > AWS 계정 > 계정 별칭 > 편집

여기서 계정 별칭을 정하면 더 쉬운 계정 별칭으로 로그인 할 수 있다.

로그인 방법

그럼 이제 IAM 유저를 모두 생성해봤으니 로그인을 해보자!

  • 제공해 준 로그인 url로 접속하기 or 그냥 AWS 로그인 창으로 들어가기 > IAM 사용자로 로그인 선택


이후 아까 만든 사용자 이름과 자동 부여된 암호를 넣으면 로그인 완료! 최초 로그인 시에는 비밀번호를 변경하면 된다.

사용자 트랙킹 방법

그럼 이제 "이 EC2는 누가 생성했지..?" 알고 싶다면 Cloud Trail을 사용하면 된다.

Cloud Trail이벤트 기록 에서 확인할 수 있다.

나는 예시로 EC2 인스턴스를 생성한 사람을 확인해보려 한다.
EC2 ID 이름을 복사한 뒤에 필터: 리소스 이름으로 설정하고 인스턴스 ID를 넣어주면 다음과 같이 어떤 사용자가 EC2를 실행했는지 알 수 있다.

앞으로 훨씬 더 편리하겠구만!!

AWS는 참 사용하면 사용할수록 레고처럼 여러 기능이 많고, 이 기능을 발굴해내서 개발에 편리성을 더하는 것이 재밌는 것 같다.

더 많은 기능을 활용하기 위해 AWS 자격증을 따볼까 싶다.

profile
이것 저것 새로운 분야에 관심이 많은 서버 개발자

0개의 댓글