사용자와 그룹을 생성하여 접근제어 및 권한관리를 제공하는 IAM

이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30

IAM은 Identity and Access Management(식별 및 접근 관리)의 약어로 사용자와 그룹을 생성하고 AWS의 각 리소스에 대해 접근제어와 권한관리를 제공합니다. IAM은 실제로 서비스를 제공하는 AWS 리소스가 아니라서 사용 요금이 없습니다.

IAM은 AWS 계정 안에 IAM 그룹과 사용자를 생성하여 접근제어 및 권한관리를 세분화할 수 있습니다. 어떤 IAM 사용자는 EC2만 관리할 수 있고, 어떤 IAM 사용자는 S3의 내용을 읽을 수만 있도록 구성할 수 있습니다. 따라서 전체 권한이 아닌 필요한 권한만 주기 때문에 보안성이 높아집니다. IAM 그룹은 동일한 권한을 여러 IAM 사용자에게 적용시킬 때 사용합니다.


그림 16-1 IAM 기본 개념도

AWS 계정으로 AWS 콘솔 페이지에 접속하듯이 IAM 사용자도 AWS 콘솔에 접속할 수 있습니다. IAM 사용자에게 특정 AWS 리소스에만 접근할 수 있도록 설정했다면 AWS 콘솔에서도 허용된 AWS 리소스만 제어할 수 있습니다. 또한 IAM 계정은 액세스 키를 별도로 생성할 수 있고, 이 액세스 키를 이용하여 AWS API를 사용할 수 있습니다.

IAM과 리전
IAM은 리전별로 설정할 수 없고 모든 리전에서 동일하게 작동합니다.

IAM은 소규모 벤처기업이나 스타트업 뿐만 아니라 규모가 크고 인원이 많은 조직에서 매우 유용합니다. 그림 16-2처럼 AWS 요금 결제와 제품 개발, 서비스 운영을 분리하여 구성할 수 있습니다.


그림 16-2 AWS 요금 결제, 제품 개발, 서비스 운영을 부서별로 분리

AWS 계정에는 다른 AWS 계정의 요금을 합쳐서 지불하는 통합 결제Consolidated Billing 기능이 있습니다. 일반적인 회사에서는 비용 지출을 재무회계팀에서 최종적으로 관리합니다. 따라서 재무회계팀에서 AWS 통합 계정을 사용하여 회사 내 모든 부서의 AWS 요금을 관리하고 지불할 수 있습니다.

부서가 다를 때는 AWS 계정을 분리하여 구성하면 매우 편리합니다. 제품 개발부의 개발용 EC2 인스턴스에 서비스 운영부의 사람들이 마음대로 접근해서는 안되겠죠. 이처럼 실제 조직의 특성에 맞게 접근제어와 권한관리를 설정할 수 있습니다.

AWS 통합 결제
AWS 콘솔의 Billing & Cost Management에서 통합 결제Consolidated Billing 기능을 사용할 수 있습니다. 결제를 하는 계정(Payer Account)이 AWS 리소스를 사용하는 계정(Linked Account)에 연결 요청을 보내는 방식입니다. https://console.aws.amazon.com/billing/home?#/consolidatedbilling

IAM 그룹과 사용자에게 권한을 설정하는 것과는 달리 EC2 인스턴스 전용으로 권한을 설정할 수 있습니다. 이것을 IAM 역할Role이라고 합니다. IAM 역할은 EC2 인스턴스뿐만 아니라 다른 AWS 계정(또는 다른 AWS 계정의 IAM 사용자), Facebook, Google, Amazon.com 계정 전용으로 권한을 설정할 수 있습니다.


그림 16-3 IAM 역할 기본 개념


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.