Elastic Beanstalk アクションのリソースと条件 - AWS Elastic Beanstalk

Elastic Beanstalk アクションのリソースと条件

このセクションでは、ポリシーステートメントで使用できるリソースと条件について説明します。このポリシーステートメントは、特定の Elastic Beanstalk リソースに対する特定の Elastic Beanstalk アクションの実行を許可します。

条件を使用すると、アクションが完了する必要があるリソースに対する許可を指定できます。例えば、CreateEnvironment アクションを呼び出すときは、デプロイするアプリケーションバージョンと、そのアプリケーション名が含まれるアプリケーションも指定する必要があります。CreateEnvironment アクションの許可を設定するとき、InApplication および FromApplicationVersion 条件を使用して、アクションの実行対象アプリケーションとアプリケーションバージョンを指定します。

さらに、ソリューションスタック(FromSolutionStack)または設定テンプレート(FromConfigurationTemplate)で環境設定を指定することもできます。次のポリシーステートメントでは、CreateEnvironment アクションが、アプリケーション myenv (Resource 条件で指定) で、My App (InApplication で指定) という名前の環境を、アプリケーションバージョン My Version (FromApplicationVersion) と 32bit Amazon Linux running Tomcat 7 設定 (FromSolutionStack) を使用して作成できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:CreateEnvironment" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"], "elasticbeanstalk:FromApplicationVersion": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My App/My Version"], "elasticbeanstalk:FromSolutionStack": ["arn:aws:elasticbeanstalk:us-east-2::solutionstack/32bit Amazon Linux running Tomcat 7"] } } } ] }
注記

このトピックで説明されているほとんどの条件キーは Elastic Beanstalk に固有のものであり、その名前には elasticbeanstalk: プレフィックスが含まれています。簡潔にするために、以降のセクションで言及するときは、条件キー名からこのプレフィックスを省略します。たとえば、フルネームの InApplication の代わりに elasticbeanstalk:InApplication を使用します。

対照的に、AWS のサービス全体で使用されるいくつかの条件キーについて言及し、例外を強調するためにそれらの aws: プレフィックスを含めます。

ポリシーの例には、常にプレフィックスを含む完全条件キーの名前が表示されます。

Elastic Beanstalk アクションのポリシーの情報

以下の表は、すべての Elastic Beanstalk アクション、各アクションの対象リソース、および条件によって提供できる追加コンテキスト情報のリストです。

Elastic Beanstalk アクションのポリシーの情報 (リソース、条件、例、依存関係など)
リソース 条件 ステートメント例

アクション:AbortEnvironmentUpdate

application

environment

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、アプリケーション My App の環境に対する更新オペレーションを中止することをユーザーに許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:AbortEnvironmentUpdate" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App" ] } ] }

アクション:CheckDNSAvailability

"*"

該当なし

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:CheckDNSAvailability" ], "Effect": "Allow", "Resource": "*" } ] }

アクション:ComposeEnvironments

application

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、アプリケーション My App に属する環境を構成することをユーザーに許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:ComposeEnvironments" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App" ] } ] }

アクション:CreateApplication

application

aws:RequestTag/key-name – (オプション)

aws:TagKeys – (オプション)

この例では、CreateApplication アクションに対して、DivA で始まる名前のアプリケーションを作成することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:CreateApplication" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/DivA*" ] } ] }

アクション:CreateApplicationVersion

applicationversion

InApplication

aws:RequestTag/key-name – (オプション)

aws:TagKeys – (オプション)

この例では、CreateApplicationVersion アクションに対して、アプリケーション * で任意の名前 (My App) を持つアプリケーションバージョンを作成することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:CreateApplicationVersion" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My App/*" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"] } } } ] }

アクション:CreateConfigurationTemplate

configurationtemplate

InApplication

FromApplication

FromApplicationVersion

FromConfigurationTemplate

FromEnvironment

FromSolutionStack

