Restricción del acceso a un origen de AWS Elemental MediaStore
CloudFront proporciona un control de acceso de origen (OAC) para restringir el acceso a un origen de AWS Elemental MediaStore.
Temas
Creación de un nuevo control de acceso de origen
Complete los pasos que se describen en los siguientes temas para configurar un nuevo control de acceso de origen en CloudFront.
Temas
Requisitos previos
Antes de crear y configurar el control de acceso de origen (OAC), debe tener una distribución de CloudFront con un origen de MediaStore.
Concesión del permiso de control de acceso de origen para acceder al origen de MediaStore
Antes de crear un control de acceso de origen o configurarlo en una distribución de CloudFront, asegúrese de que el OAC tiene permiso para acceder al origen de MediaStore. Realice esta acción después de crear una distribución de CloudFront, pero antes de agregar el OAC al origen de MediaStore en la configuración de distribución.
Para conceder al OAC permiso con el fin de acceder al origen de MediaStore, utilice una política de contenedores de MediaStore para permitir que la entidad principal del servicio de CloudFront (cloudfront.amazonaws.com
) acceda al origen. Utilice un elemento Condition
en la política para permitir que CloudFront acceda al contenedor de MediaStore solo cuando la solicitud sea en nombre de la distribución de CloudFront que contiene el origen de MediaStore.
A continuación, se muestran ejemplos de políticas de contenedor de MediaStore que permiten a un OAC de CloudFront acceder a un origen de MediaStore.
ejemplo Política de contenedor de MediaStore que permite el acceso de solo lectura a un OAC de CloudFront
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontServicePrincipalReadOnly", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": [ "mediastore:GetObject" ], "Resource": "arn:aws:mediastore:
<region>
:111122223333
:container/<container name>
/*", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333
:distribution/<CloudFront distribution ID>
" }, "Bool": { "aws:SecureTransport": "true" } } } ] }
ejemplo Política de contenedor de MediaStore que permite acceso de lectura y escritura a un OAC de CloudFront
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontServicePrincipalReadWrite", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": [ "mediastore:GetObject", "mediastore:PutObject" ], "Resource": "arn:aws:mediastore:
<region>
:111122223333
:container/<container name>
/*", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333
:distribution/<CloudFront distribution ID>
" }, "Bool": { "aws:SecureTransport": "true" } } } ] }
nota
Para permitir el acceso de escritura, debe configurar los Allowed HTTP methods (Métodos HTTP permitidos) para incluir PUT
en la configuración de comportamiento de la distribución de CloudFront.
Creación del control de acceso de origen
Para crear un OAC, puede utilizar AWS Management Console, AWS CloudFormation, AWS CLI o la API de CloudFront.
Configuración avanzada para el control de acceso de origen
La característica de control de acceso de origen de CloudFront incluye configuraciones avanzadas que están pensadas solo para casos de uso específicos. Utilice la configuración recomendada a menos que tenga una necesidad específica de la configuración avanzada.
El control de acceso de origen contiene una configuración denominada Signing behavior (Comportamiento de firma) (en la consola) o SigningBehavior
(en la API, CLI y AWS CloudFormation). Esta configuración proporciona las siguientes opciones:
- Firmar siempre las solicitudes de origen (configuración recomendada)
-
Recomendamos utilizar esta configuración, denominada Sign requests (recommended) (Firmar solicitudes [recomendado]) en la consola o
always
en la API, la CLI y AWS CloudFormation. Con esta configuración, CloudFront siempre firma todas las solicitudes que envía al origen de MediaStore. - Nunca firmar solicitudes de origen
-
Esta configuración se denomina Do not sign requests (No firmar solicitudes) en la consola o
never
en la API, la CLI y AWS CloudFormation. Utilice esta configuración para desactivar el control de acceso de origen para todos los orígenes en todas las distribuciones que utilizan este control de acceso de origen. Esto puede ahorrar tiempo y esfuerzo en comparación con la eliminación de un control de acceso de origen de todos los orígenes y distribuciones que lo utilizan, uno por uno. Con esta configuración, CloudFront no firma las solicitudes que envía al origen de MediaStore.aviso
Para utilizar esta configuración, el origen de MediaStore debe ser de acceso público. Si utiliza esta configuración con un origen de MediaStore que no es de acceso público, CloudFront no podrá acceder al origen. El origen de MediaStore devuelve errores a CloudFront y CloudFront pasa esos errores a los lectores. Para obtener más información, consulte el ejemplo de política de contenedores de MediaStore para el acceso público de lectura a través de HTTPS.
- No anular el encabezado
Authorization
del lector (cliente) -
Esta configuración se denomina Do not override authorization header (No anular el encabezado authorization en la consola o
no-override
en la API, la CLI y AWS CloudFormation. Utilice esta configuración cuando desee que CloudFront firme las solicitudes de origen solo cuando la solicitud del lector correspondiente no incluya un encabezadoAuthorization
. Con esta configuración, CloudFront pasa el encabezadoAuthorization
de la solicitud del lector cuando hay uno, pero firma la solicitud de origen (agrega su propio encabezadoAuthorization
) cuando la solicitud del lector no incluye un encabezadoAuthorization
.aviso
Para pasar el encabezado
Authorization
de la solicitud del lector, debe agregar el encabezadoAuthorization
a una política de caché para todos los comportamientos de caché que utilizan los orígenes de MediaStore asociados con este control de acceso de origen.