사용자와 그룹을 생성, 그룹에 aws 서비스 엑세스 권한을 설정, 생성한 사용자들을 그룹에 배치한다.
IAM은 aws에서 글로벌로 제공하는 서비스, region-scoped 서비스가 아니기 때문에 region을 선택할 필요가 없다.
aws 계정을 생성할 때 기본으로 root 사용자가 생성된다.
👉aws 계정 ID는 오른쪽 상단에서 확인 가능
사용자가 필요로 하는 것 이상의 권한을 주지 않는 것이 목표
특정 권한을 가지고 AWS 계정을 사용할 수 있도록 하기 위해서 사용자 및 그룹을 생성한다.(root 사용자는 aws 계정의 모든 서비스에 대한 권한이 있음.)
사용자를 생성하고 특정 그룹에 배치한 후 특정 그룹에게 혹은 그룹에 속하지 않은 사람이라도 IAM 정책을 부여한다.
그룹이 없으니까 그룹을 만들어야 함
그룹 이름은 admin
권한 정책은 AdministratorAccess를 추가하고 그룹 생성
방금 생성한 그룹에 체크하고 다음
태그 추가(메타데이터)
사용자 생성, 그룹 생성 및 사용자 배치 완료
생성된 admin 그룹 확인 및 admin 그룹에 속한 mingyo 사용자 확인
계정 ID와 별칭 설정은 IAM 대시보드에서 가능
성공
IAM 정책은 JSON 문서로 작성.
Version: 정책 문서(JSON 문서)의 형식을 정의하는 버전 번호, 보통 "2012-10-17" 고정.
Id: 정책을 식별하는 ID, 선택사항
Statement: 하나 혹은 그 이상의 정책 문장 작성, 필수값
쉽게 말해서, '누가, 어디의, 어떤 작업을 호출할 때, 어떻게' 이다.
사용자 그룹(admin)에서 mingyo 사용자 제거 후, IAM의 액세스 관리에 다시 접근할 수 있도록 작성
사용자 권한 추가
직접 정책 연결 후 IAM Read Only Access 정책만 추가
mingyo 로 접속해서 보면 IAM 서비스에 접근 가능함, 대신 Read Only Accees라 수정 및 추가는 불가능.
mingyo를 다시 admin 그룹으로 추가해서 원상복구
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:GenerateCredentialReport",
"iam:GenerateServiceLastAccessedDetails",
"iam:Get*",
"iam:List*",
"iam:SimulateCustomPolicy",
"iam:SimulatePrincipalPolicy"
],
"Resource": "*"
}
]
}
Get, List은 Get, List로 시작하는 모든 것을 의미함.(GetUsers, GetGroups...)