Image Builder と IAM ポリシーおよびロールとの連携 - EC2 イメージビルダー

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

Image Builder と IAM ポリシーおよびロールとの連携

IAM を使用して Image Builder へのアクセスを管理する前に、Image Builder で使用できる IAM 機能について確認してください。

Image Builder およびその他の AWS のサービスがほとんどの IAM 機能と連携する方法の概要については、IAM ユーザーガイドAWS 「IAM と連携する のサービス」を参照してください。

Image Builder のアイデンティティベースのポリシー

アイデンティティベースのポリシーのサポート: あり

アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「IAM ユーザーガイド」の「カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する」を参照してください。

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「IAM ユーザーガイド」の「IAM JSON ポリシーの要素のリファレンス」を参照してください。

Image Builder のアイデンティティベースのポリシー例

Image Builder ID ベースのポリシーの例を見るには、Image Builder のアイデンティティベースのポリシーを参照してください。

Image Builder 内のリソースベースのポリシー

リソースベースのポリシーのサポート: あり

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM ロールの信頼ポリシーや Amazon S3 バケットポリシーがあげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスを制御できます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーで、プリンシパルを指定する必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または を含めることができます AWS のサービス。

クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。詳細については、IAM ユーザーガイドIAM でのクロスアカウントリソースアクセス を参照してください。

Image Builder ポリシーアクション

ポリシーアクションのサポート:あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

JSON ポリシーの Action 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

Image Builder のアクションの一覧は、Service Authorization Reference の EC2 Image Builder で定義されたアクションを参照してください。

Image Builder のポリシーアクションは、アクションの前に次の接頭辞を使用します:

imagebuilder

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。

"Action": [ "imagebuilder:action1", "imagebuilder:action2" ]

Image Builder ID ベースのポリシーの例を見るには、Image Builder のアイデンティティベースのポリシーを参照してください。

Image Builder ポリシーリソース

ポリシーリソースのサポート: あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

Resource JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。リソースレベルの権限をサポートしないアクションの場合は、ワイルドカード (*) を使用してステートメントがすべてのリソースに適用されることを示します。

"Resource": "*"

Image Builder のリソースタイプとその ARN の一覧は、Service Authorization Reference の Resources defined by EC2 Image Builder を参照してください。各リソースの ARN をどのアクションで指定できるかについては、EC2 Image Builder で定義されているアクションを参照してください。

Image Builder ID ベースのポリシーの例を見るには、Image Builder のアイデンティティベースのポリシーを参照してください。

Image Builder のポリシー条件キー

サービス固有のポリシー条件キーのサポート: あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

Condition 要素は、定義された基準に基づいてステートメントが実行されるタイミングを指定します。イコールや未満などの 条件演算子 を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、「IAM ユーザーガイド」のAWS 「グローバル条件コンテキストキー」を参照してください。

Image Builder の条件キーの一覧は、Service Authorization ReferenceCondition keys for EC2 Image Builder を参照してください。どのアクションとリソースで条件キーを使用できるかについては、EC2 Image Builder で定義されたアクションを参照してください。

Image Builder ID ベースのポリシーの例を見るには、Image Builder のアイデンティティベースのポリシーを参照してください。

Image Builder の ACL

ACL のサポート: なし

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

Image Builder 付き

ABAC (ポリシー内のタグ) のサポート: 一部

