IAM 리소스 관리용 예제 정책
IAM 리소스 관리용 예제 정책
다음은 사용자가 IAM 사용자, 그룹, 자격 증명을 관리하는 데 연관된 작업을 수행하도록 허용하는 IAM 정책의 예시들이에요. 여기에는 사용자가 자신의 비밀번호, 액세스 키, 다중 인증(MFA) 디바이스를 관리하도록 허용하는 정책이 포함돼요.
출처: 문서
본문
Amazon S3, Amazon EC2, DynamoDB 같은 다른 AWS 서비스에서 사용자가 작업을 수행하도록 허용하는 정책 예시는 예제 IAM 아이덴티티 기반 정책을 참고하세요.
이 페이지에서 다루는 내용:
- 리포팅 목적으로 계정의 그룹·사용자·정책 등을 나열하도록 사용자 허용
- 그룹의 멤버십을 관리하도록 사용자 허용
- IAM 사용자를 관리하도록 사용자 허용
- 계정 비밀번호 정책을 설정하도록 사용자 허용
- IAM 자격 증명 보고서를 생성·가져오도록 사용자 허용
- 모든 IAM 작업 허용 (관리자 액세스)
리포팅 목적으로 계정의 그룹, 사용자, 정책 등을 나열하도록 사용자 허용
다음 정책은 사용자가 Get이나 List 문자열로 시작하는 모든 IAM 작업을 호출하고 보고서를 생성할 수 있게 해요. 예제 정책은 IAM: IAM 콘솔에 대한 읽기 전용 액세스 허용을 참고하세요.
그룹의 멤버십을 관리하도록 사용자 허용
다음 정책은 사용자가 MarketingGroup이라는 그룹의 멤버십을 업데이트할 수 있게 해요. 예제 정책은 IAM: 프로그래밍 및 콘솔에서 그룹 멤버십 관리 허용을 참고하세요.
IAM 사용자를 관리하도록 사용자 허용
다음 정책은 사용자가 IAM 사용자 관리와 연관된 모든 작업을 수행할 수 있게 하지만, 그룹이나 정책 생성 같은 다른 엔티티에 대한 작업은 수행하지 못하게 해요. 허용되는 작업은 다음과 같아요.
- 사용자 생성(
CreateUser작업) - 사용자 삭제. 이 작업은 다음 작업 전체를 수행할 권한이 필요해요:
DeleteSigningCertificate,DeleteLoginProfile,RemoveUserFromGroup,DeleteUser - 계정과 그룹 안의 사용자 나열(
GetUser,ListUsers,ListGroupsForUser작업) - 사용자의 정책 나열·제거(
ListUserPolicies,ListAttachedUserPolicies,DetachUserPolicy,DeleteUserPolicy작업) - 사용자 이름 변경 또는 경로 변경(
UpdateUser작업).Resource요소에는 소스 경로와 대상 경로를 모두 포함하는 ARN이 있어야 해요. 경로에 대한 자세한 내용은 이름과 경로를 참고하세요.
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "AllowUsersToPerformUserActions",
"Effect": "Allow",
"Action": [
"iam:ListPolicies",
"iam:GetPolicy",
"iam:UpdateUser",
"iam:AttachUserPolicy",
"iam:ListEntitiesForPolicy",
"iam:DeleteUserPolicy",
"iam:DeleteUser",
"iam:ListUserPolicies",
"iam:CreateUser",
"iam:RemoveUserFromGroup",
"iam:AddUserToGroup",
"iam:GetUserPolicy",
"iam:ListGroupsForUser",
"iam:PutUserPolicy",
"iam:ListAttachedUserPolicies",
"iam:ListUsers",
"iam:GetUser",
"iam:DetachUserPolicy"
],
"Resource": "*"
},
{
"Sid": "AllowUsersToSeeStatsOnIAMConsoleDashboard",
"Effect": "Allow",
"Action": [
"iam:GetAccount*",
"iam:ListAccount*"
],
"Resource": "*"
}
]
}
앞선 정책에 포함된 권한 중 다수는 사용자가 AWS Management Console에서 작업을 수행하도록 허용해요. AWS CLI, AWS SDK, IAM HTTP 쿼리 API에서만 사용자 관련 작업을 수행하는 사용자는 특정 권한이 필요 없을 수 있어요. 예를 들어 사용자가 사용자에서 분리할 정책의 ARN을 이미 알고 있다면 iam:ListAttachedUserPolicies 권한이 필요 없어요. 사용자가 필요로 하는 정확한 권한 목록은 다른 사용자를 관리하면서 수행해야 하는 작업에 따라 달라져요.
정책의 다음 권한은 AWS Management Console을 통한 사용자 작업에 액세스를 허용해요.
iam:GetAccount*iam:ListAccount*
계정 비밀번호 정책을 설정하도록 사용자 허용
일부 사용자에게 AWS 계정의 비밀번호 정책을 가져오고 업데이트할 권한을 줄 수 있어요. 예제 정책은 IAM: 프로그래밍 및 콘솔에서 계정 비밀번호 요구 사항 설정 허용을 참고하세요.
IAM 자격 증명 보고서를 생성·가져오도록 사용자 허용
AWS 계정의 모든 사용자를 나열하는 보고서를 생성·다운로드할 권한을 사용자에게 줄 수 있어요. 보고서는 비밀번호, 액세스 키, MFA 디바이스, 서명 인증서를 포함한 다양한 사용자 자격 증명의 상태도 나열해요. 자격 증명 보고서에 대한 자세한 내용은 AWS 계정의 자격 증명 보고서 생성을 참고하세요. 예제 정책은 IAM: IAM 자격 증명 보고서 생성·가져오기를 참고하세요.
모든 IAM 작업 허용 (관리자 액세스)
일부 사용자에게 IAM의 모든 작업(비밀번호, 액세스 키, MFA 디바이스, 사용자 인증서 관리 포함)을 수행하는 관리 권한을 줄 수 있어요. 다음 예제 정책이 이 권한을 부여해요.
경고
사용자에게 IAM에 대한 전체 액세스를 주면 그 사용자가 자신이나 다른 사람에게 부여할 수 있는 권한에 제한이 없어요. 사용자는 새 IAM 엔티티(사용자나 역할)를 만들고 그 엔티티에 AWS 계정의 모든 리소스에 대한 전체 액세스를 부여할 수 있어요. 사용자에게 IAM에 대한 전체 액세스를 주면 사실상 AWS 계정의 모든 리소스에 대한 전체 액세스를 주는 것이에요. 모든 리소스를 삭제할 수 있는 액세스도 포함돼요. 이 권한은 신뢰할 수 있는 관리자에게만 부여하고, 그 관리자에게 다중 인증(MFA)을 적용해야 해요.
{
"Version":"2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "iam:*",
"Resource": "*"
}
}