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

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

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

IAM を使用して Image Builder へのアクセスを管理する前に、Image Builder で使用できるIAM機能について説明します。

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

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

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

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

IAM ID ベースのポリシーでは、許可または拒否されたアクションとリソース、およびアクションが許可または拒否される条件を指定できます。プリンシパルは、それが添付されているユーザーまたはロールに適用されるため、アイデンティティベースのポリシーでは指定できません。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 グローバル条件キーを確認するには、 ユーザーガイドのAWS 「グローバル条件コンテキストキー」を参照してください。 IAM

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、 IAM ユーザーガイド「属性ベースのアクセスコントロールを使用する (ABAC)」を参照してください。

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

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

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

ユーザー名とパスワード以外の AWS Management Console 方法で にサインインする場合、一時的な認証情報を使用します。例えば、会社のシングルサインオン (SSO) リンク AWS を使用して にアクセスすると、そのプロセスによって一時的な認証情報が自動的に作成されます。また、ユーザーとしてコンソールにサインインしてからロールを切り替える場合も、一時的な認証情報が自動的に作成されます。ロールの切り替えの詳細については、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 ID ベースのポリシーでは、許可または拒否されたアクションとリソース、およびアクションが許可または拒否される条件を指定できます。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": "*"

Image Builder インスタンスリソースには、次の Amazon リソースネーム () がありますARN。

arn:aws:imagebuilder:region:account-id:resource:resource-id

の形式の詳細についてはARNs、「Amazon リソースネーム (ARNs)」および AWS 「サービス名前空間」を参照してください。

例えば、 ステートメントでi-1234567890abcdef0インスタンスを指定するには、次の を使用しますARN。

"Resource": "arn:aws:imagebuilder:us-east-1:123456789012:instance/i-1234567890abcdef0"

特定のアカウントに属するすべてのインスタンスを指定するには、ワイルドカード *を使用します。

"Resource": "arn:aws:imagebuilder:us-east-1:123456789012:instance/*"

リソースの作成など、一部の Image Builder アクションは、特定のリソースに対して実行できません。このような場合は、ワイルドカード *を使用する必要があります。

"Resource": "*"

多くの 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アカウントに表示され、アカウントによって所有されます。これは、管理者権限を持つユーザーがこのロールの権限を変更できることを意味します。ただし、それにより、サービスの機能が損なわれる場合があります。