属性ベースのアクセス制御 (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可するように ABAC ポリシーを設計できます。

タグに基づいてアクセスを管理するには、aws:ResourceTag/key-nameaws:RequestTag/key-name、または aws:TagKeys の条件キーを使用して、ポリシーの 条件要素 でタグ情報を提供します。

サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値はありです。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「部分的」になります。

ABAC の詳細については、「IAM ユーザーガイド」の「ABAC 認可でアクセス許可を定義する」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「IAM ユーザーガイド」の「属性ベースのアクセス制御 (ABAC) を使用する」を参照してください。

Image Builder での一時的な認証情報の使用

一時的な認証情報のサポート: あり

一時的な認証情報は、 AWS リソースへの短期的なアクセスを提供し、フェデレーションまたはスイッチロールの使用時に自動的に作成されます。 AWS では、長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成することをお勧めします。詳細については、「IAM ユーザーガイド」の「IAM の一時的な認証情報」および「IAM と連携するAWS のサービス」を参照してください。

Image Builder のクロスサービスプリンシパル権限

転送アクセスセッション (FAS) のサポート: あり

転送アクセスセッション (FAS) は、 を呼び出すプリンシパルのアクセス許可と AWS のサービス、ダウンストリームサービス AWS のサービス へのリクエストをリクエストする を使用します。FAS リクエストを行う際のポリシーの詳細については、「転送アクセスセッション」を参照してください。

Image Builder のサービスリンクロール

サービスロールのサポート: あり

サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける IAM ロールです。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、「IAM ユーザーガイド」の「AWS のサービスに許可を委任するロールを作成する」を参照してください。

警告

サービスロールの権限を変更すると、Image Builder の機能が壊れる可能性があります。サービスロールの編集は、Image Builder のガイダンスに従って行ってください。

Image Builder のサービスリンクロール

サービスリンクロールのサポート: あり

サービスにリンクされたロールは、 にリンクされたサービスロールの一種です AWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示され AWS アカウント 、サービスによって所有されます。IAM 管理者は、サービスリンクロールのアクセス許可を表示できますが、編集することはできません。

Image Builder サービスリンクロールの詳細については、Image Builder での IAM サービスリンクロールの使用 を参照してください。

Image Builder のアイデンティティベースのポリシー

IAM アイデンティティベースポリシーでは、許可または拒否されるアクションとリソースを指定し、アクションが許可または拒否される条件も指定できます。Image Builder は、特定のアクション、リソース、条件キーをサポートしています。JSON ポリシーで使用するすべての要素については、IAM ユーザーガイドのAmazon EC2 Image Builder のアクション、リソース、および条件キー」を参照してください。

アクション

Image Builder のポリシーアクションは、アクションの前に以下の接頭辞を使用します: imagebuilder:。ポリシーステートメントにはAction または NotAction 要素を含める必要があります。Image Builder は、このサービスで実行できるタスクを記述した独自のアクションセットを定義しています。

単一のステートメントに複数のアクションを指定するには次のようにコンマで区切ります。

"Action": [ "imagebuilder:action1", "imagebuilder:action2" ]

ワイルドカード (*) を使用して複数アクションを指定できます。例えば、List という単語で始まるすべてのアクションを指定するには次のアクションを含めます。

"Action": "imagebuilder:List*"

Image Builder のアクションのリストは、IAM ユーザーガイドの AWS のサービスのアクション、リソース、および条件キーを参照してください。

ポリシーを使用したアクセスの管理

ポリシーを作成し、IAM ID または AWS リソースにアタッチ AWS して でアクセスを管理する方法の詳細については、IAM ユーザーガイド「ポリシーとアクセス許可」を参照してください。

インスタンスプロファイルに関連付ける IAM ロールには、イメージに含まれるビルドコンポーネントとテストコンポーネントを実行する権限が必要です。インスタンスプロファイルに関連付けられている IAM ロールに対し、次の IAM ロールポリシーをアタッチする必要があります。

  • EC2InstanceProfileForImageBuilder

  • EC2InstanceProfileForImageBuilderECRContainerBuilds

  • AmazonSSMManagedInstanceCore

リソース

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

Resource JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。リソースレベルの権限をサポートしないアクションの場合は、ワイルドカード (*) を使用してステートメントがすべてのリソースに適用されることを示します。

"Resource": "*"

ARN は、リソースを識別し、名前が一意であることを確認するのに役立つ複数のノードで構成されます。名前の最後のノードには、リソースタイプ、名前、および ID の書式設定のいくつかのバリエーションが含まれます。Image Builder がリソースを作成するときは、次の形式を使用します。

arn:aws:imagebuilder:region:owner:resource-type/resource-name/version/build-version

注記

ビルドバージョンは、リソース ARN に必ずしも含まれているわけではありません。ただし、GetComponent などの一部の API オペレーションでは、取得するリソースを一意に識別するためにビルドバージョンが必要です。

ベースイメージやコンポーネントなど、Image Builder がレシピで使用するリソースの場合、所有者ノードは次のいずれかになります。

  • リソース所有者のアカウント番号

  • Amazon マネージドリソースの場合: aws

  • AWS Marketplace リソースの場合: aws-marketplace

次の例は、Linux に Amazon CloudWatch エージェントをインストールするためのマネージドコンポーネントの ARN を示しています。

arn:aws:imagebuilder:us-east-1:aws:component/amazon-cloudwatch-agent-linux/1.0.1/1

この例では、 からの架空のマネージドコンポーネントの ARN を示しています AWS Marketplace。

arn:aws:imagebuilder:us-east-1:aws-marketplace:component/example-linux-software-component/1.0.1

所有権フィルターの使用など、コンポーネントのリストを取得する方法の詳細については、「」を参照してくださいImage Builder コンポーネントの一覧表示

ARN の例

以下は、IAM ポリシーで指定できるリソース ARNs の例です。

  • インスタンス ARN

    "Resource": "arn:aws:imagebuilder:us-east-1:111122223333:instance/i-1234567890abcdef0"
  • 特定のアカウントのすべてのインスタンスを指定するワイルドカード (*) の例

    "Resource": "arn:aws:imagebuilder:us-east-1:111122223333:instance/*"
  • マネージドイメージワークフローのすべてのバージョンを指定するワイルドカード (*) の例

    "Resource": "arn:aws:imagebuilder:us-east-1:aws:workflow/build/build-image/*"
  • マネージドイメージ ARN

    "Resource": "arn:aws:imagebuilder:us-east-1:aws:image/amazon-linux-2-arm64/2024.12.17/1"
  • マネージドイメージのすべてのバージョンを指定するワイルドカード (*) の例

    "Resource": "arn:aws:imagebuilder:us-east-1:aws:image/amazon-linux-2-arm64/x.x.x"

EC2 Image Builder API アクションの多くは、複数のリソースを使用します。複数リソースを単一ステートメントで指定するには、ARN をカンマで区切ります。

"Resource": [ "resource1", "resource2" ]

条件キー

Image Builder はサービス固有の条件キーを提供し、いくつかのグローバル条件キーの使用をサポートします。すべての AWS グローバル条件キーを確認するには、IAM ユーザーガイドAWS 「グローバル条件コンテキストキー」を参照してください。以下のサービス別条件キーがある。

imagebuilder:CreatedResourceTagKeys

文字列演算子で動作します。

リクエストにタグキーがあるかどうかでアクセスをフィルタするには、このキーを使用します。これにより、Image Builder が作成するリソースを管理できます。

利用可能性 - このキーはCreateInfrastrucutreConfigurationUpdateInfrastructureConfigurationの API でのみ利用可能です。

imagebuilder:CreatedResourceTag/<key>

文字列演算子で動作します。

このキーを使用して、Image Builder が作成したリソースに添付されているタグのキーと値のペアでアクセスをフィルタリングします。これにより、定義済みのタグを使用して Image Builder リソースを管理できます。

利用可能性 - このキーはCreateInfrastrucutreConfigurationUpdateInfrastructureConfigurationの API でのみ利用可能です。

imagebuilder:LifecyclePolicyResourceType

文字列演算子で動作します。

このキーを使用して、リクエストで指定されたライフサイクルリソースタイプでアクセスをフィルタリングします。

このキーの値は、 AMI_IMAGEまたは のいずれかですCONTAINER_IMAGE

利用可能性 - このキーはCreateLifecyclePolicyUpdateLifecyclePolicyの API でのみ利用可能です。

imagebuilder:Ec2MetadataHttpTokens

文字列演算子で動作します。

このキーを使用して、リクエストで指定された EC2 インスタンスメタデータの HTTP トークン要件によってアクセスをフィルタリングします。

このキーの値はoptionalrequiredのどちらかなります。

利用可能性 - このキーはCreateInfrastrucutreConfigurationUpdateInfrastructureConfigurationの API でのみ利用可能です。

imagebuilder:StatusTopicArn

文字列演算子で動作します。

このキーを使用して、端末の状態通知を公開するリクエストで、SNS トピック ARN によるアクセスをフィルタリングします。

利用可能性 - このキーはCreateInfrastrucutreConfigurationUpdateInfrastructureConfigurationの API でのみ利用可能です。

Image Builder ID ベースのポリシーの例を見るには、Image Builder のアイデンティティベースのポリシーを参照してください。

Image Builder 内のリソースベースのポリシー

リソースベースのポリシーは、指定されたプリンシパルが Image Builder リソースに対して、どのようなアクションをどのような条件で実行できるかを指定するものです。Image Builder は、コンポーネント、イメージ、およびイメージレシピのリソースベースのアクセス権限ポリシーをサポートします。リソースベースのポリシーでは、リソースごとに他の アカウントに使用許可を付与することができます。リソースベースのポリシーを使用して、 AWS サービスがコンポーネント、イメージ、イメージレシピにアクセスすることを許可することもできます。

リソースベースのポリシーをコンポーネント、イメージ、またはイメージレシピにアタッチする方法については、「Image Builder リソースを と共有する AWS RAM」を参照してください。

注記

Image Builder を使用してリソースポリシーを更新すると、更新は RAM コンソールに表示されます。

Image Builder タグに基づく認可

タグを Image Builder リソースに添付したり、リクエストでタグを Image Builder に渡すことができます。タグに基づいてアクセスを管理するには、imagebuilder:ResourceTag/key-nameaws:RequestTag/key-name、または aws:TagKeys の条件キーを使用して、ポリシーの 条件要素 でタグ情報を提供します。Image Builder リソースのタグ付けの詳細については、からリソースにタグを付ける AWS CLIを参照してください。

Image Builder IAM ロール

IAM ロールは、特定のアクセス許可 AWS アカウント を持つ 内のエンティティです。

Image Builder での一時的な認証情報の使用

一時的な認証情報を使用して、フェデレーションでサインインする、IAM 役割を引き受ける、またはクロスアカウント役割を引き受けることができます。一時的なセキュリティ認証情報を取得するには、AssumeRoleGetFederationToken などの AWS STS API オペレーションを呼び出します。

サービスリンクロール

サービスにリンクされたロールを使用すると AWS のサービス 、 は他の サービスのリソースにアクセスして、ユーザーに代わってアクションを実行できます。サービスリンクロールは IAM アカウント内に表示され、サービスによって所有されます。管理者権限を持つユーザーは、サービスリンクロールの権限を表示することはできますが、編集することはできません。

Image Builder はサービスリンクロールをサポートします。Image Builder サービスリンクロールの作成または管理については、Image Builder での IAM サービスリンクロールの使用を参照してください。

サービス役割

この機能により、ユーザーに代わってサービスがサービスロールを引き受けることが許可されます。この役割により、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスロールはIAM アカウントに表示され、アカウントによって所有されます。これは、管理者権限を持つユーザーがこのロールの権限を変更できることを意味します。ただし、それにより、サービスの機能が損なわれる場合があります。