

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Image Builder リソースを と共有する AWS RAM
<a name="manage-shared-resources"></a>

EC2 Image Builder は AWS Resource Access Manager (AWS RAM) と統合されるため、以下のタイプの Image Builder リソースを AWS アカウント または を通じて共有できます AWS Organizations。
+ コンポーネント
+ イメージ
+ recipe

を介してリソースを共有するには AWS RAM、リソース共有を作成する必要があります。リソース共有は共有するリソースと、それらを共有するコンシューマーを指定します。コンシューマーは、個人 AWS アカウント、組織単位、または組織全体にすることができます AWS Organizations。次の一覧は、共有先として指定できるアカウントと組織のタイプが含まれています。
+ の組織 AWS アカウント 内外に固有 AWS Organizations。
+  AWS Organizationsの組織内の組織単位 (OU)。
+  AWS Organizationsの組織全体。
+ AWS Organizations または組織外の OUs。

このモデルでは、リソースを所有 AWS アカウント する (所有者) は、同じリージョン内の他の AWS アカウント または を介して AWS Organizations (コンシューマー) リソースを共有します。共有リソースが更新されると、コンシューマーはそれらの更新を自動的に取得します。

**注記**  
共有コンポーネント、イメージ、およびイメージレシピは、所有者のみが対応するリソース制限にカウントされます。共有されたリソースがコンシューマーのリソース制限に影響することはありません。

