Amazon EC2 Auto Scaling と の連携方法 IAM - Amazon EC2 Auto Scaling

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

Amazon EC2 Auto Scaling と の連携方法 IAM

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

Amazon EC2 Auto Scaling およびその他の がほとんどのIAM機能をどのように AWS サービス 機能するかの概要を把握するには、IAM「 ユーザーガイド」のAWS サービス 「 と連携する IAM 」を参照してください。

Amazon EC2 Auto Scaling のアイデンティティベースのポリシー

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

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

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

Amazon EC2 Auto Scaling 内のリソースベースのポリシー

リソースベースのポリシーのサポート: なし

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

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

Amazon EC2 Auto Scaling のポリシーアクション

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

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

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

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

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

Amazon EC2 Auto Scaling のポリシーアクションは、アクションの前に次のプレフィックスを使用します。

autoscaling

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

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

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

"Action": "autoscaling:Describe*"

Amazon EC2 Auto Scaling のポリシーリソース

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

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

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

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

"Resource": "*"

を使用してARNs、IAMポリシーが適用される Auto Scaling グループと起動設定を識別できます。

Auto Scaling グループには、次の がありますARN。

"Resource": "arn:aws:autoscaling:region:account-id:autoScalingGroup:uuid:autoScalingGroupName/asg-name"

起動設定には、次の がありますARN。

"Resource": "arn:aws:autoscaling:region:account-id:launchConfiguration:uuid:launchConfigurationName/lc-name"

CreateAutoScalingGroup アクションで Auto Scaling グループを指定するには、次の例に示すように、 をUUIDワイルドカード (*) に置き換える必要があります。

"Resource": "arn:aws:autoscaling:region:account-id:autoScalingGroup:*:autoScalingGroupName/asg-name"

CreateLaunchConfiguration アクションで起動設定を指定するには、次の例に示すように、 をUUIDワイルドカード (*) に置き換える必要があります。

"Resource": "arn:aws:autoscaling:region:account-id:launchConfiguration:*:launchConfigurationName/lc-name"

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

注記

が Auto Scaling グループへのアクセスを制御するARNsために使用する IAMポリシーの例については、「」を参照してください削除できる Auto Scaling グループを制御する

すべての Amazon EC2 Auto Scaling アクションがリソースレベルのアクセス許可をサポートしているわけではありません。リソースレベルの許可をサポートしていないアクションの場合、ワイルドカード (*) をリソースとして使用する必要があります。

次の Amazon EC2 Auto Scaling アクションは、リソースレベルのアクセス許可をサポートしていません。

  • DescribeAccountLimits

  • DescribeAdjustmentTypes

  • DescribeAutoScalingGroups

  • DescribeAutoScalingInstances

  • DescribeAutoScalingNotificationTypes

  • DescribeInstanceRefreshes

  • DescribeLaunchConfigurations

  • DescribeLifecycleHooks

  • DescribeLifecycleHookTypes

  • DescribeLoadBalancers

  • DescribeLoadBalancerTargetGroups

  • DescribeMetricCollectionTypes

  • DescribeNotificationConfigurations

  • DescribePolicies

  • DescribeScalingActivities

  • DescribeScalingProcessTypes

  • DescribeScheduledActions

  • DescribeTags

  • DescribeTerminationPolicyTypes

  • DescribeWarmPool

Amazon EC2 Auto Scaling のポリシー条件キー

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

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

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

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

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

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

Amazon EC2 Auto Scaling は、サポートされているアクションへのアクセスを制御し、Auto Scaling グループの設定を強制するために使用できる以下の条件キーをサポートしています。

  • autoscaling:InstanceTypes

  • autoscaling:LaunchConfigurationName

  • autoscaling:LaunchTemplateVersionSpecified

  • autoscaling:LoadBalancerNames

  • autoscaling:MaxSize

  • autoscaling:MinSize

  • autoscaling:ResourceTag/key-name: tag-value

  • autoscaling:TargetGroupARNs

  • autoscaling:VPCZoneIdentifiers

次の条件キーは、起動構成リクエストの作成に固有のものです。

  • autoscaling:ImageId

  • autoscaling:InstanceType

  • autoscaling:MetadataHttpEndpoint

  • autoscaling:MetadataHttpPutResponseHopLimit

  • autoscaling:MetadataHttpTokens

  • autoscaling:SpotPrice

Amazon EC2 Auto Scaling は、リクエスト内のタグまたは Auto Scaling グループに存在するタグに基づいてアクセス許可を定義するために使用できる以下のグローバル条件キーもサポートしています。詳細については、「Auto Scaling グループとインスタンスにタグを付ける」を参照してください。

  • aws:RequestTag/key-name: tag-value

  • aws:ResourceTag/key-name: tag-value

  • aws:TagKeys: [tag-key, ...]

条件キーを使用できる Amazon EC2 Auto Scaling APIアクションについては、「サービス認証リファレンス」の「Amazon EC2 Auto Scaling で定義されるアクション」を参照してください。Amazon EC2 Auto Scaling の条件キーの詳細については、「Amazon EC2 Auto Scaling の条件キー」を参照してください。

注記

条件キーを使用してサポートされているアクションへのアクセスを制御し、Auto Scaling グループの設定を適用するIAMポリシーの例については、次のリソースを参照してください。

ACLs Amazon EC2 Auto Scaling の

をサポートACLs: いいえ

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

ABAC Amazon EC2 Auto Scaling を使用した

サポート 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」を参照してください。

ABAC は、タグをサポートするリソースで可能ですが、すべてがタグをサポートしているわけではありません。起動設定とスケーリングポリシーはタグをサポートしていませんが、Auto Scaling グループはタグをサポートしています。

詳細については、「Auto Scaling グループとインスタンスにタグを付ける」を参照してください。

Amazon EC2 Auto Scaling での一時的な認証情報の使用

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

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

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

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

Amazon EC2 Auto Scaling のサービスロール

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

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

Amazon SNSトピックまたは Amazon SQSキューを通知するライフサイクルフックを作成するときは、SQSユーザーに代わって Amazon EC2 Auto Scaling が Amazon SNSまたは Amazon にアクセスすることを許可するロールを指定する必要があります。IAM コンソールを使用して、ライフサイクルフックのサービスロールを設定します。コンソールは、マネージドポリシーを使用して十分なアクセス許可セットを持つロールを作成するのに役立ちます。詳細については、「Amazon SNS を使用した通知の受信」および「Amazon SQS を使用した通知の受信」を参照してください。

Auto Scaling グループを作成するときに、オプションでサービスロールを渡して、Amazon EC2インスタンスが AWS サービス ユーザーに代わって他の にアクセスすることを許可できます。Amazon EC2インスタンスのサービスロール (起動テンプレートまたは起動設定の Amazon EC2インスタンスプロファイルとも呼ばれます) は、EC2インスタンスの起動時に Auto Scaling グループ内のすべてのインスタンスに割り当てられる特殊なタイプのサービスロールです。IAM コンソール および を使用して AWS CLI 、このサービスロールを作成または編集できます。詳細については、「Amazon EC2 インスタンスで実行中のアプリケーション用の IAM ロール」を参照してください。

警告

サービスロールのアクセス許可を変更すると、Amazon EC2 Auto Scaling の機能が破損する可能性があります。Amazon EC2 Auto Scaling が指示する場合以外は、サービスロールを編集しないでください。

Amazon EC2 Auto Scaling のサービスにリンクされたロール

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

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

Amazon EC2 Auto Scaling サービスにリンクされたロールの作成または管理の詳細については、「」を参照してくださいAmazon EC2 Auto Scaling のサービスにリンクされたロール