

# 인스턴스에 IAM 역할을 연결할 수 있는 권한 부여
<a name="permission-to-pass-iam-roles"></a>

IAM 사용자와 같은 AWS 계정의 ID에는 IAM 역할로 Amazon EC2 인스턴스를 시작하거나, 인스턴스에 IAM 역할을 연결하거나, 인스턴스의 IAM 역할을 바꾸거나, 인스턴스에서 IAM 역할을 분리할 수 있는 특정 권한이 있어야 합니다. 필요에 따라 다음 API 작업을 사용할 수 있는 권한을 부여해야 합니다.
+ `iam:PassRole`
+ `ec2:AssociateIamInstanceProfile`
+ `ec2:DisassociateIamInstanceProfile`
+ `ec2:ReplaceIamInstanceProfileAssociation`

**참고**  
`iam:PassRole`에 대한 리소스를 `*`로 지정하면 인스턴스에 모든 IAM 역할을 전달할 수 있는 액세스 권한이 부여됩니다. [최소 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)의 모범 사례를 따르려면 아래 정책 예제에서와 같이 `iam:PassRole`로 특정 IAM 역할의 ARN을 지정합니다.

**프로그래밍 방식 액세스를 위한 정책 예제**  
다음 IAM 정책은 AWS CLI 또는 Amazon EC2 API를 사용하여 IAM 역할로 인스턴스를 시작하거나, 인스턴스에 IAM 역할을 연결하거나, 인스턴스의 IAM 역할을 바꿀 수 있는 권한을 부여합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances",
         "ec2:AssociateIamInstanceProfile",
         "ec2:DisassociateIamInstanceProfile",
         "ec2:ReplaceIamInstanceProfileAssociation"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::{{123456789012}}:role/{{DevTeam}}*"
    }
  ]
}
```

------

**콘솔 액세스에 대한 추가 요구 사항**  
Amazon EC2 콘솔을 사용하여 동일한 태스크를 완료할 수 있는 권한을 부여하려면 `iam:ListInstanceProfiles` API 작업도 포함해야 합니다.