

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# CloudFormation 후크에 대한 IAM 권한 부여
<a name="grant-iam-permissions-for-hooks"></a>

기본적으로의 새 사용자는 AWS Management Console, AWS Command Line Interface (AWS CLI) 또는 AWS API를 사용하여 후크를 관리할 수 있는 권한이 AWS 계정 없습니다. 사용자에게 권한을 부여하기 위해 IAM 관리자는 IAM 정책을 생성할 수 있습니다. 그런 다음 관리자가 IAM 정책을 역할에 추가하고, 사용자가 역할을 맡을 수 있습니다.

이 주제의 정책 예제를 사용하여 사용자 지정 IAM 정책을 생성하여 사용자에게 후크 작업 권한을 부여합니다.

이러한 예제 JSON 정책 문서를 사용하여 IAM 자격 증명 기반 정책을 생성하는 방법을 알아보려면 [IAM 사용 설명서의 고객 관리형 정책을 사용하여 사용자 지정 IAM 권한 정의를](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) 참조하세요. ** 

이 주제에서는 다음을 수행하는 데 필요한 권한을 다룹니다.
+ **후크 관리** - 계정에서 후크를 생성, 수정 및 비활성화합니다.
+ **공개적으로 후크 게시** - 사용자 지정 후크를 등록, 테스트 및 게시하여 CloudFormation 레지스트리에서 공개적으로 사용할 수 있도록 합니다.
+ **호출 결과 보기** - 계정의 후크 호출 결과에 액세스하고 쿼리합니다.
+ **호출 결과에 대한 세부 정보 보기** - 계정의 특정 후크 호출 결과에 대한 세부 정보 및 수정 지침에 액세스합니다.

IAM 정책을 생성할 때 `cloudformation` 서비스 *권한 부여 참조*의 작업, 리소스 및 조건 키 섹션에서 서비스 접두사와 연결된 모든 [작업, 리소스 및 조건 키에 대한 CloudFormation](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html) 설명서를 찾을 수 있습니다.

**Topics**
+ [사용자가 후크를 관리하도록 허용](#iam-permissions-to-manage-hooks)
+ [사용자가 사용자 지정 후크를 공개적으로 게시하도록 허용](#iam-permissions-for-public-hook-publishing)
+ [사용자가 후크 호출 결과를 볼 수 있도록 허용](#iam-permissions-to-request-invocation-results)
+ [사용자가 자세한 후크 호출 결과를 볼 수 있도록 허용](#get-detailed-hook-invocation-results)
+ [AWS KMS 유휴 CloudFormation Hooks 결과를 암호화하기 위한 키 정책 및 권한](hooks-kms-key-policy.md)

## 사용자가 후크를 관리하도록 허용
<a name="iam-permissions-to-manage-hooks"></a>

사용자가 CloudFormation 레지스트리에서 공개하지 않고 후크를 포함한 확장을 관리하도록 허용해야 하는 경우 다음 예제 IAM 정책을 사용할 수 있습니다.

**중요**  
`ActivateType` 및 `SetTypeConfiguration` API 호출은 함께 작동하여 계정에서 후크를 생성합니다. 사용자에게 `SetTypeConfiguration` API를 호출할 수 있는 권한을 부여하면 기존 후크를 수정하고 비활성화할 수 있는 권한이 자동으로 부여됩니다. 리소스 수준 권한을 사용하여이 API 호출에 대한 액세스를 제한할 수 없습니다. 따라서 계정의 승인된 사용자에게만이 권한을 부여해야 합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:ActivateType",
                "cloudformation:DescribeType",
                "cloudformation:ListTypes",
                "cloudformation:SetTypeConfiguration"
            ],
            "Resource": "*"
        }
    ]
}
```

------

후크를 관리하는 사용자는 다음과 같은 몇 가지 관련 권한이 필요할 수 있습니다.
+ CloudFormation 콘솔의 Control Catalog에서 사전 예방적 제어를 보려면 사용자에게 IAM 정책에 대한 `controlcatalog:ListControls` 권한이 있어야 합니다.
+ CloudFormation 레지스트리에서 사용자 지정 후크를 프라이빗 확장으로 등록하려면 사용자에게 IAM 정책에 대한 `cloudformation:RegisterType` 권한이 있어야 합니다.

## 사용자가 사용자 지정 후크를 공개적으로 게시하도록 허용
<a name="iam-permissions-for-public-hook-publishing"></a>

다음 예제 IAM 정책은 게시 기능에 특히 중점을 둡니다. 사용자가 CloudFormation 레지스트리에서 후크를 포함한 확장을 공개적으로 사용할 수 있도록 허용해야 하는 경우이 정책을 사용합니다.

**중요**  
후크를 공개적으로 게시하면 다른 사용자가 후크를 사용할 수 있습니다 AWS 계정. 권한이 있는 사용자만 이러한 권한을 가지고 있고 게시된 확장이 조직의 품질 및 보안 표준을 충족하는지 확인합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:DescribePublisher",
                "cloudformation:DescribeTypeRegistration",
                "cloudformation:ListTypes",
                "cloudformation:ListTypeVersions",
                "cloudformation:PublishType",
                "cloudformation:RegisterPublisher",
                "cloudformation:RegisterType",
                "cloudformation:TestType"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## 사용자가 후크 호출 결과를 볼 수 있도록 허용
<a name="iam-permissions-to-request-invocation-results"></a>

후크 호출 결과를 보는 데 필요한 IAM 권한은 요청되는 정보의 유형에 따라 달라집니다.

### 후크 호출 결과 나열
<a name="list-hook-invocation-results"></a>

후크 호출 결과를 나열하려면 사용자는 수행 중인 API 요청에 따라 다른 권한이 필요합니다.
+ 모든 후크 결과, 특정 후크에 대한 결과 또는 특정 후크 및 호출 상태에 대한 결과를 요청할 수 있는 권한을 부여하려면 `cloudformation:ListAllHookResults` 작업에 대한 액세스 권한을 부여해야 합니다.
+ 후크 대상을 지정하여 결과를 요청할 수 있는 권한을 부여하려면 `cloudformation:ListHookResults` 작업에 대한 액세스 권한을 부여해야 합니다. 이 권한을 통해 API 호출자는를 호출할 때 `TargetType` 및 `TargetId` 파라미터를 지정할 수 있습니다`ListHookResults`.

다음은 후크 호출 결과를 나열하기 위한 기본 권한 정책의 예입니다. 이 정책을 사용하는 IAM 자격 증명(사용자 또는 역할)에는 사용 가능한 모든 파라미터 조합을 사용하여 모든 호출 결과를 요청할 수 있는 권한이 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:ListAllHookResults",
                "cloudformation:ListHookResults"
            ],
            "Resource": "*"
        }
    ]
}
```

