[AWS] IAM 정책 적용 사례 실습

vinca·2023년 11월 9일
0

Introduction

본 실습 과정은 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 가능

IAM User 확인

먼저, 어떤 사용자가 있는지 알아보도록 하자.

현재 3명의 IAM User가 있는 것을 확인할 수 있다.

IAM User groups 확인

현재 3개의 팀으로 나눠지므로, User groups 또한 3개가 있는 것을 확인할 수 있다.

하지만, 현재 각 그룹에는 아무런 사용자도 속하지 않았다. ( 0 명 )
이를 사례에서 본 것처럼, 각 사용자가 알맞은 User group에 속하도록 하여 리소스에 대한 적절한 권한을 부여하는 것이 목표이다.

User groups 별 정책 확인

이러한 User groups의 각 그룹들의 Permissions policies 즉, 허용정책을 확인해보면 다음과 같다.

각 그룹별 S3와 EC2에 대해서 각각 허용해야 하는 정책들이 JSON 형태로 잘 작성된 것을 확인할 수 있다.

이는 사례에서 설명한 것과 동일하게 부여되어 있다.

TIP!
EC2-Admin-Policy의 경우 AWS에서 제공하는 정책이 아닌 직접 생성한 정책이므로 정책 명 옆에 📦상자 모양이 나오지 않는다.
따라서 이는 수정 또한 가능하다.
(AWS에서 제공하는 기본 정책의 경우 수정 불가능)

User groups에 User를 추가

각 유저 그룹에 맞는 유저를 표를 보고 적절하게 추가하자.


이 과정을 각 User마다 적절하게 반복해준다. (3번)

🎈 핵심은?

User groupUser를 추가하는 과정을 통해, User group에 부여된 리소스에 대한 접근 권한을 각User가 가질 수 있도록 한다.


각 그룹에 유저가 잘 들어갔다.

IAM 계정으로 로그인

이제 각 IAM 계정으로(User1, 2, 3) 로그인하여 각 권한에 대해서 정상적으로 작동하는지 확인 해보자.

IAM > Dashboard로 들어가서 Sign-in URL for IAM users in this account의 주소로 접속하면 각 IAM 계정으로 접속할 수 있는 페이지가 나온다.

https://233617256644.signin.aws.amazon.com/console

다음 주소를 웹 페이지에 입력하면 접속할 수 있다.
비밀번호는 실습 정보 페이지를 참고하였다.

🙄 비밀번호는 어디서?
비밀번호는 사실 직접 지정할 수도 있는데, 그렇게 하려니 접근 권한이 없다고 나와서 그냥 기존 준 비밀번호를 사용하였다.

IAM 계정으로 로그인 후 확인

user1만 간단하게 보고 넘어가자.

user1은 현재 S3에 대한 AmazonS3ReadOnlyAccess 권한만을 가지고 있다. 따라서 S3를 보는 것만 가능하며 EC2 및 다른 서비스에는 접근할 수 없다.

EC2에 대한 권한이 없음


EC2에 대한 권한이 없다는 메세지가 출력된다.

S3에 대한 읽기 권한만 존재

S3에 대한 읽기 권한만 존재하므로, 객체 상세 정보를 표시하기 위해서는 다음과 같이 s3:ListBucket 권한을 추가하라는 문구나 나온다.

권한 추가해 보기

s3:ListBucket 권한을 그럼 한번 줘 보도록하자.

시각적으로 AWS 툴을 이용해서 권한을 선택할 수도 있고,

JSON 형태로도 추가할 수 있다.

하지만, 이 또한 비밀번호처럼 AWS에서 Lab(연습용)루트 계정에 대한 권한을 부여하고, 수정하는 행위는 권한을 주지 않았기에 접근 할 수 없었다.

아무튼 부여하면 객체 상세 정보를 볼 수 있다.

End

user2, 3을 확인하고 싶다면 동일하게 진행하면 된다.
권한이 부여된 내용만 접근할 수 있는 것을 확인할 수 있다.

profile
붉은 배 오색 딱다구리 개발자 🦃Cloud & DevOps

0개의 댓글