MFA
를 해야한다고 AWS에서 권장정책은 그룹, 역할에 추가시킬 수 있음
하나의 그룹 안에 다수의 유저가 존재 가능
IAM은 Universal 하다!
지역 설정이 필요 없음
개발 환경(Develop or Staging)에서 실제 환경(Production)으로 빌드하기 전 IAM 정책이 잘 작동되는지 테스트하기 위함
IAM과 관련된 문제들을 디버깅하기에 최적화된 툴
이미 실제로 유저에 부여된 다양한 정책들도 테스트 가능
우리가 특정한 역할을 만든다면 그 역할 안에서 어떠한 서비스를 차단, 허용하는지에 대한 권한을 주는 것
정책과 비슷한 것 같지만, 역할은 사용자와 밀접한 연관이 있음
(개인적으로 역할보다는 정책이 더 중요하다 생각)
읽기, 쓰기 선택
이 후 리소스(DynamoDB에서 제공하는 다양한 Function)들을 임의대로 추가하고 제거할 수 있음.
-> 일반적으로는 모든 리소스들을 선택
생성하려는 정책의 이름을 부여한 뒤 정책 생성
정책 리스트에 방금 생성한 정책을 확인할 수 있음
그리고 해당 정책을 선택하고 들어가서 정책 요약 옆 {} JSON을 선택해보면, 위와 같은 JSON 정책 Document를 확인할 수 있음
마찬가지로 기존에 생성된 정책들도 위와 같은 방법으로 JSON Document 로 작성된 정책을 확인 가능
IAM Home 우측 하단의 도구 밑 정책 시뮬레이터를 선택
우리가 생성한 유저, 그룹, 역할들을 살펴볼 수 있음
유저 탭에서 방금 생성한 aws_learner 유저를 선택하면, 해당 유저에 대한 정책들을 확인할 수 있음
아직은 아무 정책을 추가하지 않았기 때문에 아무것도 뜨지 않는데
그말인 즉슨, aws_learner 유저는 어떠한 권한도 가지고 있지 않음
위 말이 사실인지 확인할 수 있는 것이 정책 시뮬레이터
우측 파티션 Policy Simulator에서 DynamoDB 서비스를 선택하고, Actions는 Select All을 한 뒤 Run Simulation을 돌려보면 아무런 권한도 없기 때문에 Permission Denied가 뜨는 것을 확인할 수 있음
유저 탭에서 aws_learner 유저를 선택하고, 권한 시작하기 아래에 보이는 권한 추가를 선택
일단은 기존 정책 직접 연결을 선택하고 AmazonDynamoDBReadOnlyAccess
정책을 선택하고 추가
그 다음 다시 IAM 정책 시뮬레이터 돌아와서 새로고침을 하거나, 기존창을 닫고 다시 IAM 정책 시뮬레이터에 접속하여 aws_learner 유저를 선택하면 위 이미지 처럼 AmazonDynamoDBReadOnlyAccess
정책이 추가된 것을 확인할 수 있음
지금은
AmazonDynamoDBReadOnlyAccess
정책하나 밖에 없지만, 한 유저에게 다양한 정책이 있을 때 체크 박스를 끄고 키면서 정책 시뮬레이션을 돌릴 수 있다.
다시 우측 파티션 Policy Simulator에서 DynamoDB 서비스를 선택하고, Actions는 Select All을 한 뒤 Run Simulation을 돌려보면 아까와는 다른 결과를 확인할 수 있음
AmazonDynamoDBReadOnlyAccess
정책이 지원하는 Read 관련 기능들은 allowed 됨을 확인