

# Requisitos previos para desactivar las ACL
<a name="object-ownership-migrating-acls-prerequisites"></a>

Una lista de control de acceso (ACL) a un bucket en Amazon S3 es un mecanismo que le permite definir permisos pormenorizados para objetos individuales dentro de un bucket de S3, especificando qué cuentas o grupos de AWS pueden acceder a esos objetos y modificarlos. La mayoría de los casos de uso modernos de Amazon S3 ya no requieren el uso de ACL. Le recomendamos que utilice AWS Identity and Access Management (IAM) y políticas de bucket para administrar el acceso, y que mantenga las ACL desactivadas, excepto en circunstancias en las que necesite controlar el acceso a cada objeto de manera individual.

Si tiene las ACL habilitadas en el bucket, antes de deshabilitar las ACL, asegúrese de cumplir los siguientes requisitos previos:

**Topics**
+ [

## Revisión de las ACL de bucket y objeto y migración de los permisos de ACL
](#object-ownership-acl-permissions)
+ [

## Identificar las solicitudes que requirieron una ACL para su autorización
](#object-ownership-acl-identify)
+ [

## Revisión y actualización de las políticas de bucket que utilizan claves de condición relacionadas con la ACL
](#object-ownership-bucket-policies)
+ [

## Ejemplos de casos de uso
](#object-ownership-migrating-acls)

## Revisión de las ACL de bucket y objeto y migración de los permisos de ACL
<a name="object-ownership-acl-permissions"></a>

Cuando desactiva las ACL, los permisos otorgados por las ACL de bucket y objeto ya no afectan al acceso. Antes de desactivar las ACL, revise las ACL de bucket y objeto. 

Cada una de las ACL de bucket y objeto existentes tiene un equivalente en una política de IAM. Los siguientes ejemplos de políticas de bucket muestran cómo los permisos `READ` y `WRITE` para las ACL de bucket y objeto se asignan a los permisos de IAM. Para obtener más información acerca de cómo se traduce cada ACL en permisos de IAM, consulte [Mapeo de permisos de ACL y permisos de política de acceso](acl-overview.md#acl-access-policy-permission-mapping).

Antes de deshabilitar las ACL:
+ Si la ACL del bucket concede acceso fuera de la cuenta de AWS, en primer lugar, debe migrar los permisos de ACL del bucket a la política de bucket.
+ A continuación, restablezca la ACL del bucket a la ACL privada predeterminada. 
+ También le recomendamos que revise los permisos de la ACL de nivel de objeto y los migre a la política de bucket. 

Si las ACL del bucket conceden permisos de lectura o escritura a otros que no pertenezcan a la cuenta, antes de deshabilitar las ACL, debe migrar estos permisos a la política de bucket. Después de migrar estos permisos, puede establecer **Propiedad del objeto** en *Propietario del bucket obligatorio*. Si no migra las ACL de bucket que conceden acceso de lectura o escritura fuera de la cuenta, la solicitud de aplicar la configuración Aplicada al propietario del bucket genera un error y devuelve el código de error [InvalidBucketAclWithObjectOwnership](object-ownership-error-responses.md#object-ownership-error-responses-invalid-acl). 

Si la ACL del bucket concede acceso fuera de la Cuenta de AWS, antes de desactivar las ACL, debe migrar los permisos de ACL del bucket a la política de bucket y restablecer la ACL del bucket a la ACL privada predeterminada. Si no realiza la migración y el restablecimiento, la solicitud de aplicar la configuración Propietario del bucket obligatorio para deshabilitar las ACL falla y devuelve el código de error [InvalidBucketAclWithObjectOwnership](object-ownership-error-responses.md#object-ownership-error-responses-invalid-acl). También le recomendamos que revise los permisos de la ACL de objetos y los migre a la política de bucket. 

Para revisar y migrar los permisos de ACL a las políticas de bucket, consulte los siguientes temas.

**Topics**
+ [

### Ejemplos de políticas de bucket
](#migrate-acl-permissions-bucket-policies)
+ [

### Uso de la consola de S3 para revisar y migrar permisos de ACL
](#review-migrate-acl-console)
+ [

### Uso de la AWS CLI para revisar y migrar permisos de ACL
](#review-migrate-acl-cli)

### Ejemplos de políticas de bucket
<a name="migrate-acl-permissions-bucket-policies"></a>

En estas políticas de bucket de ejemplo, se muestra cómo migrar los permisos `READ` y `WRITE` de las ACL de bucket y objeto para una Cuenta de AWS de terceros a una política de bucket. Las ACL `READ_ACP` y `WRITE_ACP` son menos relevantes para las políticas porque conceden permisos relacionados con ACL (`s3:GetBucketAcl`, `s3:GetObjectAcl`, `s3:PutBucketAcl` y `s3:PutObjectAcl`).

**Example : ACL `READ` para un bucket**  
Si su bucket tenía una ACL `READ` que concede a la Cuenta de AWS `111122223333` permiso para mostrar el contenido de su bucket, puede escribir una política de buckets que conceda los permisos `s3:ListBucket`, `s3:ListBucketVersions` y `s3:ListBucketMultipartUploads` para su bucket.     
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Permission to list the objects in a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [

						"arn:aws:iam::111122223333:root"
					]
				},
				"Action": [
					"s3:ListBucket",
					"s3:ListBucketVersions",
					"s3:ListBucketMultipartUploads"
				],
				"Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
			}
		]
	}
```

**Example : ACL `READ` para todos los objetos de un bucket**  
Si cada objeto del bucket tiene una ACL `READ` que concede acceso a la Cuenta de AWS `111122223333`, puede escribir una política de buckets que conceda permisos `s3:GetObject` y `s3:GetObjectVersion` a esta cuenta para cada objeto del bucket.    
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Read permission for every object in a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [
						"arn:aws:iam::111122223333:root"
					]
				},
				"Action": [
					"s3:GetObject",
					"s3:GetObjectVersion"
				],
				"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
			}
		]
	}
```
Este elemento de recurso de ejemplo concede acceso a un objeto específico.  

```
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/OBJECT-KEY"
```

**Example : ACL `WRITE` que concede permisos para escribir objetos en un bucket**  
Si el bucket tiene una ACL `WRITE` que concede a Cuenta de AWS `111122223333` permiso para escribir objetos en el bucket, puede escribir una política de buckets que conceda permiso `s3:PutObject` para el bucket.    
****  

```
{
		"Version":"2012-10-17",		 	 	 
		"Statement": [
			{
				"Sid": "Permission to write objects to a bucket",
				"Effect": "Allow",
				"Principal": {
					"AWS": [
						"arn:aws:iam::111122223333:root"
					]
				},
				"Action": [
					"s3:PutObject"
				],
				"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
			}
		]
	}
```

### Uso de la consola de S3 para revisar y migrar permisos de ACL
<a name="review-migrate-acl-console"></a>

**Revisar permisos de ACL de un bucket**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En la lista de **Buckets**, elija el nombre del bucket.

1. Elija la pestaña **Permisos**.

1. En **Access control list (ACL)** (Lista de control de acceso [ACL]), revise los permisos de ACL del bucket.

**Revisar permisos de ACL de un objeto**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En la lista **Buckets**, elija el nombre del bucket que contiene el objeto.

1. En la lista **Objetos**, elija el nombre del objeto.

1. Elija la pestaña **Permisos**.

1. En **Lista de control de acceso (ACL)**, revise los permisos de ACL del objeto.

**Para migrar los permisos de ACL y actualizar la ACL del bucket**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En la lista de **Buckets**, elija el nombre del bucket.

1. En la pestaña **Permisos**, en **Política de bucket**, elija **Editar**.

1. En el cuadro **Política**, agregue o actualice la política de bucket.

   Para obtener ejemplos de políticas de bucket, consulte [Ejemplos de políticas de bucket](#migrate-acl-permissions-bucket-policies) y [Ejemplos de casos de uso](#object-ownership-migrating-acls).

1. Seleccione **Save changes (Guardar cambios)**.

1. [Actualizar la ACL del bucket](managing-acls.md) para eliminar las concesiones de ACL a otros grupos o Cuentas de AWS.

1. [Aplicar la opción **Aplicada al propietario del bucket**](object-ownership-existing-bucket.md) de Propiedad del objeto.

### Uso de la AWS CLI para revisar y migrar permisos de ACL
<a name="review-migrate-acl-cli"></a>

1. Para devolver la ACL de bucket del bucket, utilice el comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-acl.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-acl.html) de la AWS CLI:

   ```
   aws s3api get-bucket-acl --bucket amzn-s3-demo-bucket
   ```

   Por ejemplo, esta ACL de bucket concede acceso `WRITE` y `READ` a una cuenta de terceros. En esta ACL, la cuenta de terceros se identifica mediante el [ID de usuario canónico](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId). Para aplicar la configuración Aplicada al propietario del bucket y desactivar las ACL, debe migrar estos permisos para la cuenta de terceros a una política de bucket. 

   ```
   {
   		"Owner": {
   			"ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
   		},
   		"Grants": [
   			{
   				"Grantee": {
   					"ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "FULL_CONTROL"
   			},
   			{
   				"Grantee": {
   					"ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "READ"
   			},
   			{
   				"Grantee": {
   					"ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID",
   					"Type": "CanonicalUser"
   				},
   				"Permission": "WRITE"
   			}
   		]
   	}
   ```

   Para ver otras ACL de ejemplo, consulte [Ejemplos de casos de uso](#object-ownership-migrating-acls).

1. Migración de los permisos de ACL del bucket a una política de bucket:

   En esta política de bucket de ejemplo, se concede permisos `s3:PutObject` y `s3:ListBucket` para una cuenta de terceros. En la política de bucket, la cuenta de terceros se identifica mediante el ID de la Cuenta de AWS (`111122223333`).

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   	policy.json:
   	{
   		"Version": "2012-10-17",		 	 	 
   		"Statement": [
   			{
   				"Sid": "PolicyForCrossAccountAllowUpload",
   				"Effect": "Allow",
   				"Principal": {
   					"AWS": [
   						"arn:aws:iam::111122223333:root"
   					]
   				},
   				"Action": [
   					"s3:PutObject",
   					"s3:ListBucket"
   				],
   				"Resource": [
   					"arn:aws:s3:::amzn-s3-demo-bucket",
   					"arn:aws:s3:::amzn-s3-demo-bucket/*"
   			}
   		]
   	}
   ```

   Para obtener más ejemplos de políticas de bucket, consulte [Ejemplos de políticas de bucket](#migrate-acl-permissions-bucket-policies) y [Ejemplos de casos de uso](#object-ownership-migrating-acls).

1. Para devolver la ACL de un objeto específico, utilice el comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-acl.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-acl.html) de la AWS CLI.

   ```
   aws s3api get-object-acl --bucket amzn-s3-demo-bucket --key EXAMPLE-OBJECT-KEY
   ```

1. Si es necesario, migre los permisos de ACL de objetos a la política de bucket. 

   Este elemento de recurso de ejemplo concede acceso a un objeto específico de una política de bucket.

   ```
   "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/EXAMPLE-OBJECT-KEY"
   ```

1. Restablezca la ACL del bucket a la ACL predeterminada.

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. [Aplicar la opción Aplicada al propietario del bucket](object-ownership-existing-bucket.md) de Propiedad del objeto.

## Identificar las solicitudes que requirieron una ACL para su autorización
<a name="object-ownership-acl-identify"></a>

Para identificar las solicitudes de Amazon S3 que requerían ACL para la autorización, puede utilizar el valor `aclRequired` de los registros de acceso al servidor de Amazon S3 o AWS CloudTrail. Si la solicitud requería una ACL para su autorización o si tiene solicitudes `PUT` que especifican una ACL, la cadena es `Yes`. Si no se requerían ACL, si está estableciendo una ACL predefinida `bucket-owner-full-control` o si las solicitudes están permitidas por su política de buckets, la cadena de valor de `aclRequired` es “`-`”en los registros de acceso al servidor de Amazon S3 y falta en CloudTrail. Para obtener más información sobre los valores `aclRequired` previstos, consulte [Valores de `aclRequired` para solicitudes comunes de Amazon S3](acl-overview.md#aclrequired-s3).

Si tiene solicitudes `PutBucketAcl` o `PutObjectAcl` con encabezados que conceden permisos basados en ACL, con la excepción de la ACL predefinida `bucket-owner-full-control`, debe eliminar esos encabezados para poder desactivar las ACL. De lo contrario, sus solicitudes fallarán.

Para las demás solicitudes que requieran una ACL para la autorización, migre esos permisos de ACL a políticas de buckets. A continuación, elimine cualquier ACL de bucket antes de activar la configuración aplicada al propietario del bucket. 

**nota**  
No elimine las ACL de objetos. De lo contrario, las aplicaciones que dependen de las ACL de objetos para obtener permisos perderán el acceso.

Si ve que ninguna solicitud requiere una ACL para su autorización, puede proceder a desactivar las ACL. Para obtener más información sobre las solicitudes de identificación, consulte [Uso de los registros de acceso al servidor de Amazon S3 para identificar solicitudes](using-s3-access-logs-to-identify-requests.md) y [Identificación de solicitudes de Amazon S3 mediante CloudTrail](cloudtrail-request-identification.md).

## Revisión y actualización de las políticas de bucket que utilizan claves de condición relacionadas con la ACL
<a name="object-ownership-bucket-policies"></a>

Después de aplicar la configuración Aplicada al propietario del bucket para desactivar las ACL, los nuevos objetos se pueden cargar en el bucket solo si la solicitud utiliza ACL de control total del propietario del bucket o no especifica una ACL. Antes de desactivar las ACL, revise la política de bucket para ver las claves de condición relacionadas con la ACL.

Si la política de bucket utiliza una clave de condición relacionada con la ACL para requerir la ACL predefinida `bucket-owner-full-control` (por ejemplo, `s3:x-amz-acl`), no es necesario actualizar la política de bucket. La siguiente política de bucket utiliza `s3:x-amz-acl` para requerir la ACL predefinida `bucket-owner-full-control` para solicitudes `PutObject` de S3. Esta política *todavía* requiere que el escritor del objeto especifique la ACL predefinida `bucket-owner-full-control`. Sin embargo, los buckets con ACL desactivadas siguen aceptando esta ACL, por lo que las solicitudes se siguen realizando correctamente sin que se requieran cambios en el lado del cliente.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "OnlyAllowWritesToMyBucketWithBucketOwnerFullControl",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/ExampleUser"
                ]
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        }
    ]
}
```

------

Sin embargo, si la política de bucket utiliza una clave de condición relacionada con la ACL que requiere una ACL diferente, debe quitar esta clave de condición. Esta política de bucket de ejemplo requiere la ACL `public-read` para solicitudes `PutObject` de S3 y, por lo tanto, se deben actualizar antes de desactivar las ACL. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Only allow writes to my bucket with public read access",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/ExampleUser"                ]
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "public-read"
                }
            }
        }
    ]
}
```

------

## Ejemplos de casos de uso
<a name="object-ownership-migrating-acls"></a>

En los siguientes ejemplos, se muestra cómo migrar los permisos de ACL a las políticas de bucket para casos de uso específicos.

**Topics**
+ [

### Concesión de acceso al grupo de entrega de registros de S3 para el registro de acceso al servidor
](#object-ownership-server-access-logs)
+ [

### Concesión de acceso público de lectura para los objetos de un bucket
](#object-ownership-public-read)
+ [

### Concesión de acceso a Amazon ElastiCache (Redis OSS) al bucket de S3
](#object-ownership-elasticache-redis)

### Concesión de acceso al grupo de entrega de registros de S3 para el registro de acceso al servidor
<a name="object-ownership-server-access-logs"></a>

Si desea aplicar la configuración aplicada al propietario del bucket para desactivar las ACL de un bucket de destino de registro de acceso **al servidor, debe migrar los permisos de ACL del bucket para el grupo de entrega de registros de S3 a la entidad principal del servicio de registro (`logging.s3.amazonaws.com`) en una política de bucket. Para obtener más información acerca de los permisos de entrega de registros, consulte [Permisos para entrega de registros](enable-server-access-logging.md#grant-log-delivery-permissions-general).

Esta ACL de bucket concede acceso `WRITE` y `READ_ACP` al grupo entrega de registros de S3:

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    }, 
    "Grants": [
        {
            "Grantee": {
                "Type": "CanonicalUser", 
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
            }, 
            "Permission": "FULL_CONTROL"
        }, 
        {
            "Grantee": {
                "Type": "Group", 
                "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery"
            }, 
            "Permission": "WRITE"
        }, 
        {
            "Grantee": {
                "Type": "Group", 
                "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery"
            }, 
            "Permission": "READ_ACP"
        }
    ]
}
```

**Para migrar los permisos de ACL del bucket para el grupo de entrega de registros de S3 a la entidad principal del servicio de registro en una política de bucket**

1. Agregue la siguiente política de bucket al bucket de destino, sustituyendo los valores de ejemplo.

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   policy.json:						{
       {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "S3ServerAccessLogsPolicy",
               "Effect": "Allow",
               "Principal": {
                   "Service": "logging.s3.amazonaws.com"
               },
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/EXAMPLE-LOGGING-PREFIX*",
               "Condition": {
                   "ArnLike": {
                       "aws:SourceArn": "arn:aws:s3:::SOURCE-BUCKET-NAME"
                   },
                   "StringEquals": {
                       "aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"
                   }
               }
           }
       ]
   }
   ```

1. Restablezca la ACL del bucket destino a la ACL predeterminada.

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. [Aplicar la opción Aplicada al propietario del bucket](object-ownership-existing-bucket.md) de Propiedad de objetos en el bucket de destino.

### Concesión de acceso público de lectura para los objetos de un bucket
<a name="object-ownership-public-read"></a>

Si las ACL de objetos conceden acceso público de lectura a todos los objetos del bucket, puede migrar estos permisos de ACL a una política de bucket.

Esta ACL de objeto concede acceso público de lectura a un objeto de un bucket:

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    },
    "Grants": [
        {
            "Grantee": {
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
                "Type": "CanonicalUser"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "Type": "Group",
                "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
            },
            "Permission": "READ"
        }
    ]
}
```

**Para migrar los permisos de ACL de lectura pública a una política de bucket**

1. Para conceder acceso público de lectura a todos los objetos del bucket, agregue la siguiente política de bucket y reemplace los valores de ejemplo.

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   policy.json:
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PublicReadGetObject",
               "Effect": "Allow",
               "Principal": "*",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

   Para conceder acceso público a un objeto específico de una política de bucket, utilice el siguiente formato para el elemento `Resource`. 

   ```
   "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/OBJECT-KEY"
   ```

   Para conceder acceso público a todos los objetos que tengan un prefijo determinado, utilice el siguiente formato para el elemento `Resource`. 

   ```
   "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/PREFIX/*"
   ```

1. [Aplicar la opción Aplicada al propietario del bucket](object-ownership-existing-bucket.md) de Propiedad del objeto.

### Concesión de acceso a Amazon ElastiCache (Redis OSS) al bucket de S3
<a name="object-ownership-elasticache-redis"></a>

Puede [exportar la copia de seguridad de ElastiCache (Redis OSS)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html) a un bucket de S3, lo que le permite tener acceso a la copia de seguridad desde fuera de ElastiCache. Para exportar la copia de seguridad a un bucket de S3, debe conceder permisos a ElastiCache para copiar una instantánea en el bucket. Si ha concedido permisos a ElastiCache en una ACL de bucket, debe migrar esos permisos a una política de bucket antes de aplicar la configuración de propietario del bucket obligatorio para desactivar las ACL. Para obtener más información, consulte [Concesión de acceso a ElastiCache al bucket de Amazon S3](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) en la *Guía del usuario de Amazon ElastiCache*.

En el ejemplo siguiente se muestran los permisos de ACL del bucket que conceden permisos a ElastiCache. 

```
{
    "Owner": {
        "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID"
    },
    "Grants": [
        {
            "Grantee": {
                "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID",
                "Type": "CanonicalUser"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "READ"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "WRITE"
        },
        {
            "Grantee": {
                "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353",
                "Type": "CanonicalUser"
            },
            "Permission": "READ_ACP"
        }
    ]
}
```

**Migración de los permisos de ACL del bucket para ElastiCache (Redis OSS) a una política de bucket**

1. Agregue la siguiente política de bucket al bucket, sustituyendo los valores de ejemplo.

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   
   policy.json:
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Stmt15399483",
               "Effect": "Allow",
               "Principal": {
                   "Service": "Region.elasticache-snapshot.amazonaws.com"
               },
               "Action": [
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:ListBucket",
                   "s3:GetBucketAcl",
                   "s3:ListMultipartUploadParts",
                   "s3:ListBucketMultipartUploads"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

1. Restablezca la ACL del bucket a la ACL predeterminada:

   ```
   aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --acl private
   ```

1. [Aplicar la opción Aplicada al propietario del bucket](object-ownership-existing-bucket.md) de Propiedad del objeto.