aws:RequestTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、CreateConfigurationTemplate アクションに対して、アプリケーション My Template で、名前が My Template* (My App) で始まる設定テンプレートを作成することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:CreateConfigurationTemplate" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:configurationtemplate/My App/My Template*" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"], "elasticbeanstalk:FromSolutionStack": ["arn:aws:elasticbeanstalk:us-east-2::solutionstack/32bit Amazon Linux running Tomcat 7"] } } } ] }

アクション:CreateEnvironment

environment

InApplication

FromApplicationVersion

FromConfigurationTemplate

FromSolutionStack

aws:RequestTag/key-name – (オプション)

aws:TagKeys – (オプション)

以下のポリシーでは、CreateEnvironment アクションが、アプリケーション myenvMy App という名前の環境を、ソリューションスタック 32bit Amazon Linux running Tomcat 7 を使用して作成できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:CreateEnvironment" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"], "elasticbeanstalk:FromApplicationVersion": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My App/My Version"], "elasticbeanstalk:FromSolutionStack": ["arn:aws:elasticbeanstalk:us-east-2::solutionstack/32bit Amazon Linux running Tomcat 7"] } } } ] }

アクション:CreatePlatformVersion

platform

aws:RequestTag/key-name – (オプション)

aws:TagKeys – (オプション)

この例では、CreatePlatformVersion アクションに対して、名前が us-east-2 で始まる、us-east-2_ リージョンを対象とするプラットフォームバージョンを作成することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:CreatePlatformVersion" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:platform/us-east-2_*" ] } ] }

アクション:CreateStorageLocation

"*"

該当なし

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:CreateStorageLocation" ], "Effect": "Allow", "Resource": "*" } ] }

アクション:DeleteApplication

application

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、DeleteApplication アクションに対して、アプリケーション My App を削除することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:DeleteApplication" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App" ] } ] }

アクション:DeleteApplicationVersion

applicationversion

InApplication

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、DeleteApplicationVersion アクションに対して、アプリケーション My VersionMy App という名前のアプリケーションバージョンを削除することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:DeleteApplicationVersion" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My App/My Version" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"] } } } ] }

アクション:DeleteConfigurationTemplate

configurationtemplate

InApplication – (オプション)

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

以下のポリシーでは、DeleteConfigurationTemplate アクションが、アプリケーション My TemplateMy App という名前の設定テンプレートを削除できるようにします。アプリケーション名を条件として指定するかどうかはオプションです。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:DeleteConfigurationTemplate" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:configurationtemplate/My App/My Template" ] } ] }

アクション:DeleteEnvironmentConfiguration

environment

InApplication – (オプション)

以下のポリシーでは、DeleteEnvironmentConfiguration アクションが、アプリケーション myenv で環境 My App のドラフト設定を削除できるようにします。アプリケーション名を条件として指定するかどうかはオプションです。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:DeleteEnvironmentConfiguration" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ] } ] }

アクション:DeletePlatformVersion

platform

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

以下のポリシーでは、DeletePlatformVersion アクションに対して、名前が us-east-2 で始まる、us-east-2_ リージョンを対象とするプラットフォームバージョンを削除することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:DeletePlatformVersion" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:platform/us-east-2_*" ] } ] }

アクション:DescribeApplications

application

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、DescribeApplications アクションに対して、アプリケーション My App を説明することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:DescribeApplications" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App" ] } ] }

アクション:DescribeApplicationVersions

applicationversion

InApplication – (オプション)

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

以下のポリシーでは、DescribeApplicationVersions アクションが、アプリケーション My Version でアプリケーションバージョン My App の定義を表示できるようにします。アプリケーション名を条件として指定するかどうかはオプションです。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:DescribeApplicationVersions" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My App/My Version" ] } ] }

アクション:DescribeConfigurationOptions

environment

configurationtemplate

solutionstack

InApplication – (オプション)

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

