

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

# 교차 계정 버킷 액세스
<a name="S3-buckets-cross-account-access"></a>

RES는 버킷에 적절한 권한이 있는 경우 다른 AWS 계정에서 버킷을 탑재할 수 있습니다. 다음 시나리오에서 계정 A의 RES 환경은 계정 B에 S3 버킷을 탑재하려고 합니다.

**1단계: RES가 배포된 계정에 IAM 역할을 생성합니다*(이를 계정 A라고 함).***

1. S3 버킷(계정 A)에 액세스해야 하는 RES 계정의 AWS Management Console에 로그인합니다.

1. IAM 콘솔을 엽니다.

   1. IAM 대시보드로 이동합니다.

   1. 탐색 창에서 **Policies**를 선택합니다.

1. 정책 생성: 

   1. **정책 생성**을 선택합니다.

   1. **JSON** 탭을 선택합니다.

   1. 다음 JSON 정책을 붙여 넣습니다(을 계정 B에 있는 S3 버킷의 `amzn-s3-demo-bucket` 이름으로 바꿉니다).

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:ListBucket",
                      "s3:DeleteObject",
                      "s3:AbortMultipartUpload"
                  ],
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-bucket",
                      "arn:aws:s3:::amzn-s3-demo-bucket/*"
                  ]
              }
          ]
      }
      ```

------

   1. **다음**을 선택합니다.

1. 정책을 검토하고 생성합니다.

   1. 정책의 이름을 입력합니다(예: "S3AccessPolicy").

   1. 정책의 목적을 설명하는 선택적 설명을 추가합니다.

   1. 정책을 검토하고 **정책 생성을** 선택합니다.

1. IAM 콘솔을 엽니다.

   1. IAM 대시보드로 이동합니다.

   1. 탐색 창에서 **역할**을 선택합니다.

1. 역할 생성:

   1. **역할 생성**을 선택합니다.

   1. 신뢰할 수 있는 엔터티 유형으로 **사용자 지정 신뢰 정책을** 선택합니다.

   1. 다음 JSON 정책을 붙여 넣습니다(을 계정 A의 `111122223333` 실제 계정 ID`{RES_ENVIRONMENT_NAME}`로 바꾸고를 RES 배포의 환경 이름으로 바꿉니다.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/<ENVIRONMENT_NAME>-vdc-custom-credential-broker-lambda-role"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

   1. **다음**을 선택합니다.

1. 권한 정책 연결:

   1. 이전에 생성한 정책을 검색하고 선택합니다.

   1. **다음**을 선택합니다.

1. 역할에 태그 지정, 검토 및 생성: 

   1. 역할 이름(예: "S3AccessRole")을 입력합니다.

   1. 3단계에서 **태그 추가**를 선택한 다음 다음 키와 값을 입력합니다.
      + 키: `res:Resource` 
      + 값: `s3-bucket-iam-role` 

   1. 역할을 검토하고 **역할 생성을** 선택합니다.

1. RES에서 IAM 역할 사용:

   1. 생성한 IAM 역할 ARN을 복사합니다.

   1. RES 콘솔에 로그인합니다.

   1. 왼쪽 탐색 창에서 **S3 버킷**을 선택합니다.

   1. **버킷 추가**를 선택하고 교차 계정 S3 버킷 ARN으로 양식을 작성합니다.

   1. **고급 설정 - 선택 사항** 드롭다운을 선택합니다.

   1. IAM 역할 ARN 필드에 역할 ARN을 입력합니다.

   1. **버킷 추가를** 선택합니다.

**2단계: 계정 B에서 버킷 정책 수정**

1. 계정 B의 AWS Management Console에 로그인합니다.

1. S3 콘솔을 엽니다.

   1. S3 대시보드로 이동합니다.

   1. 액세스 권한을 부여할 버킷을 선택합니다.

1. 버킷 정책을 편집합니다.

   1. **권한** 탭을 선택하고 **버킷 정책을** 선택합니다.

   1. 다음 정책을 추가하여 계정 A의 IAM 역할에 버킷에 대한 액세스 권한을 부여합니다(*111122223333*을 계정 A의 실제 계정 ID로 바꾸고 *amzn-s3-demo-bucket*을 S3 버킷 이름으로 바꿉니다).

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/S3AccessRole"
                  },
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:ListBucket",
                      "s3:DeleteObject",
                      "s3:AbortMultipartUpload"
                  ],
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-bucket",
                      "arn:aws:s3:::amzn-s3-demo-bucket/*"
                  ]
              }
          ]
      }
      ```

------

   1. **저장**을 선택합니다.