본 실습 과정은 AWS Training and Certification을 바탕으로 작성되었습니다.
이번 실습은 IAM Role이 아닌 IAM 정책을 통해서 그룹에 속한 사용자에게 특정 권한을 부여하는 실습이다.
현재 회사에 3명의 사용자가 있고, 각 사용자의 역할을 다음과 같이 (지정)분류 해보도록 하자.
S3 지원팀(user-1)
Amazon Simple Storage Service(Amazon S3)에 대한 Read-Only
액세스 권한
EC2 지원팀(user-2)
Amazon Elastic Compute Cloud(Amazon EC2)에 대한 Read-Only
액세스 권한
EC2 관리자(user-3)
Amazon Elastic Compute Cloud(Amazon EC2)에 대한 View
, Start
, Stop
가능
먼저, 어떤 사용자가 있는지 알아보도록 하자.
현재 3명의 IAM User가 있는 것을 확인할 수 있다.
현재 3개의 팀으로 나눠지므로, User groups
또한 3개가 있는 것을 확인할 수 있다.
하지만, 현재 각 그룹에는 아무런 사용자도 속하지 않았다. ( 0 명 )
이를 사례에서 본 것처럼, 각 사용자가 알맞은 User group에 속하도록 하여 리소스에 대한 적절한 권한을 부여하는 것이 목표이다.
이러한 User groups
의 각 그룹들의 Permissions policies
즉, 허용정책을 확인해보면 다음과 같다.
각 그룹별 S3와 EC2에 대해서 각각 허용해야 하는 정책들이 JSON 형태로 잘 작성된 것을 확인할 수 있다.
이는 사례에서 설명한 것과 동일하게 부여되어 있다.
✨TIP!
EC2-Admin-Policy의 경우 AWS에서 제공하는 정책이 아닌 직접 생성한 정책이므로 정책 명 옆에 📦상자 모양이 나오지 않는다.
따라서 이는 수정 또한 가능하다.
(AWS에서 제공하는 기본 정책의 경우 수정 불가능)
각 유저 그룹에 맞는 유저를 표를 보고 적절하게 추가하자.
이 과정을 각 User
마다 적절하게 반복해준다. (3번)
User group
에 User
를 추가하는 과정을 통해, User group
에 부여된 리소스에 대한 접근 권한을 각User
가 가질 수 있도록 한다.
각 그룹에 유저가 잘 들어갔다.
이제 각 IAM 계정으로(User1, 2, 3) 로그인하여 각 권한에 대해서 정상적으로 작동하는지 확인 해보자.
IAM > Dashboard로 들어가서 Sign-in URL for IAM users in this account
의 주소로 접속하면 각 IAM 계정으로 접속할 수 있는 페이지가 나온다.
https://233617256644.signin.aws.amazon.com/console
다음 주소를 웹 페이지에 입력하면 접속할 수 있다.
비밀번호는 실습 정보 페이지를 참고하였다.
🙄 비밀번호는 어디서?
비밀번호는 사실 직접 지정할 수도 있는데, 그렇게 하려니 접근 권한이 없다고 나와서 그냥 기존 준 비밀번호를 사용하였다.
user1만 간단하게 보고 넘어가자.
user1은 현재 S3에 대한 AmazonS3ReadOnlyAccess
권한만을 가지고 있다. 따라서 S3를 보는 것만 가능하며 EC2 및 다른 서비스에는 접근할 수 없다.
EC2에 대한 권한이 없다는 메세지가 출력된다.
S3에 대한 읽기 권한만 존재하므로, 객체 상세 정보를 표시하기 위해서는 다음과 같이 s3:ListBucket
권한을 추가하라는 문구나 나온다.
s3:ListBucket
권한을 그럼 한번 줘 보도록하자.
시각적으로 AWS 툴을 이용해서 권한을 선택할 수도 있고,
JSON 형태로도 추가할 수 있다.
하지만, 이 또한 비밀번호처럼 AWS에서 Lab(연습용)루트 계정에 대한 권한을 부여하고, 수정하는 행위는 권한을 주지 않았기에 접근 할 수 없었다.
아무튼 부여하면 객체 상세 정보를 볼 수 있다.
user2, 3을 확인하고 싶다면 동일하게 진행하면 된다.
권한이 부여된 내용만 접근할 수 있는 것을 확인할 수 있다.