

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

# 환경 간 Amazon S3 버킷 액세스 방지
<a name="AWSHowTo.iam.cross-env-s3-access"></a>

이 주제에서는 관리형 정책이 환경 간 S3 버킷 액세스를 허용하는 방법과 이러한 유형의 액세스를 관리하기 위해 사용자 지정 정책을 생성하는 방법을 설명합니다.

Elastic Beanstalk는 AWS 계정의 Elastic Beanstalk 환경에 필요한 AWS 리소스를 처리하기 위한 관리형 정책을 제공합니다. 계정의 한 애플리케이션에 기본적으로 제공되는 권한은 동일한 AWS 계정의 다른 애플리케이션에 속하는 S3 리소스에 액세스할 수 AWS 있습니다.

 AWS 계정이 여러 Beanstalk 애플리케이션을 실행하는 경우 각 환경의 고유한 [서비스 역할](iam-servicerole.md#iam-servicerole-create) 또는 [인스턴스 프로파일](iam-instanceprofile.md#iam-instanceprofile-create)에 연결할 사용자 [지정 정책을](AWSHowTo.iam.managed-policies.md#AWSHowTo.iam.policies) 생성하여 정책의 보안 범위를 좁힐 수 있습니다. 그런 다음 사용자 지정 정책의 S3 권한을 특정 환경으로 제한할 수 있습니다.

**참고**  
사용자 지정 정책을 유지할 책임은 사용자에게 있다는 점에 유의하세요. 사용자 지정 정책의 기반이 되는 Elastic Beanstalk 관리형 정책이 변경되는 경우 기본 정책의 각 변경 사항을 사용하여 사용자 지정 정책을 수정해야 합니다. Elastic Beanstalk 관리형 정책의 변경 기록은 [AWS 관리형 정책에 대한 Elastic Beanstalk 업데이트](security-iam-awsmanpol.md#security-iam-awsmanpol-updates) 단원을 참조하세요.

## 범위 축소 권한의 예제
<a name="AWSHowTo.iam.cross-env-s3-access.example-env-ID"></a>

다음 예제는 [AWSElasticBeanstalkWebTier](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSElasticBeanstalkWebTier.html) 관리형 정책을 기반으로 합니다.

기본 정책에는 S3 버킷 권한에 대한 다음 줄이 포함됩니다. 이 기본 정책은 S3 버킷 작업을 특정 환경 또는 애플리케이션으로 제한하지 않습니다.

```
{
   "Sid" : "BucketAccess", 
   "Action" : [ 
      "s3:Get*",
      "s3:List*", 
      "s3:PutObject"
     ], 
   "Effect" : "Allow",
   "Resource" : [ 
      "arn:aws:s3:::elasticbeanstalk-*", 
      "arn:aws:s3:::elasticbeanstalk-*/*" 
     ] 
}
```

특정 리소스를 `Principal`로 지정된 서비스 역할로 검증하여 액세스 범위를 좁힐 수 있습니다. 다음 예제에서는 ID가 `my-example-env-ID`인 환경의 S3 버킷에 대한 사용자 지정 서비스 역할 `aws-elasticbeanstalk-ec2-role-my-example-env` 권한을 제공합니다.

**Example 특정 환경의 S3 버킷에만 권한 부여**  

```
{
   "Sid": "BucketAccess",
   "Action": [
      "s3:Get*",
      "s3:List*",
      "s3:PutObject"
    ],
   "Effect": "Allow",
   "Principal": {
      "AWS": "arn:aws:iam::...:role/aws-elasticbeanstalk-ec2-role-my-example-env"
     },
   "Resource": [
      "arn:aws:s3:::elasticbeanstalk-my-region-account-id-12345",
      "arn:aws:s3:::elasticbeanstalk-my-region-account-id-12345/resources/environments/my-example-env-ID/*"
    ]
}
```

**참고**  
리소스 ARN에는 Elastic Beanstalk 환경 ID(환경 이름 아님)가 포함되어야 합니다. [환경 개요](environments-dashboard.md) 페이지의 Elastic Beanstalk 콘솔에서 환경 ID를 가져올 수 있습니다. AWS CLI [ describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) 명령을 사용하여이 정보를 얻을 수도 있습니다.

Elastic Beanstalk 환경에 대한 S3 버킷 권한을 업데이트하는 데 도움이 되는 자세한 내용은 다음 리소스를 참조하세요.
+ 이 가이드의 [Amazon S3에서 Elastic Beanstalk 사용](AWSHowTo.S3.md)
+ *서비스 승인 참조* 가이드의 [Amazon S3에서 정의한 리소스 유형](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-resources-for-iam-policies)
+ *IAM 사용 설명서*의 [ARN 형식](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)