以下のポリシーでは、DescribeConfigurationOptions アクションが、アプリケーション myenv で環境 My App の設定オプションの定義を表示できるようにします。アプリケーション名を条件として指定するかどうかはオプションです。

{ "Version": "2012-10-17", "Statement": [ { "Action": "elasticbeanstalk:DescribeConfigurationOptions", "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ] } ] }

アクション:DescribeConfigurationSettings

environment

configurationtemplate

InApplication – (オプション)

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

以下のポリシーでは、DescribeConfigurationSettings アクションが、アプリケーション myenv で環境 My App の設定の定義を表示できるようにします。アプリケーション名を条件として指定するかどうかはオプションです。

{ "Version": "2012-10-17", "Statement": [ { "Action": "elasticbeanstalk:DescribeConfigurationSettings", "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ] } ] }

アクション:DescribeEnvironmentHealth

environment

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、DescribeEnvironmentHealth を使用して環境 myenv のヘルス情報を取得することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": "elasticbeanstalk:DescribeEnvironmentHealth", "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ] } ] }

アクション:DescribeEnvironmentResources

environment

InApplication – (オプション)

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

以下のポリシーでは、DescribeEnvironmentResources アクションが、アプリケーション My App で環境 myenv の AWS リソースのリストを返せるようにします。アプリケーション名を条件として指定するかどうかはオプションです。

{ "Version": "2012-10-17", "Statement": [ { "Action": "elasticbeanstalk:DescribeEnvironmentResources", "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ] } ] }

アクション:DescribeEnvironments

environment

InApplication – (オプション)

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

以下のポリシーでは、DescribeEnvironments アクションが、アプリケーション myenv で環境 myotherenvMy App の定義を表示できるようにします。アプリケーション名を条件として指定するかどうかはオプションです。

{ "Version": "2012-10-17", "Statement": [ { "Action": "elasticbeanstalk:DescribeEnvironments", "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv", "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App2/myotherenv" ] } ] }

アクション:DescribeEvents

application

applicationversion

configurationtemplate

environment

InApplication

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、DescribeEvents アクションに対して、アプリケーション myenv の環境 My Version とアプリケーションバージョン My App に関するイベントの説明を一覧表示することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": "elasticbeanstalk:DescribeEvents", "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv", "arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My App/My Version" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"] } } } ] }

アクション:DescribeInstancesHealth

environment

該当なし

以下のポリシーでは、DescribeInstancesHealth を使用して myenv という名前の環境内のインスタンスのヘルス情報を取得できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Action": "elasticbeanstalk:DescribeInstancesHealth", "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ] } ] }

アクション:DescribePlatformVersion

platform

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

以下のポリシーでは、DescribePlatformVersion アクションに対して、名前が us-east-2 で始まる、us-east-2_ リージョンを対象とするプラットフォームバージョンを説明することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:DescribePlatformVersion" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:platform/us-east-2_*" ] } ] }

アクション:ListAvailableSolutionStacks

solutionstack

該当なし

次のポリシーでは、ListAvailableSolutionStacks アクションに対して、ソリューションスタック 32bit Amazon Linux running Tomcat 7 のみを返すことを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:ListAvailableSolutionStacks" ], "Effect": "Allow", "Resource": "arn:aws:elasticbeanstalk:us-east-2::solutionstack/32bit Amazon Linux running Tomcat 7" } ] }

アクション:ListPlatformVersions

platform

aws:RequestTag/key-name – (オプション)

aws:TagKeys – (オプション)

この例では、CreatePlatformVersion アクションに対して、名前が us-east-2 で始まる、us-east-2_ リージョンを対象とするプラットフォームバージョンを作成することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:ListPlatformVersions" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:platform/us-east-2_*" ] } ] }

アクション:ListTagsForResource

application

applicationversion

configurationtemplate

environment

platform

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、値が ListTagsForResource のタグ stage がある場合にのみ、既存のリソースのタグを一覧表示することを test アクションに許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:ListTagsForResource" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/stage": ["test"] } } } ] }

