[AWS] IAM을 사용해 사용자 계정 생성 및 권한 부여하기

백엔드·2024년 5월 29일

CLA

목록 보기
2/7

들어가며

현재 팀에서는 AWS 루트 계정을 사용해 AWS 리소스에 접근하고 있었습니다. 그러나 더 안전하게 AWS 리소스에 접근하고 관리하기 위해, AWS IAM을 통해 각 사용자에게 필요한 권한만 부여하는 방식으로 변경했습니다. 이번 글은 IAM을 사용해 사용자 계정을 생성하고 적절한 권한을 부여하는 방법에 대한 내용입니다.

slack


루트 계정으로 접근하는 것이 왜 위험해?

AWS 계정을 처음 생성할 때, 계정의 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한이 있는 단일 로그인으로 시작합니다.
이를 AWS 계정 루트 사용자라고 합니다. 계정을 만들 때 사용한 이메일 주소와 비밀번호를 사용하여 루트 사용자로 로그인할 수 있습니다.
그런데, 창업자는 회사 계정으로서 이 계정을 함부로 위임을 하면 안됩니다. 이 계정은 오로지 비용 및 전체 운영상 관리로만 사용하고, 각 컴퓨팅 리소스는 AWS IAM 서비스를 활용해서 추가적인 IAM User를 추가해야 합니다.
기본적인 보안 장벽을 구축해 두면 향후 발생 가능한 인증/권한 문제,  요금 관련 문제를 피할 수 있습니다. AWS IAM 서비스가 조금 어렵게 느껴지더라도 창업자가 꼭 확인해 보세요.

더 자세히 알아보기 >>

어떻게 진행했는 지?

  1. 사용자 생성:
    AWS IAM에서 각 팀원을 위한 사용자 계정을 생성합니다.

  2. 사용자 그룹 생성:
    AWS IAM에서 역할에 따른 사용자 그룹을 생성합니다 (예: backend 그룹).

  3. 권한 정의:
    사용자 그룹을 생성할 때 해당 그룹의 권한을 정의합니다 (예: S3 Full Access).

  4. 사용자 그룹에 사용자 추가:
    생성한 사용자를 알맞는 사용자 그룹에 포함시킵니다 (예: 새로 생성한 사용자를 backend 그룹에 추가).

  5. IAM을 통해 로그인:
    각 사용자는 자신의 IAM 계정을 사용해 AWS에 로그인합니다. 예를 들어, backend 그룹에 속한 사용자는 S3에 대한 권한만 가집니다.

멀티 팩터 인증(MFA)

추가로, 팀원 각자의 IAM 계정에 MFA를 설정하도록 요청하여 보안을 강화했습니다.
이를 통해, 계정 접근 시 추가 인증 단계를 거쳐 안전성을 높였습니다.

AWS 계정 루트 사용자는 이메일 주소와 비밀번호로 로그인할 수 있습니다. 이 말은 이 두 가지 정보가 외부로 유출되면 언제든지 해킹 당할 수 있다는 것을 의미합니다.
따라서, 루트 계정과 IAM 사용자 계정 등 모든 AWS 계정에는 멀티 팩터 인증(MFA)을 설정해야 합니다.
마치 인터넷 뱅킹할 때, 모바일 기기나 SMS 같은 2차 인증 수단을 통해 한번 더 인증 확인을 하는 것인데요. 계정에 대한 무단 액세스를 방지하는 데 도움이 됩니다.
그런데, 많은 개발자들이 로그인 시 조금 귀찮아서 설정 안하는 경향이 있습니다. 다양한 사회 공학적 해킹으로 인해 계정이 침해되는 경우, 스타트업에서는 치명적인 문제가 될 수 있습니다. 그래서 창업자가 꼭 챙겨야 하는 것입니다.

더 자세히 알아보기 >>

profile
백엔드 개발자

0개의 댓글