メニュー
AWS Elastic Beanstalk
開発者ガイド (API Version 2010-12-01)

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

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

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

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

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

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

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

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

リソース 条件 ステートメント例

アクション: AbortEnvironmentUpdate

application

environment

該当なし

以下のポリシーでは、ユーザーが My App という名前のアプリケーションに属する環境の更新オペレーションを中止できるようにします。

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

アクション: CheckDNSAvailability

"*"

該当なし

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

アクション: ComposeEnvironments

application

該当なし

以下のポリシーでは、ユーザーが My App という名前のアプリケーションに属する環境を構成できるようにします。

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

アクション: CreateApplication

application

該当なし

この例では、CreateApplication アクションが、DivA で始まる名前のアプリケーションを作成できるようにします。

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

アクション: CreateApplicationVersion

applicationversion

InApplication

この例では、CreateApplicationVersion アクションが、アプリケーション My App で任意の名前(*)のアプリケーションバージョンを作成できるようにします。

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

アクション: CreateConfigurationTemplate

configurationtemplate

InApplication

FromApplication

FromApplicationVersion

FromConfigurationTemplate

FromEnvironment

FromSolutionStack

以下のポリシーでは、CreateConfigurationTemplate アクションが、アプリケーション My App で、名前が My TemplateMy Template*)で始まる設定テンプレートを作成できるようにします。

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

アクション: CreateEnvironment

environment

InApplication

FromApplicationVersion

FromConfigurationTemplate

FromSolutionStack

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

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

アクション: CreateStorageLocation

"*"

該当なし

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

アクション: DeleteApplication

application

該当なし

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

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

アクション: DeleteApplicationVersion

applicationversion

InApplication

以下のポリシーでは、DeleteApplicationVersion アクションが、アプリケーション My AppMy Version という名前のアプリケーションバージョンを削除できるようにします。

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

アクション: DeleteConfigurationTemplate

configurationtemplate

InApplication(オプション)

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

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

アクション: DeleteEnvironmentConfiguration

environment

InApplication(オプション)

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

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

アクション: DescribeApplications

application

該当なし

以下のポリシーでは、DescribeApplications アクションが、アプリケーション My App の定義を表示できるようにします。

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

アクション: DescribeApplicationVersions

applicationversion

InApplication(オプション)

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

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

アクション: DescribeConfigurationOptions

environment

configurationtemplate

solutionstack

InApplication(オプション)

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

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

アクション: DescribeConfigurationSettings

environment, configurationtemplate

InApplication(オプション)

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

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

アクション: DescribeEnvironmentHealth

environment

該当なし

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

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

アクション: DescribeEnvironmentResources

environment

InApplication(オプション)

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

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

アクション: DescribeEnvironments

environment

InApplication(オプション)

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

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

アクション: DescribeEvents

application

configurationtemplate

environment

InApplication

以下のポリシーでは、DescribeEvents アクションが、アプリケーション My App で環境 myenv とアプリケーションバージョン My Version のイベント定義のリストを返せるようにします。

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

アクション: DescribeInstancesHealth

environment

該当なし

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

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

アクション: ListAvailableSolutionStacks

solutionstack

該当なし

以下のポリシーでは、ListAvailableSolutionStacks アクションが、ソリューションスタック 32bit Amazon Linux running Tomcat 7 のみを返せるようにします。

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

アクション: RebuildEnvironment

environment

InApplication

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

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

アクション: RequestEnvironmentInfo

environment

InApplication

以下のポリシーでは、RequestEnvironmentInfo アクションが、アプリケーション My App で環境 myenv に関する情報をコンパイルできるようにします。

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

アクション: RestartAppServer

environment

InApplication

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

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

アクション: RetrieveEnvironmentInfo

environment

InApplication

以下のポリシーでは、RetrieveEnvironmentInfo アクションが、アプリケーション My App で環境 myenv のコンパイルされた情報を取得できるようにします。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "elasticbeanstalk:RetrieveEnvironmentInfo"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:elasticbeanstalk:us-west-2:123456789012:environment/My App/myenv"
      ],
      "Condition": {
        "StringEquals": {
          "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-west-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-west-2:123456789012:environment/My App/mysrcenv",
        "arn:aws:elasticbeanstalk:us-west-2:123456789012:environment/My App/mydestenv"
      ]
    }
  ]
}

アクション: TerminateEnvironment

environment

InApplication

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

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

アクション: UpdateApplication

application

該当なし

以下のポリシーでは、UpdateApplication アクションが、アプリケーション My App のプロパティを更新できるようにします。

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

アクション: UpdateApplicationVersion

applicationversion

InApplication

以下のポリシーでは、UpdateApplicationVersion アクションが、アプリケーション My App でアプリケーションバージョン My Version のプロパティを更新できるようにします。

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

アクション: UpdateConfigurationTemplate

configurationtemplate

InApplication

以下のポリシーでは、UpdateConfigurationTemplate アクションが、アプリケーション My App で設定テンプレート My Template のプロパティまたはオプションを更新できるようにします。

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

アクション: UpdateEnvironment

environment

InApplication

FromApplicationVersion

FromConfigurationTemplate

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

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

アクション: ValidateConfigurationSettings

template

environment

InApplication

以下のポリシーでは、ValidateConfigurationSettings アクションが、アプリケーション My App で構成設定を環境 myenv に対して検証できるようにします。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "elasticbeanstalk:ValidateConfigurationSettings"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:elasticbeanstalk:us-west-2:123456789012:environment/My App/myenv"
      ],
      "Condition": {
        "StringEquals": {
          "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-west-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-west-2:123456789012:applicationversion/My App/My Version"
      ],
      "Condition": {
        "StringEquals": {
          "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-west-2:123456789012:application/My App"]
        }
      }
    }
  ]
}
FromApplicationVersion

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

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

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

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

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

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

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

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

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

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

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

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