以受管政策為基礎的範例政策 - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

以受管政策為基礎的範例政策

此章節說明如何控制使用者存取 AWS Elastic Beanstalk,其中的範例政策提供常用案例的必要存取。這些政策衍生自 Elastic Beanstalk 受管政策。如需有關將受管政策連結至使用者和群組的資訊,請參閱 管理 Elastic Beanstalk 使用者政策

在此案例中,軟體公司 Example Corp. 擁有三個負責公司網站的團隊:管理基礎設施的管理員、建置網站軟體的開發人員,以及測試網站的 QA 團隊。為了協助管理 Elastic Beanstalk 資源的許可,Example Corp. 建立三個群組,其中各團隊的成員分屬以下各群組:管理員、開發人員和測試人員。Example Corp. 希望管理員群組擁有所有應用程式、環境及其基礎資源的完整存取能力,讓他們能夠建立、故障診斷或刪除所有 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" : "*" } ] }