A business is constructing a file-sharing application that will be stored in an Amazon S3 bucket. The firm want to distribute all files using Amazon CloudFront. The firm does not want for the files to be available directly via the S3 URL.
What actions should a solutions architect take to ensure that these criteria are met?
- A. Write individual policies for each S3 bucket to grant read permission for only CloudFront access.
- B. Create an IAM user. Grant the user read permission to objects in the S3 bucket. Assign the user to CloudFront.
- C. Write an S3 bucket policy that assigns the CloudFront distribution ID as the Principal and assigns the target S3 bucket as the Amazon Resource Name (ARN).
- D. Create an origin access identity (OAI). Assign the OAI to the CloudFront distribution. Configure the S3 bucket permissions so that only the OAI has read permission.
한글 번역
한 기업이 Amazon S3 버킷에 저장될 파일 공유 애플리케이션을 구축하고 있습니다. 회사는 Amazon CloudFront를 사용하여 모든 파일을 배포하려고 합니다. 회사는 파일이 S3 URL을 통해 직접 사용 가능한 것을 원하지 않습니다.
솔루션 설계자는 이러한 기준을 충족하기 위해 어떤 조치를 취해야 합니까?
- A. 각 S3 버킷에 대한 개별 정책을 작성하여 CloudFront 액세스에 대해서만 읽기 권한을 부여합니다.
- B. IAM 사용자를 생성합니다. 사용자에게 S3 버킷의 객체에 대한 읽기 권한을 부여합니다. 사용자를 CloudFront에 할당합니다.
- C. CloudFront 배포 ID를 보안 주체로 할당하고 대상 S3 버킷을 Amazon 리소스 이름(ARN)으로 할당하는 S3 버킷 정책을 작성합니다.
- D. 원본 액세스 ID(OAI)를 생성합니다. CloudFront 배포에 OAI를 할당합니다. OAI만 읽기 권한을 갖도록 S3 버킷 권한을 구성합니다.
정답
- D. Create an origin access identity (OAI). Assign the OAI to the CloudFront distribution. Configure the S3 bucket permissions so that only the OAI has read permission.
해설
CloudFront 배포를 사용하여 Amazon S3 버킷에 대한 액세스를 제한하려면 어떻게 해야 합니까?
최종 업데이트 날짜: 2021년 9월 15일
해결 방법
중요: 시작하기 전에 CloudFront 배포의 Amazon S3 원본이 REST API 엔드포인트(AWSDOC-EXAMPLE-BUCKET.s3.amazonaws.com)로 구성되었는지 확인하십시오. 이 해결 방법은 웹 사이트 엔드포인트(AWSDOC-EXAMPLE-BUCKET.s3-website-us-east-1.amazonaws.com)로 구성된 S3 원본에는 적용되지 않습니다.
CloudFront 원본 액세스 ID(OAI) 생성
1. CloudFront 콘솔을 엽니다.
2. 배포 목록에서 액세스를 제한하려는 S3 버킷의 콘텐츠를 서비스하는 배포를 선택합니다.
3. [오리진(Origins)] 탭을 선택합니다.
4. S3 원본을 선택하고 [Edit]를 선택합니다.
5. S3 버킷 액세스에서 예, OAI 사용(Yes use OAI)(버킷은 액세스를 CloudFront로만 제한 가능)을 선택합니다.
6. 원본 액세스 ID의 경우 드롭다운 목록에서 기존 ID를 선택하거나 새 OAI 생성을 선택합니다.
7. 버킷 정책(Bucket policy)에서 예, 버킷 정책을 업데이트합니다(Yes, update the bucket policy)를 선택합니다.
참고: 이 단계에서는 S3 원본의 버킷 정책을 업데이트하여 s3:GetObject에 대한 OAI 액세스 권한을 부여합니다.
8. 변경 사항 저장(Save Changes)을 선택합니다.
버킷 정책 검토
1. Amazon S3 콘솔을 엽니다.
2. 버킷 목록에서 CloudFront 배포의 원본 버킷을 선택합니다.
3. [권한] 탭을 선택합니다.
4. 버킷 정책에서 다음과 같은 문이 표시되는지 확인합니다.
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity EAF5XXXXXXXXX"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET/*"
}
OAI 설정의 일부로 Yes, update bucket policy를 선택하면 CloudFront가 버킷 정책에 추가하는 문입니다.
5. CloudFront OAI에서 버킷에 대한 액세스를 금지하는 "Effect": "Deny"가 포함된 문이 있는지 버킷 정책을 검토합니다. CloudFront OAI가 버킷의 객체에 액세스할 수 있도록 해당 문을 수정합니다.
6. CloudFront OAI가 아닌 소스에서 버킷으로의 액세스를 허용하는 "Effect": "Allow"가 포함된 문이 있는지 버킷 정책을 검토합니다. 각 사용 사례에 따라 해당 문을 수정합니다.
참고: 객체 액세스 제어 목록(객체 ACL)을 사용하여 권한을 관리할 경우, CloudFront OAI 외부에서 해당 파일에 액세스할 수 없는지도 객체 ACL에서 확인해야 합니다.
CloudFront OAI를 사용하여 버킷에 대한 액세스를 제한한 후에 선택적으로 AWS WAF를 통합하여 또 다른 보안 계층을 추가할 수 있습니다.
참조 문서
https://aws.amazon.com/ko/premiumsupport/knowledge-center/cloudfront-access-to-amazon-s3/
'[AWS] > AWS SAA EXAMTOPICS' 카테고리의 다른 글
[AWS][SAA][EXAMTOPICS] Question 308 (0) | 2022.07.12 |
---|---|
[AWS][SAA][EXAMTOPICS] Question 307 (0) | 2022.07.11 |
[AWS][SAA][EXAMTOPICS] Question 306 (0) | 2022.07.11 |
[AWS][SAA][EXAMTOPICS] Question 305 (0) | 2022.07.11 |
[AWS][SAA][EXAMTOPICS] Question 303 (0) | 2022.07.11 |
[AWS][SAA][EXAMTOPICS] Question 302 (0) | 2022.07.11 |
[AWS][SAA][EXAMTOPICS] Question 301 (0) | 2022.07.11 |
[AWS][SAA][EXAMTOPICS] Question 300 (0) | 2022.07.08 |
댓글