翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
このセクションでは、AWS Elastic Beanstalk へのユーザーアクセスを制御する方法を説明し、一般的なシナリオで必要なアクセスを付与するポリシーの例を示します。これらのポリシーは、Elastic Beanstalk 管理ポリシーから派生しています。ユーザーまたはグループに管理ポリシーをアタッチする方法については、「Elastic Beanstalk ユーザーポリシーの管理」を参照してください。
このシナリオでは、Example Corp. というソフトウェア会社の 3 つのチームが自社ウェブサイト関連の作業に携わっています。インフラストラクチャを管理する管理者チーム、ウェブサイト向けソフトウェアを開発する開発者チーム、そしてウェブサイトをテストする QA チームです。Elastic Beanstalk リソースに対するアクセス許可を管理しやすいように、Example Corp. では、Admins、Developers、Testers の 3 つグループを作成し、各チームのメンバーを追加します。Example Corp. は、Admins グループがすべての Elastic Beanstalk アセットの作成、トラブルシューティング、削除を行えるように、すべてのアプリケーション、環境、およびそれらの基盤となるリソースへのフルアクセスを許可したいと考えています。開発者には、すべての Elastic Beanstalk アセットの表示、およびアプリケーションバージョンの作成とデプロイを許可する必要があります。開発者がアプリケーションまたは環境を新規作成したり、実行中の環境を終了したりできないようにします。テスターは、アプリケーションをモニタリングおよびテストするために、すべての Elastic Beanstalk リソースを表示する必要があります。テスターは、Elastic Beanstalk リソースに変更を加えることができないようにする必要があります。
次のポリシーの例では、各グループに必要なアクセス権限を付与しています。
例 1: 管理者グループ - すべての Elastic Beanstalk および関連するサービス API
以下のポリシーにより、Elastic Beanstalk の使用に必要なすべてのアクションに対するアクセス許可がユーザーに付与されます。このポリシーでは、以下のサービスで Elastic Beanstalk がユーザーに代わってリソースのプロビジョニングと管理を行うことを許可しています。Elastic Beanstalk は、環境を作成するときに、これらの追加サービスに依存して基盤となるリソースをプロビジョニングします。
-
Amazon Elastic Compute Cloud
-
Elastic Load Balancing
-
Auto Scaling
-
Amazon CloudWatch
-
Amazon Simple Storage Service
-
Amazon Simple Notification Service
-
Amazon Relational Database Service
-
AWS CloudFormation
このポリシーは例です。これにより、Elastic Beanstalk がアプリケーションと環境を管理するのに使用する AWS のサービスに、広範なアクセス許可のセットが付与されます。例えば、ec2:*
を使用すると、AWS Identity and Access Management (IAM) ユーザーは AWS アカウントで、すべての Amazon EC2 リソースに対してどんなアクションでも実行できます。これらのアクセス許可は、Elastic Beanstalk で使用するリソースに限定されません。ベストプラクティスとして、職務遂行に必要な許可のみを個人に付与することをお勧めします。
{
"Version" : "2012-10-17",
"Statement" : [
{
"Effect" : "Allow",
"Action" : [
"elasticbeanstalk:*",
"ec2:*",
"elasticloadbalancing:*",
"autoscaling:*",
"cloudwatch:*",
"s3:*",
"sns:*",
"rds:*",
"cloudformation:*"
],
"Resource" : "*"
}
]
}
例 2: 開発者グループ - 高い特権のオペレーションを除くすべてのオペレーション。
以下のポリシーでは、アプリケーションと環境を作成するアクセス許可を拒否し、それ以外の Elastic Beanstalk アクションをすべて許可します。
このポリシーは例です。これにより、Elastic Beanstalk がアプリケーションと環境を管理するのに 使用する AWS 製品に、広範なアクセス許可のセットが付与されます。例えば、ec2:*
を使用すると、IAM ユーザーが AWS アカウントで、すべての Amazon EC2 リソースに対してどんなアクションでも実行できます。これらのアクセス許可は、Elastic Beanstalk で使用するリソースに限定されません。ベストプラクティスとして、職務遂行に必要な許可のみを個人に付与することをお勧めします。
{
"Version" : "2012-10-17",
"Statement" : [
{
"Action" : [
"elasticbeanstalk:CreateApplication",
"elasticbeanstalk:CreateEnvironment",
"elasticbeanstalk:DeleteApplication",
"elasticbeanstalk:RebuildEnvironment",
"elasticbeanstalk:SwapEnvironmentCNAMEs",
"elasticbeanstalk:TerminateEnvironment"],
"Effect" : "Deny",
"Resource" : "*"
},
{
"Action" : [
"elasticbeanstalk:*",
"ec2:*",
"elasticloadbalancing:*",
"autoscaling:*",
"cloudwatch:*",
"s3:*",
"sns:*",
"rds:*",
"cloudformation:*"],
"Effect" : "Allow",
"Resource" : "*"
}
]
}
例 3: テスター - 表示のみ
次のポリシーは、すべてのアプリケーション、アプリケーションバージョン、イベント、および環境に対して読み取り専用アクセスを許可します。任意のアクションを実行することはできません。
{
"Version" : "2012-10-17",
"Statement" : [
{
"Effect" : "Allow",
"Action" : [
"elasticbeanstalk:Check*",
"elasticbeanstalk:Describe*",
"elasticbeanstalk:List*",
"elasticbeanstalk:RequestEnvironmentInfo",
"elasticbeanstalk:RetrieveEnvironmentInfo",
"ec2:Describe*",
"elasticloadbalancing:Describe*",
"autoscaling:Describe*",
"cloudwatch:Describe*",
"cloudwatch:List*",
"cloudwatch:Get*",
"s3:Get*",
"s3:List*",
"sns:Get*",
"sns:List*",
"rds:Describe*",
"cloudformation:Describe*",
"cloudformation:Get*",
"cloudformation:List*",
"cloudformation:Validate*",
"cloudformation:Estimate*"
],
"Resource" : "*"
}
]
}