AWS

[AWS] IAM 실습 (사용자/역할/정책+정책시뮬레이터)

어코링 2024. 2. 9. 23:49

1. 사용자 만들기

 

- 사용자 추가 버튼을 눌러준다.

- 이름은 아무이름이나 명칭

- 엑세스 유형 선택 

1. 액세스 키 - 프로그래밍 방식 액세스

처음 유저를 생성할때 접근키와 비밀키를 생성해줌

두 키를 사용해서 API 혹은 CLI를 활용해서 AWS의 다양한 서비스를 사용할 수 있음

2. 암호 - AWS 관리 콘솔 액세스

우리에게 비밀번호 제공

👉 경우에 따라서 둘다 선택 가능 혹은 양자택일

- 이번에는 프로그래밍 방식 액세스로 실습

- 권한 설정 부분

기존 그룹에 넣을지, 새로운 그룹에 넣을지 여부 

- 본 실습은 user 생성 중심이므로 해당은 건너띄었습니다.

 

- 태그

생성하는 user를 좀 더 간편하게 검색하기 위해 사용 (중요하지는 않음 : 건너띄기) ☞ 사용자 생성 버튼 click

"aws_learner"라는 user가 만들어졌다.

그러면 액세스 키와 비밀 액세스 키가 생성이 된다. (강의내용)

하지만 강의 내용과 달리 자동적으로 액세스 키가 생성이 되지 않아서 사용자 이름을 클릭 후 상세내용에서

액세스 키 만들기 버튼을 눌러서 액세스 키를 만들어 주었다.

AWS 컴퓨팅 서비스에서 실행되는 애플리케이션으로 선택 후 다음 버튼

액세스 키 만들기 버튼 click

그러면 이렇게 액세스 키와 비밀 액세스 키가 생성이 된걸 확인할 수 있다.

 

 


사용자 그룹

그룹 생성 버튼 click

본 실습에서는 그룹에 사용자를 추가하지 않기 때문에 위 그룹에 사용자 추가는 생략

정책 부여 : 부여를 할때는 다른 그룹에 영향이 가기 때문에 심사숙고해야함

본 실습에서는 해당사항 건너띄기

그룹 생성 버튼 click하면 그룹이 생성되었다.

 


그룹에 사용자 추가하기

좌측 메뉴에서 사용자 카테고리 선택

위에서 생성한 사용자 aws_learner를 누른 다음

그룹 탭 click

그룹에 사용자 추가 버튼 click

위에서 생성한 group aws_learner_group 선택 후 우측 하단 오렌지색 버튼 그룹에 사용자 추가 버튼 click

그러면 aws_learner 사용자가 aws_learner_group에 들어가면서 사용자가 0에서 1명으로 늘어난 것을 확인할 수 있다.


역할

: 사용자에게 정책을 부여할 수 있다.

오른쪽 상단에 오렌지색 역할 생성 버튼 click

사용 사레는 EC2와 Lambda가 기본으로 보인다. 그 밖에 다른 aws service들도 조회 가능하다.

본 실습에서는 aws 서비스와 EC2를 선택 후 다음 버튼 click

그러면 만들 역할에 대해서 권한 정책을 부여할 수 있는 단계

넣고 싶은 정책을 만들 수도 있고, 기존의 존재하는 권한을 추가할 수도 있다

검색 창에 "ec2"라고 검색을 하면 관련 정책이 검색이 된다.


정책

정책 생성은 크게 두가지 방법이 있다.

1. 원하는 서비스를 직접 선택해서 드래그앤 클릭(시각적 편집기 : 입문자용 추천)

2. JSON 사용

서비스는 DynamoDB 검색 후 선택

DynamoDB에서 허용되는 작업을 지정해야한다.

어떤 Access레벨 권한을 허용할지 여부 관리 가능 (Access레벨 권한을 알맞게 사용하면됨)

본 실습에서 읽기와 쓰기에 권한을 넣는다고 가정하고 선택하였다.

DynamoDB에서만 제공하는 고유한 기능들

특정 리소스에만 정책을 부여 여부 관리

본 실습에서는 모두 선택 후 다음 버튼 click

태그는 우리가 만들 정책에 식별자를 넣는 것 (건너띄기)

정책 이름까지 넣고 오른쪽 하단에 오렌지색 버튼으로 정책 생성 !

 

그렇다면 ! 정책에서 내가 만든 정책을 검색해보자 !

그러면 이렇게 잘 검색이 되어 나온다 

클릭을 해보면

JSON 형태의 document를 확인할 수 있다.


정책 시뮬레이션

사용자 / 그룹 / 역할 을 선택할 수 있다.

위에서 만든 aws_learner 사용자를 가지고 test 진행

현재 상태 : 아무런 정책을 추가하지 않았다.

그렇다면 정책 시뮬레이터를 돌렸을때 아무것도 못해야하는것이 정상

dynamoDB 선택 후 액션을 선택하면 dynamoDB에서 지원하는 여러(테이블 생성 및 삭제 etc) 것이 있다

but, 본 실습에선 Select All 버튼을 눌러보았다.

시뮬레이션 전이라 "Not simulated"라는 문구가 적혀있다.

Run simulation 버튼을 눌렀다.

 "Not simulated"라는 문구에서 "denied"로 바뀐것을 확인할 수 있다.

 

정책을 부여한 후에 다시 정책 시뮬레이터를 해보았다.

 

aws_learner에 dynamoDB의 읽기 권한만 부여해주었다.

정책에 들어가서

연결된 엔티티 ☛ 연결 ☛ 사용자 선택 후 정책 연결 click

정책 시뮬레이터에서 정책이 추가된것을 확인할수 있다.

아까와 같이 DynamoDB 에서 SelectALL Rn SImulation

위 결과와 달리 부분적으로 "allowed"문구를 확인 할 수 있다.

readonly정책에서 추가되어서 허용된 정책들