Quiero configurar el control de acceso de origen (OAC) para mis distribuciones de Amazon CloudFront que tienen orígenes de bucket de Amazon Simple Storage Service (Amazon S3). También quiero migrar de identidad de acceso de origen (OAI) a OAC.
Descripción corta
OAC y OAI son características de seguridad de CloudFront que ayudan a proteger los orígenes de los buckets de Amazon S3. OAC y OAI restringen el acceso a los buckets de S3 y solo puedes acceder a través de las distribuciones de CloudFront que configures.
Nota: Se recomienda utilizar OAC en lugar de OAI. Para obtener más información, consulta Restricción del acceso a un origen de Amazon S3.
Resolución
Creación de OAC en la consola de CloudFront
Para configurar OAC para una distribución de CloudFront con un origen de bucket de Amazon S3, sigue estos pasos:
- Abre la consola de CloudFront.
- En el panel de navegación, expande Seguridad y, a continuación, selecciona Acceso de origen.
- Selecciona Crear configuración de control.
- En el formulario Crear nuevo OAC, haz lo siguiente:
Introduce un nombre para el OAC.
(Opcional) Introduce una descripción para el OAC.
Para el comportamiento de firma, mantén la configuración predeterminada como Solicitudes de firma (recomendado).
Selecciona la lista desplegable Tipo de origen y elige S3.
- Selecciona Crear.
Para obtener más información, consulta Creación del control de acceso de origen.
Adición del OAC a un origen de S3 en una distribución
Sigue estos pasos:
- Abre la consola de CloudFront.
- En el panel de navegación, elige Distribuciones y, a continuación, selecciona la distribución con un origen de S3.
- Elige la pestaña Orígenes y, a continuación, selecciona el nombre de origen al que deseas agregar el OAC.
- Selecciona Editar y, a continuación, elige la Configuración de control de acceso de origen (recomendado).
- Selecciona la lista desplegable Control de acceso de origen y, a continuación, selecciona el OAC que creaste en la sección anterior.
- Selecciona Guardar cambios.
Actualización de la política de bucket de S3
Para permitir que la distribución de CloudFront utilice el OAC para acceder al bucket de S3, actualiza la política de bucket:
-
Abre la consola de Amazon S3.
-
En el panel de navegación, elige Buckets de uso general.
-
Elige el bucket de S3 y, a continuación, elige la pestaña Permisos.
-
En Política de bucket, selecciona Editar.
-
En la instrucción de edición de políticas, adjunta la siguiente política:
{
"Version": "2012-10-17",
"Statement": {
"Sid": "AllowCloudFrontServicePrincipalReadOnly",
"Effect": "Allow",
"Principal": {
"Service": "cloudfront.amazonaws.com"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*",
"Condition": {
"StringEquals": {
"AWS:SourceArn": "arn:aws:cloudfront::YOUR_AWS_ACCOUNT_ID:distribution/YOUR_DISTRIBUTION_ID"
}
}
}
}
Nota: Sustituye YOUR_BUCKET_NAME, YOUR_AWS_ACCOUNT_ID y YOUR_DISTRIBUTION_ID por tus variables.
-
Selecciona Guardar cambios.
(Opcional) Migración de OAI a OAC
Si usas OAI para restringir el acceso al origen de tu bucket de S3 y quieres migrar a OAC, sigue estos pasos:
-
Sigue los pasos de la sección Creación de un OAC en la consola de CloudFront.
-
Abre la consola de Amazon S3.
-
En el panel de navegación, elige Buckets de uso general.
-
Elige el bucket de S3 y, a continuación, elige la pestaña Permisos.
-
En Política de bucket, selecciona Editar.
-
En la instrucción de edición de políticas, adjunta la siguiente política:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCloudFrontServicePrincipalReadOnly",
"Effect": "Allow",
"Principal": {
"Service": "cloudfront.amazonaws.com"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*",
"Condition": {
"StringEquals": {
"AWS:SourceArn": "arn:aws:cloudfront::YOUR_AWS_ACCOUNT_ID:distribution/YOUR_DISTRIBUTION_ID"
}
}
},
{
"Sid": "AllowLegacyOAIReadOnly",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity YOUR_ORIGIN_ACCESS_IDENTITY_ID"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*"
}
]
}
Nota: Sustituye YOUR_BUCKET_NAME, YOUR_AWS_ACCOUNT_ID, YOUR_DISTRIBUTION_ID y YOUR_ORIGIN_ACCESS_IDENTITY_ID por tus variables.
-
Selecciona Guardar cambios.
-
Abre la consola de CloudFront.
-
En el panel de navegación, elige Distribuciones y, a continuación, selecciona la distribución a la que deseas conectar el OAC.
-
Selecciona la pestaña Orígenes, elige tu nombre de origen y, a continuación, elige Editar.
-
En Acceso de origen, selecciona la configuración del control de acceso de origen (recomendada).
-
Selecciona la lista desplegable Control de acceso de origen y, a continuación, selecciona el OAC que quieres usar.
-
Selecciona Guardar cambios.
Una vez que la distribución esté completamente desplegada, puedes actualizar la política de bucket de S3 para eliminar la instrucción relacionada con OAI.
Para obtener más información, consulta Migración de la identidad de acceso de origen (OAI) al control de acceso de origen (OAC).
Información relacionada
Restricción del acceso a un origen de Amazon S3
Bloqueo del acceso público al almacenamiento de Amazon S3