アクション:RebuildEnvironment

environment

InApplication

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、RebuildEnvironment アクションに対して、アプリケーション myenv の環境 My App を再構築することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:RebuildEnvironment" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"] } } } ] }

アクション:RequestEnvironmentInfo

environment

InApplication

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、RequestEnvironmentInfo アクションに対して、アプリケーション myenv の環境 My App に関する情報をコンパイルすることを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:RequestEnvironmentInfo" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"] } } } ] }

アクション:RestartAppServer

environment

InApplication

以下のポリシーでは、RestartAppServer アクションが、アプリケーション myenv で環境 My App のアプリケーションコンテナサーバーを再起動できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:RestartAppServer" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"] } } } ] }

アクション:RetrieveEnvironmentInfo

environment

InApplication

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、RetrieveEnvironmentInfo アクションに対して、アプリケーション myenv の環境 My App に関するコンパイル済み情報を取得することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:RetrieveEnvironmentInfo" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"] } } } ] }

アクション:SwapEnvironmentCNAMEs

environment

InApplication – (オプション)

FromEnvironment – (オプション)

以下のポリシーでは、SwapEnvironmentCNAMEs アクションが、環境 mysrcenvmydestenv の CNAME を交換できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:SwapEnvironmentCNAMEs" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/mysrcenv", "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/mydestenv" ] } ] }

アクション:TerminateEnvironment

environment

InApplication

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

以下のポリシーでは、TerminateEnvironment アクションが、アプリケーション myenv で環境 My App を削除できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:TerminateEnvironment" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"] } } } ] }

アクション: UpdateApplication

application

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、UpdateApplication アクションに対して、アプリケーション My App のプロパティを更新することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:UpdateApplication" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App" ] } ] }

アクション: UpdateApplicationResourceLifecycle

application

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、 UpdateApplicationResourceLifecycle アクションに対して、アプリケーション My App のライフサイクル設定を更新することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:UpdateApplicationResourceLifecycle" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App" ] } ] }

アクション:UpdateApplicationVersion

applicationversion

InApplication

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、UpdateApplicationVersion アクションに対して、アプリケーション My Version のアプリケーションバージョン My App のプロパティを更新することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:UpdateApplicationVersion" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My App/My Version" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"] } } } ] }

アクション:UpdateConfigurationTemplate

configurationtemplate

InApplication

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、UpdateConfigurationTemplate アクションに対して、アプリケーション My Template で設定テンプレート My App のプロパティまたはオプションを更新することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:UpdateConfigurationTemplate" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:configurationtemplate/My App/My Template" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"] } } } ] }

アクション:UpdateEnvironment

environment

InApplication

FromApplicationVersion

FromConfigurationTemplate

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

以下のポリシーでは、アプリケーションバージョン UpdateEnvironment をデプロイすることにより、myenv アクションが、アプリケーション My App で環境 My Version を更新できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:UpdateEnvironment" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"], "elasticbeanstalk:FromApplicationVersion": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My App/My Version"] } } } ] }

アクション: UpdateTagsForResourceAddTags

application

applicationversion

configurationtemplate

environment

platform

aws:ResourceTag/key-name – (オプション)

aws:RequestTag/key-name – (オプション)

aws:TagKeys – (オプション)

AddTags アクションは、UpdateTagsForResource API に関連付けられた 2 つの仮想アクションのうちの 1 つです。

次のポリシーでは、値が AddTags のタグ stage がある場合にのみ、既存のリソースのタグを変更することを test アクションに許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:AddTags" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/stage": ["test"] } } } ] }

アクション: UpdateTagsForResourceRemoveTags

application

applicationversion

configurationtemplate

environment

platform

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

RemoveTags アクションは、UpdateTagsForResource API に関連付けられた 2 つの仮想アクションのうちの 1 つです。

