Configuración de la propiedad de objetos en un bucket existente - Amazon Simple Storage Service

Configuración de la propiedad de objetos en un bucket existente

Puede configurar S3 Object Ownership en un bucket de S3 existente. Para aplicar la propiedad de objetos al crear un bucket, consulte Configuración de la propiedad de objetos al crear un bucket.

S3 Object Ownership es una configuración de bucket de Amazon S3 que puede utilizar para desactivar las listas de control de acceso (ACL) y asumir la propiedad de todos los objetos del bucket, lo que simplifica la administración del acceso de los datos almacenados en Amazon S3. De forma predeterminada, S3 Object Ownership se establece en la configuración Aplicada al propietario del bucket. Además, las ACL están deshabilitadas para los buckets nuevos. Cuando las ACL están desactivadas, el propietario del bucket posee todos los objetos del bucket y administra el acceso a los datos de forma exclusiva mediante políticas de administración de acceso. Le recomendamos que mantenga las ACL desactivadas, excepto en circunstancias inusuales en las que necesite controlar el acceso a cada objeto de manera individual.

La propiedad de objetos tiene tres configuraciones que puede utilizar para controlar la propiedad de los objetos que se cargan en el bucket y desactivar o habilitar las ACL:

ACL desactivadas
  • Propietario del bucket obligatorio (predeterminado): las ACL están desactivadas y el propietario del bucket tiene automáticamente la propiedad y el control total sobre cada objeto del bucket. Las ACL ya no afectan a los permisos de los datos del bucket de S3. El bucket utiliza políticas para definir el control de acceso.

ACL habilitadas
  • Propietario del bucket preferido: el propietario del bucket tiene la propiedad y el control total sobre los nuevos objetos que otras cuentas escriben en el bucket con la ACL predefinida bucket-owner-full-control.

  • Escritor del objeto: la Cuenta de AWS que carga un objeto es propietaria del objeto, tiene control total sobre él y puede conceder a otros usuarios acceso a él a través de ACL.

Requisitos previos: antes de aplicar la configuración Aplicada al propietario del bucket para desactivar las ACL, debe migrar los permisos de ACL del bucket a las políticas de bucket y restablecer las ACL del bucket a la ACL privada predeterminada. También recomendamos que migre los permisos de ACL de objetos a las políticas de bucket y edite las políticas de bucket que requieren ACL distintas de las ACL de control total del propietario del bucket. Para obtener más información, consulte Requisitos previos para desactivar las ACL.

Permisos: para utilizar esta operación, debe tener el permiso s3:PutBucketOwnershipControls. Para obtener más información sobre los permisos de Amazon S3, consulte Acciones, recursos y claves de condición para Amazon S3.

  1. Inicie sesión AWS Management Console Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En la lista Buckets, elija el nombre del bucket para el que desea configurar S3 Object Ownership.

  3. Elija la pestaña Permisos.

  4. En Object Ownership (Propiedad de objeto), elija Edit (Editar).

  5. En Object Ownership (Propiedad de objetos), para desactivar o habilitar las ACL y controlar la propiedad de los objetos cargados en el bucket, elija una de las siguientes configuraciones:

    ACL desactivadas
    • Propietario del bucket obligatorio: las ACL están desactivadas y el propietario del bucket tiene automáticamente la propiedad y el control total sobre cada objeto del bucket. Las ACL ya no afectan a los permisos de los datos del bucket de S3. El bucket utiliza políticas para definir el control de acceso.

      Para requerir que todos los buckets nuevos se creen con ACL desactivadas mediante políticas de IAM o AWS Organizations, consulte Desactivación de las ACL para todos los buckets nuevos (propietario del bucket obligatorio).

    ACL habilitadas
    • Propietario del bucket preferido: el propietario del bucket tiene la propiedad y el control total sobre los nuevos objetos que otras cuentas escriben en el bucket con la ACL predefinida bucket-owner-full-control.

      Si aplica la configuración de propietario del bucket preferido para requerir que todas las cargas de Amazon S3 incluyan la ACL predefinida bucket-owner-full-control, puede agregar una política de bucket que solo permita cargas de objetos que utilizan esta ACL.

    • Escritor del objeto: la Cuenta de AWS que carga un objeto es propietaria del objeto, tiene control total sobre él y puede conceder a otros usuarios acceso a él a través de ACL.

  6. Elija Guardar.

Para aplicar una configuración de propiedad de objetos a un bucket existente, utilice el comando put-bucket-ownership-controls con el parámetro --ownership-controls. Los valores válidos de propiedad son BucketOwnerEnforced, BucketOwnerPreferred o ObjectWriter.

En este ejemplo se aplica la configuración Aplicada al propietario del bucket para un bucket existente mediante la AWS CLI:

aws s3api put-bucket-ownership-controls --bucket DOC-EXAMPLE-BUCKET --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"

Para obtener más información sobre put-bucket-ownership-controls, consulte put-bucket-ownership-controls en la Guía del usuario de AWS Command Line Interface.

En este ejemplo se aplica la configuración BucketOwnerEnforced de Propiedad de objetos en un bucket existente mediante AWS SDK for Java:

// Build the ObjectOwnership for BucketOwnerEnforced OwnershipControlsRule rule = OwnershipControlsRule.builder() .objectOwnership(ObjectOwnership.BucketOwnerEnforced) .build(); OwnershipControls ownershipControls = OwnershipControls.builder() .rules(rule) .build() // Build the PutBucketOwnershipControlsRequest PutBucketOwnershipControlsRequest putBucketOwnershipControlsRequest = PutBucketOwnershipControlsRequest.builder() .bucket(BUCKET_NAME) .ownershipControls(ownershipControls) .build(); // Send the request to Amazon S3 s3client.putBucketOwnershipControls(putBucketOwnershipControlsRequest);

Para usar AWS CloudFormation para aplicar una configuración de propiedad de objetos para un bucket existente, consulte AWS::S3::Bucket OwnershipControls en la Guía del usuario de AWS CloudFormation.

Para utilizar la API de REST para aplicar una configuración de propiedad de objetos a un bucket de S3 existente, utilice PutBucketOwnershipControls. Para obtener más información, consulte PutBucketOwnershipControls en la Referencia de la API de Amazon Simple Storage Service.

Pasos siguientes: Después de aplicar la configuración de propietario del bucket obligatorio o la configuración de propietario del bucket preferido de Propietario de objetos, puede seguir los siguientes pasos:

  • Propietario del bucket obligatorio: requiere que todos los buckets nuevos se creen con ACL desactivadas mediante una política de IAM u Organizations.

  • Propietario del bucket preferido: agrega una política de bucket de S3 para solicitar la ACL predefinida bucket-owner-full-control para todas las cargas de objetos en el bucket.