관리형 정책에 기반한 정책 예제 - AWS Elastic Beanstalk

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

관리형 정책에 기반한 정책 예제

이 단원에서는 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

  • 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" : "*" } ] }