次のポリシーでは、既存の環境からタグ RemoveTags の削除をリクエストすることを stage アクションに拒否します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:RemoveTags" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": ["stage"] } } } ] }

アクション:ValidateConfigurationSettings

template

environment

InApplication

aws:ResourceTag/key-name – (オプション)

aws:TagKeys – (オプション)

次のポリシーでは、ValidateConfigurationSettings アクションに対して、アプリケーション myenv の環境 My App の設定を検証することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:ValidateConfigurationSettings" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"] } } } ] }

Elastic Beanstalk アクションの条件キー

キーを使用すると、依存関係を表す条件を指定したり、許可を制限したり、アクションの入力パラメータに対する制約を指定したりできます。Elastic Beanstalk は、以下のキーをサポートしています。

InApplication

アクションの実行対象のリソースが含まれるアプリケーションを指定します。

次の例では、UpdateApplicationVersion アクションが、アプリケーションバージョン My Version のプロパティを更新できるようにします。InApplication 条件は、My AppMy Version のコンテナとして指定します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:UpdateApplicationVersion" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My App/My Version" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"] } } } ] }
FromApplicationVersion

アプリケーションバージョンを、入力パラメータで依存関係または制約として指定します。

次の例では、UpdateEnvironment アクションが、アプリケーション myenv で環境 My App を更新できるようにします。FromApplicationVersion 条件は VersionLabel パラメータを制限して、アプリケーションバージョン My Version しか環境を更新できないようにします。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:UpdateEnvironment" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"], "elasticbeanstalk:FromApplicationVersion": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My App/My Version"] } } } ] }
FromConfigurationTemplate

設定テンプレートを、入力パラメータで依存関係または制約として指定します。

次の例では、UpdateEnvironment アクションが、アプリケーション myenv で環境 My App を更新できるようにします。FromConfigurationTemplate 条件は TemplateName パラメータを制限して、設定テンプレート My Template しか環境を更新できないようにします。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:UpdateEnvironment" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/myenv" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"], "elasticbeanstalk:FromConfigurationTemplate": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:configurationtemplate/My App/My Template"] } } } ] }
FromEnvironment

環境を、入力パラメータで依存関係または制約として指定します。

次の例を使用すると、名前が SwapEnvironmentCNAMEs および My App で始まるすべての環境の mysrcenv で、mydestenv アクションが CNAME を交換できます。ただし、名前が mysrcenvPROD*mydestenvPROD* で始まる環境は除きます。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:SwapEnvironmentCNAMEs" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/mysrcenv*", "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/mydestenv*" ], "Condition": { "StringNotLike": { "elasticbeanstalk:FromEnvironment": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/mysrcenvPROD*", "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My App/mydestenvPROD*" ] } } } ] }
FromSolutionStack

ソリューションスタックを、入力パラメータで依存関係または制約として指定します。

以下のポリシーでは、CreateConfigurationTemplate アクションが、アプリケーション My Template で、名前が My Template* (My App) で始まる設定テンプレートを作成できるようにします。FromSolutionStack 条件は、ソリューションスタック solutionstack のみをそのパラメータの入力値として許可するように 32bit Amazon Linux running Tomcat 7 パラメータを制限します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "elasticbeanstalk:CreateConfigurationTemplate" ], "Effect": "Allow", "Resource": [ "arn:aws:elasticbeanstalk:us-east-2:123456789012:configurationtemplate/My App/My Template*" ], "Condition": { "StringEquals": { "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My App"], "elasticbeanstalk:FromSolutionStack": ["arn:aws:elasticbeanstalk:us-east-2::solutionstack/32bit Amazon Linux running Tomcat 7"] } } } ] }
aws:ResourceTag/key-name
aws:RequestTag/key-name
aws:TagKeys

タグベースの条件を指定します。詳細については、「タグを使用した Elastic Beanstalk リソースへのアクセスのコントロール」を参照してください。