本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
以受管政策為基礎的範例政策
此章節說明如何控制使用者存取 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" : "*"
}
]
}