AWS Elastic Beanstalk
開発者ガイド

Elastic Beanstalk ユーザーポリシー

ルートアカウントの使用や認証情報の共有を回避するには、Elastic Beanstalk を使用する各人物に対して IAM ユーザーを作成します。セキュリティ強化のため、これらのユーザーに付与するアクセス権限はサービスと機能に限定してください。

Elastic Beanstalk では、独自の API アクションに対してだけでなく、他のいくつかの AWS サービスに対しても、アクセス許可が必要です。Elastic Beanstalk は、EC2 インスタンス、Elastic Load Balancing ロードバランサー、Auto Scaling グループなど、環境内のすべてのリソースを起動するためにユーザーのアクセス許可を使用します。Elastic Beanstalk は、Amazon Simple Storage Service (Amazon S3) へのログおよびテンプレートの保存、Amazon SNS への通知の送信、インスタンスプロファイルの割り当て、CloudWatch へのメトリクスの発行にもユーザーのアクセス許可を使用します。Elastic Beanstalk がリソースのデプロイと更新を調整するには、AWS CloudFormation アクセス許可が必要です。また、必要に応じてデータベースを作成するには Amazon RDS アクセス許可が必要であり、ワーカー環境のキューを作成するには Amazon SQS アクセス許可が必要です。

以下のポリシーは、Elastic Beanstalk 環境を作成および管理するためのアクセス権限を付与します。このポリシーは AWSElasticBeanstalkFullAccess という名前の管理ポリシーとして IAM コンソールで使用できます。Elastic Beanstalk を使用するためのアクセス権限を付与する管理ポリシーを IAM ユーザーまたはグループに適用できます。または、ユーザーに不要なアクセス権限を除外した独自のポリシーを作成することもできます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticbeanstalk:*", "ec2:*", "ecs:*", "ecr:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "cloudformation:*", "dynamodb:*", "rds:*", "sqs:*", "logs:*", "iam:GetPolicyVersion", "iam:GetRole", "iam:PassRole", "iam:ListRolePolicies", "iam:ListAttachedRolePolicies", "iam:ListInstanceProfiles", "iam:ListRoles", "iam:ListServerCertificates", "acm:DescribeCertificate", "acm:ListCertificates", "codebuild:CreateProject", "codebuild:DeleteProject", "codebuild:BatchGetBuilds", "codebuild:StartBuild" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:AddRoleToInstanceProfile", "iam:CreateInstanceProfile", "iam:CreateRole" ], "Resource": [ "arn:aws:iam::*:role/aws-elasticbeanstalk*", "arn:aws:iam::*:instance-profile/aws-elasticbeanstalk*" ] }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling*" ], "Condition": { "StringLike": { "iam:AWSServiceName": "autoscaling.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/elasticbeanstalk.amazonaws.com/AWSServiceRoleForElasticBeanstalk*" ], "Condition": { "StringLike": { "iam:AWSServiceName": "elasticbeanstalk.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy" ], "Resource": "*", "Condition": { "StringLike": { "iam:PolicyArn": [ "arn:aws:iam::aws:policy/AWSElasticBeanstalk*", "arn:aws:iam::aws:policy/service-role/AWSElasticBeanstalk*" ] } } } ] }

Elastic Beanstalk には、AWSElasticBeanstalkReadOnlyAccess という名前の読み取り専用の管理ポリシーも用意されています。このポリシーは、ユーザーに Elastic Beanstalk 環境の表示を許可しますが、変更または作成は許可しません。

ユーザーポリシーの詳細については、Elastic Beanstalk へのアクセスの制御を参照してください。