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アクセス許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースのポリシーを作成する方法については、「 ユーザーガイド」のIAM「ポリシーの作成IAM」を参照してください。

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

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

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

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

リソースベースのポリシーのサポート: はい

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

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

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、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースにどのような条件アクションを実行できるかということです。

Policy ResourceJSON要素は、アクションが適用されるオブジェクトを指定します。ステートメントには、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、「 ユーザーガイド」の「 とはABACIAM」を参照してください。のセットアップ手順を含むチュートリアルを表示するにはABAC、「 ユーザーガイド」の「属性ベースのアクセスコントロール (ABAC) を使用するIAM」を参照してください。

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

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

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

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

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

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

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

IAM ユーザーまたはロールを使用して でアクションを実行すると AWS、プリンシパルと見なされます。一部のサービスを使用する際に、アクションを実行することで、別のサービスの別のアクションがトリガーされることがあります。FAS は、 を呼び出すプリンシパルのアクセス許可を AWS サービス、ダウンストリームサービス AWS サービス へのリクエストのリクエストと組み合わせて使用します。FAS リクエストは、サービスが他の AWS サービス またはリソースとのやり取りを完了する必要があるリクエストを受け取った場合にのみ行われます。この場合、両方のアクションを実行するための権限が必要です。FAS リクエストを行う際のポリシーの詳細については、「転送アクセスセッション」を参照してください。

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

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

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

警告

サービスロールの権限を変更すると、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 サービス」を参照してください。

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

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

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

  • EC2InstanceProfileForImageBuilder

  • EC2InstanceProfileForImageBuilderECRContainerBuilds

  • AmazonSSMManagedInstanceCore

リソース

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

Policy ResourceJSON要素は、アクションが適用されるオブジェクトを指定します。ステートメントには、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アカウントに表示され、アカウントによって所有されます。これは、管理者権限を持つユーザーがこのロールの権限を変更できることを意味します。ただし、それにより、サービスの機能が損なわれる場合があります。