

# 계정에 타사 프라이빗 익스텐션 등록
<a name="registry-register-private-extension"></a>

이 주제에서는 계정에서 사용할 수 있도록 공유된 타사 프라이빗 익스텐션을 등록하는 단계를 다룹니다.

**참고**  
계속하기 전에 비공개 확장 프로그램을 등록하는 데 필요한 [IAM 권한](registry-private.md#registry-register-permissions)이 있는지 확인하세요.

**사용자와 공유된 프라이빗 익스텐션을 등록하려면 다음을 수행하세요(AWS CLI).**

1. 계정에 등록하려는 프라이빗 익스텐션에 대한 프로젝트 패키지가 포함되어 있는 Amazon S3 버킷의 위치를 찾습니다.

1. [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/register-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/register-type.html) 명령을 사용하여 계정에 프라이빗 익스텐션을 등록합니다.

   예를 들어 다음 명령은 지정된 AWS 계정에 `My::Resource::Example` 리소스 유형을 등록합니다.

   ```
   aws cloudformation register-type --type RESOURCE \
     --type-name My::Resource::Example \
     --schema-handler-package [s3 object path] --region us-west-2
   ```

   `RegisterType`은 비동기식 작업으로, 등록 요청의 진행 상황을 추적하는 데 사용할 수 있는 등록 토큰을 반환합니다.

   ```
   {
       "RegistrationToken": "f5525280-104e-4d35-bef5-8f1fexample"
   }
   ```

   익스텐션이 기능의 일부로 AWS API를 호출하는 경우 해당 AWS API를 호출하는 데 필요한 권한이 포함된 IAM 실행 역할을 생성하고 계정에서 해당 실행 역할을 프로비저닝해야 합니다. 그런 다음 `--execution-role-arn` 옵션을 사용하여 이 실행 역할을 지정할 수 있습니다. 이제 CloudFormation은 해당 실행 역할을 수임하여 리소스 유형에 적절한 자격 증명을 제공합니다.

   ```
   --execution-role-arn arn:aws:iam::123456789012:role/MyIAMRole
   ```

1. (선택 사항) 등록 토큰을 [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-type-registration.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-type-registration.html) 명령과 함께 사용하여 등록 요청의 진행 상황을 추적합니다.

   CloudFormation이 등록 요청을 완료하면 요청의 진행 상태를 `COMPLETE`로 설정합니다.

   다음 예제에서는 위의 `describe-type-registration` 명령에서 반환한 등록 토큰을 사용하여 등록 상태 정보를 반환합니다.

   ```
   aws cloudformation describe-type-registration \
     --registration-token f5525280-104e-4d35-bef5-8f1fexample \
     --region us-west-2
   ```

   명령은 다음 출력을 반환합니다.

   ```
   {
       "ProgressStatus": "COMPLETE",
       "TypeArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Resource-Example",
       "Description": "Deployment is currently in DEPLOY_STAGE of status COMPLETED; ",
       "TypeVersionArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Resource-Example/00000001"
   }
   ```

**중요**  
등록하는 익스텐션이 후크인 경우 이 다음 단계가 필요합니다. `HookInvocationStatus` 속성에 `ENABLED`을 지정해야 합니다. 이 작업은 후크의 스키마 `properties` 섹션에 정의된 후크의 속성을 활성화합니다. 자세한 내용은 *CloudFormation Hooks User Guide*의 [Hook configuration schema syntax reference](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hook-configuration-schema.html)를 참조하세요.

**후크에 대한 구성 데이터를 지정하려면 다음을 수행하세요(AWS CLI).**

1. 후크의 ARN을 가져와 저장합니다. AWS Management Console 또는 AWS CLI를 사용하여 후크의 ARN을 가져올 수 있습니다. 자세한 내용은 [CloudFormation 레지스트리에서 사용 가능하고 활성화된 확장 프로그램 보기](registry-view.md)을 참조하세요.

   ```
   export HOOK_TYPE_ARN="arn:aws:cloudformation:us-west-2:123456789012:type/hook/Organization-Service-Hook/"
   ```

1. [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html) 명령을 사용하여 구성 데이터를 지정합니다. `--configuration`에 대해 전달하는 JSON은 후크의 구성 스키마에 대해 검증되어야 합니다. 후크를 활성화하려면 `HookConfiguration` 섹션에서 `HookInvocationStatus` 속성을 `ENABLED`로 설정해야 합니다.

   ```
   aws cloudformation set-type-configuration \
     --configuration "{"CloudFormationConfiguration":{"HookConfiguration":{"HookInvocationStatus": "ENABLED", "FailureMode": "FAIL", "Properties":{}}}}" \
     --type-arn $HOOK_TYPE_ARN --region us-west-2
   ```

   자세한 내용은 *CloudFormation Hooks User Guide*의 [Hook configuration schema syntax reference](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hook-configuration-schema.html)를 참조하세요.