기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
관리형 정책에 기반한 정책 예제
이 단원에서는 AWS Elastic Beanstalk에 대한 사용자 액세스를 제어하는 방법을 다루고, 일반적인 시나리오에 대한 필수 액세스를 제공하는 정책 예제가 나와 있습니다. 이 정책은 Elastic Beanstalk 관리형 정책에서 파생되었습니다. 관리형 정책을 사용자 및 그룹에 연결하는 자세한 내용은 Elastic Beanstalk 사용자 정책 관리을 참조하십시오.
이 시나리오에서 Example Corp.은 회사 웹 사이트를 담당하는 세 팀(인프라를 관리하는 관리자, 웹사이트용 소프트웨어를 구축하는 개발자, 웹 사이트를 테스트하는 QA 팀)으로 구성된 소프트웨어 회사입니다. Elastic Beanstalk 리소스에 대한 권한 관리를 지원하기 위해 Example Corp.은 해당되는 각 팀(관리자, 개발자, 테스터)의 구성원이 소속된 세 그룹을 만듭니다. 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(S3)
-
Amazon Simple Notification Service
-
Amazon Relational Database Service
-
AWS CloudFormation
이 정책은 예입니다. Elastic Beanstalk가 애플리케이션과 환경을 관리하는 데 사용하는 AWS 서비스에 대한 광범위한 권한을 부여합니다. 예를 들어, AWS Identity and Access Management(IAM) 사용자는 ec2:*
을(를) 사용하여 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 제품에 대한 광범위한 권한을 부여합니다. 예를 들어, IAM 사용자는 ec2:*
을(를) 사용하여 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" : "*"
}
]
}