

# IAM 리소스를 관리하기 위한 정책의 예
<a name="id_credentials_delegate-permissions_examples"></a>

다음은 사용자가 IAM 사용자, 그룹 및 자격 증명을 관리하기 위한 작업을 수행할 수 있게 하는 IAM 정책의 예시입니다. 여기에는 사용자가 자신의 암호, 액세스 키 및 멀티 팩터 인증(MFA) 디바이스를 관리할 수 있게 하는 정책이 포함됩니다.

사용자가 다른 AWS 제품 Amazon S3, Amazon EC2, DynamoDB 등으로 작업을 수행할 수 있도록 허용하는 예제 정책은 [IAM 자격 증명 기반 정책의 예](access_policies_examples.md) 섹션을 참조하세요.

**Topics**
+ [사용자가 보고를 목적으로 계정의 그룹, 사용자, 정책 및 그 이상의 정보를 조회할 수 있도록 허용](#iampolicy-example-userlistall)
+ [사용자가 그룹의 멤버십을 관리할 수 있도록 허용](#iampolicy-example-usermanagegroups)
+ [IAM 사용자를 관리할 수 있도록 허용](#creds-policies-users)
+ [사용자가 계정 암호 정책을 설정할 수 있도록 허용](#creds-policies-set-password-policy)
+ [사용자가 IAM 자격 증명 보고서를 생성하고 검색할 수 있도록 허용](#iampolicy-generate-credential-report)
+ [모든 IAM 작업 허용(관리자 액세스 권한)](#creds-policies-all-iam)

## 사용자가 보고를 목적으로 계정의 그룹, 사용자, 정책 및 그 이상의 정보를 조회할 수 있도록 허용
<a name="iampolicy-example-userlistall"></a>

다음 정책은 사용자가 `Get` 또는 `List` 문자열로 시작하는 모든 IAM 작업을 호출하고, 보고서를 생성할 수 있게 허용합니다. 예시 정책을 보려면 [IAM: 콘솔에 대한 읽기 전용 액세스 허용](reference_policies_examples_iam_read-only-console.md) 섹션을 참조하세요.

## 사용자가 그룹의 멤버십을 관리할 수 있도록 허용
<a name="iampolicy-example-usermanagegroups"></a>

다음 정책은 사용자가 *MarketingGroup*이라는 그룹의 멤버십을 업데이트할 수 있도록 허용합니다. 예시 정책을 보려면 [IAM: 프로그래밍 방식으로, 그리고 콘솔에서 그룹의 멤버십을 관리하도록 허용](reference_policies_examples_iam_manage-group-membership.md) 섹션을 참조하세요.

## IAM 사용자를 관리할 수 있도록 허용
<a name="creds-policies-users"></a>

다음 정책은 사용자가 IAM 사용자 관리와 관련된 모든 작업을 수행할 수 있게 허용하지만 그룹이나 정책의 생성과 같은 다른 엔터티에 대한 작업 수행은 허용하지 않습니다. 허용되는 작업은 다음과 같습니다.
+ 사용자 생성([https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateUser.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateUser.html) 작업).
+ 사용자 삭제. 이 작업은 [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteSigningCertificate.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteSigningCertificate.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteLoginProfile.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteLoginProfile.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_RemoveUserFromGroup.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_RemoveUserFromGroup.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUser.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUser.html) 작업 모두를 수행할 수 있는 권한이 필요합니다.
+ 계정 및 그룹의 사용자 나열([https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html) 및 [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListGroupsForUser.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListGroupsForUser.html) 작업).
+ 사용자의 정책 나열 및 제거([https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUserPolicies.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUserPolicies.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedUserPolicies.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedUserPolicies.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DetachUserPolicy.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DetachUserPolicy.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUserPolicy.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUserPolicy.html) 작업) 
+ 사용자의 경로 이름 바꾸기 또는 변경([https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateUser.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateUser.html) 작업). `Resource` 요소에는 소스 경로와 대상 경로를 모두 다루는 ARN이 포함되어야 합니다. 경로에 대한 자세한 내용은 [표시 이름 및 경로](reference_identifiers.md#identifiers-friendly-names) 섹션을 참조하세요.

------
#### [ JSON ]

****  

```
{
    "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](https://aws.amazon.com/cli/), [AWS SDK](https://aws.amazon.com/tools/) 또는 IAM HTTP 쿼리 API를 사용하여 사용자 관련 작업을 수행할 경우 특정 권한이 필요하지 않을 수 있습니다. 예를 들어 사용자가 어떤 사용자에게서 연결을 해제할 정책의 ARN을 이미 알고 있다면 `iam:ListAttachedUserPolicies` 권한이 필요하지 않습니다. 사용자에게 필요한 권한의 정확한 목록은 사용자가 다른 사용자를 관리할 때 수행해야 하는 작업에 따라 다릅니다.

정책에 있는 다음 권한들은 AWS Management Console을 통해 사용자 작업에 액세스할 수 있도록 허용합니다.
+ `iam:GetAccount*`
+ `iam:ListAccount*`

## 사용자가 계정 암호 정책을 설정할 수 있도록 허용
<a name="creds-policies-set-password-policy"></a>

일부 사용자들에게 AWS 계정의 [암호 정책](id_credentials_passwords_account-policy.md)을 확인하고 업데이트할 수 있는 권한을 부여할 수 있습니다. 예시 정책을 보려면 [IAM: 프로그래밍 방식으로, 그리고 콘솔에서 계정 암호 요구 사항을 설정하도록 허용](reference_policies_examples_iam_set-account-pass-policy.md) 섹션을 참조하세요.

## 사용자가 IAM 자격 증명 보고서를 생성하고 검색할 수 있도록 허용
<a name="iampolicy-generate-credential-report"></a>

AWS 계정에 있는 모든 사용자가 나열된 보고서를 생성하고 다운로드할 수 있는 권한을 사용자에게 부여할 수 있습니다. 이 보고서에는 암호, 액세스 키, MFA 디바이스, 서명 인증서를 포함한 다양한 사용자 자격 증명의 상태도 나열됩니다. 자격 증명 보고서에 대한 자세한 정보는 섹션을 참조하세요[AWS 계정의 자격 증명 보고서 생성](id_credentials_getting-report.md). 예시 정책을 보려면 [IAM: IAM 자격 증명 보고서 생성 및 검색](reference_policies_examples_iam-credential-report.md) 섹션을 참조하세요.

## 모든 IAM 작업 허용(관리자 액세스 권한)
<a name="creds-policies-all-iam"></a>

일부 사용자들에게 암호, 액세스 키, MFA 디바이스, 사용자 인증서 관리를 비롯하여 IAM에서의 모든 작업을 수행할 수 있는 권한을 부여할 수 있습니다. 다음 예시와 같은 정책은 이러한 권한들을 부여합니다.

**주의**  
사용자에게 IAM에 대한 모든 액세스 권한을 부여하면 해당 사용자가 자기 자신 또는 다른 사용자에게 부여할 수 있는 권한에 제한이 없습니다. 사용자는 새로운 IAM 엔터티(사용자나 역할)를 생성하고 그러한 엔터티에 AWS 계정의 모든 리소스에 대한 모든 액세스 권한을 부여할 수 있습니다. 사용자에게 IAM에 대한 모든 액세스 권한을 부여하면 실제로 사용자들에게 AWS 계정의 모든 리소스에 대한 모든 액세스 권한을 부여하는 것입니다. 여기에는 모든 리소스를 삭제하는 권한도 포함됩니다. 이러한 권한은 신뢰할 수 있는 관리자에게만 부여해야 하며, 그러한 관리자에 대해 멀티 팩터 인증(MFA)을 적용해야 합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "iam:*",
    "Resource": "*"
  }
}
```

------