Amazon CloudFront가 AWS Elemental MediaStore 컨테이너에 액세스하도록 허용 - AWS 엘레멘탈 MediaStore

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

Amazon CloudFront가 AWS Elemental MediaStore 컨테이너에 액세스하도록 허용

Amazon CloudFront를 사용하면 AWS Elemental MediaStore의 컨테이너에 저장한 콘텐츠를 제공할 수 있습니다. 이 작업을 다음 중 한 가지 방법으로 수행할 수 있습니다.

원본 액세스 제어(OAC) 사용

Amazon CloudFront의 원본 액세스 제어(OAC) 기능을 사용하여 AWS Elemental MediaStore 오리진을 향상된 보안으로 보호할 수 있습니다. MediaStore 오리진에 대한 CloudFront 요청에서 AWS Signature Version 4(SigV4)를 활성화하고 CloudFront가 요청에 서명해야 하는 시기와 서명 여부를 설정할 수 있습니다. 콘솔, API, SDK 또는 CLI를 통해 CloudFront의 OAC 기능에 액세스할 수 있으며 사용에 따른 추가 요금은 없습니다.

MediaStore를 사용하여 OAC 기능을 사용하는 방법에 대한 자세한 내용은 Amazon CloudFront 개발자 안내서MediaStore 오리진에 대한 액세스 제한을 참조하세요.

공유 암호 사용

Amazon CloudFront의 OAC 기능을 AWS 리전에서 지원하지 않는 경우, CloudFront에 읽기 권한 이상을 부여하는 정책을 AWS Elemental MediaStore 컨테이너에 연결할 수 있습니다.

참고

AWS 리전에서 지원하는 경우 OAC 기능을 사용하는 것이 좋습니다. 다음 절차에서는 MediaStore 컨테이너에 대한 액세스를 제한하기 위해 공유 암호로 MediaStore 및 CloudFront를 구성해야 합니다. 모범 보안 관행을 따르려면 이 수동 구성에 암호를 주기적으로 교체해야 합니다. MediaStore 오리진에서 OAC를 사용하면 CloudFront가 SigV4를 사용하여 요청에 서명하고 서명 매칭을 위해 MediaStore에 전달하도록 지시할 수 있으므로 암호를 사용하고 교체할 필요가 없습니다. 이렇게 하면 미디어 콘텐츠가 제공되기 전에 요청이 자동으로 확인되므로 MediaStore와 CloudFront를 통해 미디어 콘텐츠를 더 간단하고 안전하게 전송할 수 있습니다.

CloudFront가 컨테이너에 액세스하도록 허용하기(콘솔)
  1. https://console.aws.amazon.com/mediastore/에서 MediaStore 콘솔을 엽니다.

  2. 컨테이너 페이지에서 컨테이너 이름을 선택합니다.

    컨테이너 세부 정보 페이지가 나타납니다.

  3. 컨테이너 정책 섹션에서 읽기 이상의 액세스 권한을 Amazon CloudFront에 부여하는 정책을 연결합니다.

    HTTPS를 통해 퍼블릭 읽기 액세스에 대한 예제 정책과 유사한 다음 예제 정책은 HTTPS를 통해 요청을 제출하는 누구든 GetObjectDescribeObject 명령을 허용하므로 이러한 요구 사항과 일치합니다. 또한 다음 예제 정책은 HTTPS 연결을 통해 요청이 발생하고 올바른 레퍼러 헤더를 포함하는 경우에만 CloudFront가 MediaStore 객체에 액세스할 수 있도록 허용하므로 워크플로의 보안을 더욱 강화합니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "CloudFrontRead", "Effect": "Allow", "Principal": "*", "Action": [ "mediastore:GetObject", "mediastore:DescribeObject" ], "Resource": "arn:aws:mediastore:<region>:<owner acct number>:container/<container name>/*", "Condition": { "StringEquals": { "aws:Referer": "<secretValue>" }, "Bool": { "aws:SecureTransport": "true" } } } ]}
  4. 컨테이너 CORS 정책 섹션에서 적절한 액세스 수준을 허용하는 정책을 할당합니다.

    참고

    CORS 정책은 브라우저 기반 플레이어에 액세스를 제공하려는 경우에만 필요합니다.

  5. 다음과 같은 세부 정보를 기록해 두십시오.

    • 컨테이너에 할당된 데이터 엔드포인트. 이 정보는 컨테이너 페이지의 정보 섹션에서 확인할 수 있습니다. CloudFront에서 데이터 엔드포인트를 오리진 도메인 이름이라고 합니다.

    • 객체가 저장되는 컨테이너의 폴더 구조. CloudFront에서는 이를 오리진 경로라고 합니다. 이 설정은 선택 사항입니다. 오리진 경로에 대한 자세한 내용을 알아보려면 Amazon CloudFront 개발자 안내서를 참조하세요.

  6. In CloudFront에서 AWS Elemental MediaStore의 서비스 콘텐츠를 제공하도록 구성된 배포를 만듭니다. 앞 단계에서 수집한 정보가 필요합니다.

정책을 MediaStore 컨테이너에 연결한 후에는 원본 요청에 HTTPS 연결만 사용하도록 CloudFront를 구성하고 올바른 보안 값이 포함된 사용자 지정 헤더도 추가해야 합니다.

리퍼러 헤더(콘솔)에 대한 비밀 값을 사용하여 HTTPS 연결을 통해 컨테이너에 액세스하도록 CloudFront를 구성하기
  1. CloudFront 콘솔을 엽니다.

  2. 오리진 페이지에서 MediaStore 오리진을 선택합니다.

  3. 편집을 선택합니다.

  4. 프로토콜에 대해 HTTP만 선택합니다.

  5. 사용자 지정 헤더 추가 섹션에서 헤더 추가를 선택합니다.

  6. 이름의 경우 리퍼러를 선택합니다. 의 경우 컨테이너 정책에서 사용한 것과 동일한 <secretValue> 문자열을 사용하세요.

  7. 저장을 선택하고 변경 내용을 배포합니다.