**Topics**
+ [リソース所有者](#share-ib-resources-owners)
+ [リソースコンシューマー](#share-ib-resources-comsumers)
+ [Image Builder AWS RAM リソースのリソース共有を作成する](manage-shared-resources-share.md)
+ [から Image Builder リソースの共有を解除する AWS RAM](manage-shared-resources-unshare.md)

## リソース所有者
<a name="share-ib-resources-owners"></a>

Image Builder リソースは、作成された AWS リージョン でのみ共有できます。これらのリソースを共有する際、リージョン間でレプリケートされません。

自分が所有していて共有できる Image Builder リソースの一覧を取得するには、コンソールで所有権フィルターを指定するか、または AWS CLIでコマンドを実行するときに指定します。
+ [Image Builder コンポーネントの一覧表示](component-details.md#list-components)
+ [イメージを一覧表示する](image-details-list.md#list-images)
+ [イメージレシピの詳細を一覧と詳細表示](image-recipe-details.md)
+ [コンテナレシピ詳細の一覧表示](container-recipe-details.md)

詳細については AWS RAM、[https://docs.aws.amazon.com/ram/latest/userguide/what-is.html](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html)」を参照してください。

### Image Builder リソースを共有するための前提条件
<a name="share-ib-resources-prereqs"></a>

コンポーネント、イメージ、レシピなどの Image Builder リソースを共有するには、次の前提条件が満たされている必要があります。
+ は、共有する Image Builder リソースを所有している AWS アカウント 必要があります。自身が共有を受けているリソースを他者に共有することはできません。
+ 暗号化されたリソースに関連付けられた AWS Key Management Service (AWS KMS) キーは、ターゲットアカウント、組織、または OUs と明示的に共有する必要があります。
+ を使用して Image Builder リソースを AWS Organizations および OUsと共有するには AWS RAM、共有を有効にする必要があります。詳細については、「AWS RAM ユーザーガイド」の「[Enable Sharing with AWS Organizations](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html)」を参照してください。
+ で暗号化されたイメージを異なるリージョンのアカウント AWS KMS 間で配布する場合は、各ターゲットリージョンに KMS キーとエイリアスを作成する必要があります。さらに、それらのリージョンでインスタンスを起動するユーザーは、キーポリシーで指定された KMS キーにアクセスする必要があります。

Image Builder がパイプラインビルドから作成する以下のリソースは、Image Builder リソースとは見なされません。むしろ、Image Builder がアカウント、およびディストリビューション設定で指定したアカウント、アカウント、組織 AWS リージョン、または組織単位 (OUs) に配布する外部リソースです。
+ Amazon マシンイメージ (AMI)
+ Amazon ECR にあるコンテナイメージ

AMI ディストリビューション設定の詳細については、「[AMI ディストリビューション設定の作成と更新](cr-upd-ami-distribution-settings.md)」を参照してください。Amazon ECR にあるコンテナイメージのディストリビューション設定の詳細については、「[コンテナイメージのディストリビューション設定を作成および更新する](cr-upd-container-distribution-settings.md)」を参照してください。

 AWS Organizations および OUs[「組織または OUs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/share-amis-with-organizations-and-OUs.html)」を参照してください。 

## リソースコンシューマー
<a name="share-ib-resources-comsumers"></a>

コンシューマーは共有リソースを使用できますが、どのような方法でも変更することはできません。コンシューマーは、Image Builder レシピを作成するときに、共有イメージをベースイメージとして指定したり、共有コンポーネントを追加したりできます。また、Image Builder イメージパイプラインを作成するときや、 AWS CLIで **create-image** コマンドを使用するときに、共有レシピを指定することもできます。

の組織に属していて AWS Organizations、組織内での共有が有効になっている場合、組織内のコンシューマーには共有リソースへのアクセスが自動的に付与されます。これに該当しない場合、コンシューマーはリソースへの参加の招待を受け取り、その招待を受け入れた後で、リソースの共有に対するアクセス許可が付与されます。

# Image Builder AWS RAM リソースのリソース共有を作成する
<a name="manage-shared-resources-share"></a>

Image Builder コンポーネント、イメージ、またはレシピを共有するには、 AWS Resource Access Manager リソース共有に追加する必要があります。リソース共有では、共有対象のリソースと、共有先のコンシューマーを指定します。

リソースを共有するには、以下のオプションを使用できます。

## オプション 1: RAM リソース共有を作成する
<a name="share-opt1-create-resource-share"></a>

RAM リソース共有を作成する時、所有しているコンポーネント、イメージ、またはレシピを 1 つのステップで共有できます。次のいずれかの方法を使用して、リソース共有を作成してください:
+ 

**コンソール**  
 AWS RAM コンソールを使用してリソース共有を作成するには、「 *AWS RAM ユーザーガイド*」の[「所有する AWS リソースの共有](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create)」を参照してください。
+ 

**AWS CLI**  
 AWS RAM コマンドラインインターフェイスを使用してリソース共有を作成するには、 で **[create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html)** コマンドを実行します AWS CLI。

## オプション 2: リソースポリシーを適用して既存のリソース共有に昇格する
<a name="share-opt2-promote-resource-share"></a>

リソースを共有するための 2 番目のオプションには、両方の AWS CLI でコマンドを実行する 2 つのステップがあります。最初のステップでは、 の Image Builder コマンド AWS CLI を使用して、リソースベースのポリシーを共有リソースに適用します。2 番目のステップでは、 の **[promote-resource-share-created-from-policy](https://docs.aws.amazon.com/cli/latest/reference/ram/promote-resource-share-created-from-policy.html)** AWS RAM コマンドを使用してリソースを RAM リソース共有に昇格し AWS CLI 、リソースを共有したすべてのプリンシパルに表示されるようにします。

1. 

**リソースポリシーを適用する**

   リソースポリシーを正常に適用するには、共有しているアカウントに、基礎的なリソースにアクセスする権限があることを確認する必要があります。

   該当するコマンドのリソースタイプに合ったタブを選択します。

------
#### [ Image ]

   リソースポリシーをイメージに適用して、他のユーザーがレシピのベースイメージとして使用できるようにすることができます。

   で **[put-image-policy](https://docs.aws.amazon.com/cli/latest/reference//imagebuilder/put-image-policy.html)** Image Builder コマンドを実行して AWS CLI、イメージを共有する AWS プリンシパルを識別します。

   ```
   aws imagebuilder put-image-policy --image-arn arn:aws:imagebuilder:us-west-2:123456789012:image/my-example-image/2019.12.03/1 --policy '{ "Version": "2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "123456789012" ] }, "Action": ["imagebuilder:GetImage", "imagebuilder:ListImages"], "Resource": [ "arn:aws:imagebuilder:us-west-2:123456789012:image/my-example-image/2019.12.03/1" ] } ] }'
   ```

------
#### [ Component ]

   クロスアカウント共有を有効にするには、リソースポリシーを適用して、コンポーネントをビルトまたはテストします。このコマンドは、他のアカウントにレシピ内のあなたのコンポーネントを使用する権限を付与します。リソースポリシーを正常に適用するには、共有しているアカウントに、プライベートリポジトリでホストされているファイルなど、共有コンポーネントによって参照されるリソースにアクセスする権限があることを確認する必要があります。

   で **[put-component-policy](https://docs.aws.amazon.com/cli/latest/reference//imagebuilder/put-component-policy.html)** Image Builder コマンドを実行して AWS CLI、コンポーネントを共有する AWS プリンシパルを識別します。

   ```
   aws imagebuilder put-component-policy --component-arn arn:aws:imagebuilder:us-west-2:123456789012:component/my-example-component/2019.12.03/1 --policy '{ "Version": "2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "123456789012" ] }, "Action": [ "imagebuilder:GetComponent", "imagebuilder:ListComponents" ], "Resource": [ "arn:aws:imagebuilder:us-west-2:123456789012:component/my-example-component/2019.12.03/1" ] } ] }'
   ```

------
#### [ Image recipe ]

   リソースポリシーをイメージレシピに適用して、クロスアカウント共有を有効にできます。このコマンドは、レシピを使用して自分のアカウントにイメージを作成する権限を他のアカウントに与えます。リソースポリシーを正常に適用するには、共有しているアカウントに、ベースイメージや選択したコンポーネントなど、レシピが参照するリソースにアクセスする権限があることを確認する必要があります。

   で **[put-image-recipe-policy](https://docs.aws.amazon.com/cli/latest/reference//imagebuilder/put-image-recipe-policy.html)** Image Builder コマンドを実行して AWS CLI、イメージを共有する AWS プリンシパルを識別します。

   ```
   aws imagebuilder put-image-recipe-policy --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-image-recipe/2019.12.03 --policy '{ "Version": "2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "123456789012" ] }, "Action": [ "imagebuilder:GetImageRecipe", "imagebuilder:ListImageRecipes" ], "Resource": [ "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-image-recipe/2019.12.03" ] } ] }'
   ```

------
#### [ Container recipe ]

   リソースポリシーをコンテナレシピに適用して、クロスアカウント共有を有効にできます。このコマンドは、レシピを使用して自分のアカウントにイメージを作成する権限を他のアカウントに与えます。リソースポリシーを正常に適用するには、共有しているアカウントに、ベースイメージや選択したコンポーネントなど、レシピが参照するリソースにアクセスする権限があることを確認する必要があります。

   で **[put-container-recipe-policy](https://docs.aws.amazon.com/cli/latest/reference//imagebuilder/put-container-recipe-policy.html)** Image Builder コマンドを実行して AWS CLI、イメージを共有する AWS プリンシパルを識別します。

   ```
   aws imagebuilder put-container-recipe-policy --container-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:container-recipe/my-example-container-recipe/2021.12.03 --policy '{ "Version": "2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "123456789012" ] }, "Action": [ "imagebuilder:GetContainerRecipe", "imagebuilder:ListContainerRecipes" ], "Resource": [ "arn:aws:imagebuilder:us-west-2:123456789012:container-recipe/my-example-container-recipe/2021.12.03" ] } ] }'
   ```

------
**注記**  
リソースの共有と共有解除に関する正しいポリシーを設定するには、`imagebuilder:put*` リソース所有者に権限が必要です。

1. 

**RAM リソース共有として昇格する**

   リソースを共有したすべてのプリンシパルがリソースを表示できるようにするには、 で **[promote-resource-share-created-from-policy](https://docs.aws.amazon.com/cli/latest/reference/ram/promote-resource-share-created-from-policy.html)** AWS RAM コマンドを実行します AWS CLI。

# から Image Builder リソースの共有を解除する AWS RAM
<a name="manage-shared-resources-unshare"></a>

共有コンポーネント、イメージ、レシピなど、所有している Image Builder リソースの共有を解除するには、 AWS Resource Access Manager リソース共有から削除する必要があります。これを行うには、 AWS RAM コンソールまたは AWS CLIを使用できます。

**注記**  
所有者は、共有リソースが共有されなくなるまで、その共有リソースを削除することはできません。所有者は、利用者が誰もリソースに依存しなくなるまで、これらのリソースの共有を解除することはできません。

**AWS Resource Access Manager コンソールを使用して、所有している共有コンポーネント、イメージ、またはレシピの共有を解除するには**  
「AWS RAM ユーザーガイド」の「[リソース共有の更新](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-update)」を参照してください。

**を使用して、所有している共有コンポーネント、イメージ、またはレシピの共有を解除するには AWS CLI**  
**[disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html)** コマンドを使用してリソースの共有を停止します。