------

#### 지정할 수 있는 변경 세트 제어
<a name="control-which-change-sets"></a>

다음 예제 IAM 정책은 후크의 대상을 지정하여 결과를 요청할 수 있는 권한을 `cloudformation:ListHookResults` 작업에 부여합니다. 그러나 대상이 라는 변경 세트인 경우에도 작업을 거부합니다`example-changeset`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:ListHookResults"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "cloudformation:ListHookResults"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "cloudformation:ChangeSetName": "example-changeset"
                }
            }
        }
    ]
}
```

------

#### 지정할 수 있는 후크 제어
<a name="control-which-hooks"></a>

다음 예제 IAM 정책은 요청에 후크의 ARN이 제공된 경우에만 호출 결과를 요청할 수 있는 권한을 `cloudformation:ListAllHookResults` 작업에 부여합니다. 지정된 후크 ARN에 대한 작업을 거부합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:ListAllHookResults"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "cloudformation:ListAllHookResults"
            ],
            "Resource": "*",
            "Condition": {
                "Null": {
                    "cloudformation:TypeArn": "true"
                }
            }
        },
        {
            "Effect": "Deny",
            "Action": [
                "cloudformation:ListAllHookResults"
            ],
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "cloudformation:TypeArn": "arn:aws:cloudformation:us-east-1:123456789012:type/hook/MyCompany-MyHook"
                }
            }
        }
    ]
}
```

------

## 사용자가 자세한 후크 호출 결과를 볼 수 있도록 허용
<a name="get-detailed-hook-invocation-results"></a>

특정 후크 호출의 세부 결과를 볼 수 있는 권한을 부여하려면 `cloudformation:GetHookResult` 작업에 대한 액세스 권한을 부여해야 합니다. 이 권한을 통해 사용자는 특정 후크 호출 결과에 대한 세부 정보 및 수정 지침을 검색할 수 있습니다. 자세한 내용은 API 참조의 [GetHookResult](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_GetHookResult.html)를 참조하세요. *AWS CloudFormation * 

다음 예제 IAM 정책은 `cloudformation:GetHookResult` 작업에 대한 권한을 부여합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
       "Action": [
         "cloudformation:GetHookResult"
      ],
      "Resource": "*"
    }
  ]
}
```

------

**참고**  
자체 AWS KMS 키를 사용하여 클라우드에 저장된 자세한 호출 결과를 암호화하도록 후크를 구성할 수 있습니다. 암호화에 고객 관리형 키를 사용할 때 필요한 키 정책 및 IAM 권한을 설정하는 방법에 대한 자세한 내용은 섹션을 참조하세요[AWS KMS 유휴 CloudFormation Hooks 결과를 암호화하기 위한 키 정책 및 권한](hooks-kms-key-policy.md).