Image Builder がIAMポリシーとロールと連携する方法 - EC2 Image Builder

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

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ユーザーガイド」の「 IAMJSONポリシー要素リファレンス」を参照してください。

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

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

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

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

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

クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。リソースベースのポリシーにクロスアカウントのプリンシパルを追加しても、信頼関係は半分しか確立されない点に注意してください。プリンシパルとリソースが異なる場合 AWS アカウント、信頼されたアカウントのIAM管理者は、リソースへのアクセス許可をプリンシパルエンティティ (ユーザーまたはロール) に付与する必要もあります。IAM 管理者は、アイデンティティベースのポリシーをエンティティにアタッチすることで権限を付与します。ただし、リソースベースのポリシーで、同じアカウントのプリンシパルへのアクセス権が付与されている場合は、アイデンティティベースのポリシーをさらに付与する必要はありません。詳細については、「 IAMユーザーガイド」の「 でのクロスアカウントリソースアクセスIAM」を参照してください。

Image Builder ポリシーアクション

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

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

JSON ポリシーの Action要素は、ポリシーでアクセスを許可または拒否するために使用できるアクションを記述します。ポリシーアクションの名前は通常、関連する AWS APIオペレーションと同じです。一致するAPIオペレーションがないアクセス許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数のアクションが必要なオペレーションもあります。これらの追加アクションは、依存アクションと呼ばれます。

このアクションは、関連付けられたオペレーションを実行するための権限を付与するポリシーで使用されます。

Image Builder アクションのリストを確認するには、「サービス認可リファレンス」のEC2「Image Builder で定義されるアクション」を参照してください。

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

imagebuilder

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

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

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

Image Builder ポリシーリソース

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

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

Resource JSON ポリシー要素は、アクションが適用されるオブジェクトを指定します。ステートメントには、Resource または NotResource 要素を含める必要があります。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルの許可と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

オペレーションのリスト化など、リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。

"Resource": "*"

Image Builder リソースタイプとその のリストを確認するにはARNs、「サービス認可リファレンス」のEC2「Image Builder で定義されるリソース」を参照してください。各リソースARNの を指定できるアクションについては、EC2「Image Builder で定義されるアクション」を参照してください。

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

Image Builder のポリシー条件キー

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

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

Condition 要素 (または Condition ブロック) を使用すると、ステートメントが有効な条件を指定できます。Condition 要素はオプションです。イコールや未満などの 条件演算子 を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。

1 つのステートメントに複数の Condition 要素を指定する場合、または 1 つの Condition 要素に複数のキーを指定する場合、 AWS では AND 論理演算子を使用してそれらを評価します。1 つの条件キーに複数の値を指定すると、 は論理ORオペレーションを使用して条件 AWS を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。

条件を指定する際にプレースホルダー変数も使用できます。たとえば、IAM ユーザー名でタグ付けされている場合のみ、リソースにアクセスする IAM ユーザーアクセス許可を付与できます。詳細については、IAMユーザーガイドの「 IAMポリシーエレメント: 変数およびタグ」を参照してください。

AWS は、グローバル条件キーとサービス固有の条件キーをサポートしています。すべての AWS グローバル条件キーを確認するには、「 IAMユーザーガイド」のAWS 「 グローバル条件コンテキストキー」を参照してください。

Image Builder の条件キーのリストを確認するには、「サービス認可リファレンス」のEC2「Image Builder の条件キー」を参照してください。条件キーを使用できるアクションとリソースについては、EC2「Image Builder で定義されるアクション」を参照してください。

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

ACLs Image Builder の

をサポートACLs: なし

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

ABAC Image Builder を使用した

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

属性ベースのアクセスコントロール (ABAC) は、属性に基づいてアクセス許可を定義する認可戦略です。では AWS、これらの属性はタグと呼ばれます。タグは、IAMエンティティ (ユーザーまたはロール) および多くの AWS リソースにアタッチできます。エンティティとリソースのタグ付けは、 の最初のステップですABAC。次に、プリンシパルのタグがアクセスしようとしているリソースのタグと一致する場合に、オペレーションを許可するABACポリシーを設計します。

ABAC は、急速に成長している環境や、ポリシー管理が面倒な状況で役立ちます。

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

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

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

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

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

一部の AWS のサービス は、一時的な認証情報を使用してサインインすると機能しません。一時的な認証情報と AWS のサービス 連携する などの詳細については、「 IAMユーザーガイド」のAWS のサービス 「 と連携する IAM 」を参照してください。

ユーザー名とパスワード以外の AWS Management Console 方法で にサインインする場合は、一時的な認証情報を使用します。たとえば、会社のシングルサインオン (SSO) リンク AWS を使用して にアクセスすると、そのプロセスによって一時的な認証情報が自動的に作成されます。また、ユーザーとしてコンソールにサインインしてからロールを切り替える場合も、一時的な認証情報が自動的に作成されます。ロールの切り替えの詳細については、「 IAMユーザーガイド」の「ユーザーから IAMロールへの切り替え (コンソール)」を参照してください。

一時的な認証情報は、 AWS CLI または を使用して手動で作成できます AWS API。その後、これらの一時的な認証情報を使用してアクセスすることができます AWS。 AWS では、長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成することをお勧めします。詳細については、「」の「一時的なセキュリティ認証情報IAM」を参照してください。

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

転送アクセスセッションをサポート (FAS): はい

IAM ユーザーまたはロールを使用して でアクションを実行すると AWS、プリンシパルと見なされます。一部のサービスを使用すると、別のサービスで別のアクションを開始するアクションを実行できます。 FASは、 を呼び出すプリンシパルのアクセス許可をリクエストと組み合わせて使用し AWS のサービス、ダウンストリームサービス AWS のサービス にリクエストを送信します。 FAS リクエストは、他の 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

リソース

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

Resource JSON ポリシー要素は、アクションが適用されるオブジェクトを指定します。ステートメントには、Resource または NotResource 要素を含める必要があります。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルの許可と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

オペレーションのリスト化など、リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。

"Resource": "*"

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

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

注記

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

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

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

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

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

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

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 コンポーネントの一覧表示

ARNs の例

以下は、 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アクションには、複数のリソースが含まれます。1 つのステートメントで複数のリソースを指定するには、 をカンマARNsで区切ります。

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

条件キー

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

imagebuilder:CreatedResourceTagKeys

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

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

可用性 — このキーは、 CreateInfrastrucutreConfigurationUpdateInfrastructureConfiguration でのみ使用できますAPIs。

imagebuilder:CreatedResourceTag/<key>

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

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

可用性 — このキーは、 CreateInfrastrucutreConfigurationUpdateInfrastructureConfiguration でのみ使用できますAPIs。

imagebuilder:Ec2MetadataHttpTokens

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

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

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

可用性 — このキーは、 CreateInfrastrucutreConfigurationUpdateInfrastructureConfiguration でのみ使用できますAPIs。

imagebuilder:StatusTopicArn

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

このキーを使用して、終了状態通知が発行されるリクエストARNのSNSトピックでアクセスをフィルタリングします。

可用性 – このキーは、 CreateInfrastrucutreConfigurationUpdateInfrastructureConfiguration でのみ使用できますAPIs。

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 ロールを引き受ける、またはクロスアカウントロールを引き受けることができます。一時的なセキュリティ認証情報を取得するには、 AssumeRoleや などの オペレーションを呼び出し AWS STS APIますGetFederationToken

サービスにリンクされたロール

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

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

サービスロール

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