

# アカウントでサードパーティーのパブリック拡張をアクティブ化する
<a name="registry-public-activate-extension"></a>

次のトピックでは、アカウントでサードパーティーのパブリック拡張機能をアクティブ化する方法を示します。これにより、それがアクティブ化されたアカウントとリージョンで使用できるようになります。

**注記**  
続行する前に、この拡張機能で使用する [IAM ロール](registry-public.md#registry-public-enable-execution-role) が作成されていることを確認してください。

**Topics**
+ [パブリック拡張をアクティブ化する (コンソール)](#registry-public-activate-extension-console)
+ [パブリック拡張を有効にする (AWS CLI)](#registry-public-activate-extension-cli)

## パブリック拡張をアクティブ化する (コンソール)
<a name="registry-public-activate-extension-console"></a>

このセクションの手順に従い、コンソールを使用して次の操作を実行します。
+ サードパーティーのパブリック拡張を有効化する
+ アカウントの追加の拡張機能構成データを指定する

**アカウントで使用するパブリック拡張を有効にするには**

1. AWS マネジメントコンソール にサインインし、CloudFormation コンソール ([https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/)) を開きます。

1. 画面上部にあるナビゲーションバーで、AWS リージョン を選択します。

1. ナビゲーションペインの **[レジストリ]** の下で、**[パブリック拡張機能]** を選択します。

1. [**フィルタ**] を使用して拡張タイプを選択し、[**サードパーティー**] を選択します。AWS によって発行されている拡張がデフォルトで有効化されています。

1. 拡張を選択してから、**[有効化]** を選択します。

   拡張の複数のバージョンが使用可能な場合は、[**バージョン**] メニューを使用し、有効にする拡張のバージョンを選択します。デフォルトは最新バージョンです。

1. **[拡張機能の名前]** は、**[デフォルトを使用]** のままにするか、**[デフォルトを上書き]** を選択し、この拡張機能に使用する拡張機能タイプのエイリアスを入力します。エイリアスは、拡張タイプの推奨形式に従う必要があります。詳細については、「[拡張を参照するエイリアスを使用する](registry-public.md#registry-public-enable-alias)」を参照してください。

1. アクティブ化している拡張機能がフックのタイプまたはリソースタイプである場合、**[実行ロールの ARN]** で、この拡張機能を呼び出すときに CloudFormation が引き受ける IAM ロールを指定します。詳細については、「[IAM アクセス許可とパブリック拡張アクセスの信頼ポリシーを使用して実行ロールを設定する](registry-public.md#registry-public-enable-execution-role)」を参照してください。

1. **[ログ記録設定]** で、拡張機能のログ記録設定の情報を指定します。例えば、次のようになります。

   ```
   {
       "logRoleArn": "arn:aws:iam::account:role/rolename",
       "logGroupName": "log-group-name"
   }
   ```

   構成情報のロギングは必須ではありませんが、デバッグの目的で推奨されます。フックでログ記録設定を使用するには、指定された実行ロールと同じ信頼ポリシーを追加して、ログロールがロググループにログを書き込めるようにします。

   `logRoleArn` および `logGroupName` キー名では大文字と小文字は区別されません。

1. **[バージョニング]** の **[自動更新]** で、更新の受信方法を選択します。
   + **[On]** (オン) - 自動的に最新のマイナーバージョンに更新します。メジャーバージョンは手動で更新されます。
   + **[Off]** (オフ) - 自動的に最新バージョンに更新しません。すべてのバージョンは手動で更新されます。

   詳細については、「[拡張の新しいバージョンを自動的に使用する](registry-public.md#registry-public-enable-auto)」を参照してください。

拡張機能に追加の構成が必要な場合は、構成データを今すぐ指定するか、拡張が有効化された後に指定するかを選択できます。

**重要**  
有効化する拡張機能がフックの場合、このステップが必要です。`HookInvocationStatus` プロパティには `ENABLED` を指定する必要があります。このオペレーションにより、フックのスキーマ `properties` セクションで定義されているフックのプロパティが有効になります。詳細については、「*CloudFormation フックのユーザーガイド*」の「[フック設定スキーマ構文リファレンス](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hook-configuration-schema.html)」を参照してください。

**構成データを指定するには**

1. [**設定**] で、[**今すぐ設定**] を選択し、[**拡張の有効化**] を選択します。

   CloudFormation は、**[Configure extension]** (拡張の設定) ページを表示します。拡張の現在の構成スキーマを表示するには、**[View configuration schema]** (構成スキーマの表示) が有効になっていることを確認してください。

1. [**Configuration JSON (構成 JSON)**] テキストボックスに、この拡張に指定する構成データを表す JSON 文字列を入力します。指定する JSON は、拡張の構成スキーマに対して検証する必要があります。

1. [**Configure extension (拡張の設定)**] を選択します。

アクティベーション後に拡張機能を設定する場合は、このステップをスキップし、後で構成データを提供できます。

1. [**設定**] で、[**後で設定**] を選択し、[**拡張の有効化**] を選択します。

1. 拡張機能が有効化されたら、有効化された拡張機能ページから拡張機能に移動し、構成データを提供することで、拡張機能を設定できます。

## パブリック拡張を有効にする (AWS CLI)
<a name="registry-public-activate-extension-cli"></a>

このセクションの手順に従い、AWS CLI を使用して次の操作を実行します。
+ サードパーティーのパブリック拡張を有効化する
+ アカウントの追加の拡張機能構成データを指定する

### パブリックフックを有効化する
<a name="registry-public-activate-extension-hooks"></a>

アカウントでフックを有効にすると、AWS アカウント から定義されたアクセス許可を使用するフックを承認します。CloudFormation は、アクセス許可をフックに渡す前に、不要なアクセス許可を削除します。CloudFormation では、アカウントでフックを有効にする前に、お客様またはフックユーザーがフックのアクセス許可を確認し、フックが許可されているアクセス許可を考慮することをお勧めします。

**アカウントで使用するパブリックフックを有効にするには (AWS CLI)**

1. フックの ARN を取得し、保存します。AWS マネジメントコンソール または 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
   ```

   `HookConfiguration` の設定オプションの詳細については、「*CloudFormation フックのユーザーガイド*」の「[フック設定スキーマ構文リファレンス](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hook-configuration-schema.html#)」を参照してください。

### パブリックモジュールとリソースタイプを有効にする
<a name="registry-public-activate-extension-type"></a>

**アカウントで使用するパブリック拡張を有効にするには (AWS CLI)**
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html) コマンドを使用して拡張を有効にし、拡張の新しいマイナーバージョンが公開されるたびに拡張を自動更新するかどうかを指定します。

  以下の例では、このアカウントに対して有効にするパブリック拡張のパブリック Amazon リソースネーム (ARN) を指定します。さらに、新しいマイナーバージョンが公開されるたびに CloudFormation が拡張を更新するように指定しています。

  ```
  aws cloudformation activate-type \
    --public-type-arn public_extension_ARN \
    --execution-role-arn arn:aws:iam::123456789012:role/my-execution-role \
    --auto-update true --region us-west-2
  ```

  このコマンドは、有効化された拡張の ARN を返します。

  ```
  {
      "Arn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Resource-Example"
  }
  ```

### パブリック拡張のバージョンを更新する (AWS CLI)
<a name="registry-public-update-extension-type"></a>

[https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html) を使用して拡張を再度有効にします。

`--version-bump` オプションを使用して、拡張を最新の `MAJOR` バージョン、または最新の `MINOR` バージョンに更新するかどうかを指定します。

```
aws cloudformation activate-type --type RESOURCE \
  --type-name Example::Test::1234567890abcdef0 \
  --type-name-alias Example::Test::Alias \
  --version-bump MAJOR --region us-west-2
```