

# Desactivación de las ACL para todos los buckets nuevos y aplicación de la propiedad de objetos
<a name="ensure-object-ownership"></a>

Le recomendamos que desactive las ACL en los buckets de Amazon S3. Para ello, aplique la configuración Aplicada al propietario del bucket de S3 Object Ownership. Al aplicar esta configuración, las ACL se desactivan y automáticamente tiene la propiedad y el control total sobre todos los objetos del bucket. Para requerir que todos los buckets nuevos se creen con ACL desactivadas, use políticas de AWS Identity and Access Management (IAM) o políticas de control de servicios (SCP) de AWS Organizations, como se describe en la siguiente sección.

Para aplicar la propiedad de objetos para objetos nuevos sin desactivar las ACL, puede aplicar la configuración de propietario del bucket preferido. Al aplicar esta configuración, le recomendamos encarecidamente que actualice la política de bucket para requerir la ACL predefinida `bucket-owner-full-control` para todas las solicitudes `PUT` que se realicen al bucket. Asegúrese también de actualizar los clientes para que envíen la ACL predefinida `bucket-owner-full-control` a su bucket desde otras cuentas.

**Topics**
+ [Desactivación de las ACL para todos los buckets nuevos (propietario del bucket obligatorio)](#object-ownership-requiring-bucket-owner-enforced)
+ [Requisito de la ACL predefinida bucket-owner-full-control para las operaciones `PUT` de Amazon S3 (propietario del bucket preferido)](#ensure-object-ownership-bucket-policy)

## Desactivación de las ACL para todos los buckets nuevos (propietario del bucket obligatorio)
<a name="object-ownership-requiring-bucket-owner-enforced"></a>

En el siguiente ejemplo, la política de IAM deniega el permiso `s3:CreateBucket` para un usuario o rol de IAM específico a menos que se aplique la configuración Aplicada al propietario del bucket de Propiedad de objetos. El par clave-valor en el bloque `Condition` especifica `s3:x-amz-object-ownership` como su clave y la configuración `BucketOwnerEnforced` como su valor. En otras palabras, el usuario de IAM solo puede crear buckets si establece la configuración Aplicada al propietario del bucket de Propiedad de objetos y desactiva las ACL. También puede utilizar esta política como SCP límite para la organización AWS.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RequireBucketOwnerFullControl",
            "Action": "s3:CreateBucket",
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "s3:x-amz-object-ownership": "BucketOwnerEnforced"
                }
            }
        }
    ]
}
```

------

## Requisito de la ACL predefinida bucket-owner-full-control para las operaciones `PUT` de Amazon S3 (propietario del bucket preferido)
<a name="ensure-object-ownership-bucket-policy"></a>

Con la configuración de propietario del bucket preferido de Propiedad de objetos, como propietario del bucket tiene la propiedad y el control total sobre los objetos nuevos que otras cuentas escriben en el bucket con la ACL predefinida `bucket-owner-full-control`. Sin embargo, si otras cuentas escriben objetos en el bucket sin la ACL predefinida `bucket-owner-full-control`, el escritor del objeto mantiene el acceso de control total. Como propietario del bucket, puede implementar una política de bucket que permita escrituras solo si especifican la ACL predefinida `bucket-owner-full-control`.

**nota**  
Si tiene las ACL desactivadas con la configuración Aplicada al propietario del bucket, como propietario del bucket tiene automáticamente la propiedad y el control total sobre todos los objetos del bucket. No es necesario utilizar esta sección para actualizar la política de bucket a fin de aplicar la propiedad de objetos para el propietario del bucket.

La siguiente directiva de bucket especifica que la cuenta *`111122223333`* puede cargar objetos *`amzn-s3-demo-bucket`* solo cuando la ACL del objeto está establecida en `bucket-owner-full-control`. Asegúrese de reemplazar *`111122223333`* con la cuenta y *`amzn-s3-demo-bucket`* con el nombre del bucket.

------
#### [ 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"
            }
         }
      }
   ]
}
```

------

A continuación, se muestra una operación de copia de ejemplo que incluye la ACL predefinida `bucket-owner-full-control` mediante la AWS Command Line Interface (AWS CLI).

```
aws s3 cp file.txt s3://amzn-s3-demo-bucket --acl bucket-owner-full-control
```

Una vez que se aplica la política de bucket, si el cliente no incluye la ACL predefinida `bucket-owner-full-control`, la operación produce un error y el cargador recibe el siguiente error: 

An error occurred (AccessDenied) when calling the PutObject operation: Access Denied (Se ha producido un error [AccessDenied] al llamar a la operación PutObject: Acceso denegado.

**nota**  
Si los clientes necesitan acceso a objetos después de la carga, tendrá que conceder permisos adicionales a la cuenta de carga. Para obtener información sobre cómo conceder acceso a las cuentas a los recursos, consulte [Explicaciones que utilizan políticas para administrar el acceso a los recursos de Amazon S3](example-walkthroughs-managing-access.md).