Configuración de la ACL
En esta sección, se explica cómo administrar permisos de acceso para buckets y objetos de S3 con listas de control de acceso (ACL). Puede agregar concesiones a la ACL de recursos con la AWS Management Console, AWS Command Line Interface (CLI), la API de REST o los SDK de AWS.
Los permisos para los buckets y los objetos son independientes entre sí. Un objeto no hereda los permisos del bucket en el que se encuentra. Por ejemplo, si crea un bucket y concede permisos de escritura a un usuario, no puede obtener acceso a los objetos de ese usuario a no ser que este le conceda acceso explícitamente.
Puede otorgar permisos a otros usuarios de Cuenta de AWS o a grupos predefinidos. El usuario o grupo al que le concede permisos se denomina beneficiario. De forma predeterminada, el propietario, que es la Cuenta de AWS que creó el bucket, tiene permisos completos.
Cada permiso que concede a un usuario o grupo añade una entrada a la ACL que está asociada con el bucket. La ACL incluye los permisos concedidos, que identifican al beneficiario y permiso concedido.
S3 Object Ownership es una configuración de bucket de Amazon S3 que puede usar para controlar la propiedad de los objetos que se cargan en el bucket y para activar o desactivar las ACL. De forma predeterminada, la propiedad de objetos se establece en la configuración impuesta por el propietario del bucket. Además, todas las ACL están deshabilitadas. Cuando las ACL están deshabilitadas, el propietario del bucket posee todos los objetos del bucket y administra su acceso de forma exclusiva mediante políticas de administración de acceso.
La mayoría de los casos de uso modernos de Amazon S3 ya no requieren el uso de ACL. Le recomendamos desactivar las ACL, excepto en circunstancias inusuales en las que necesite controlar el acceso a cada objeto de manera individual. Si las ACL están desactivadas, puede usar políticas para controlar el acceso a todos los objetos del bucket, independientemente de quién haya subido los objetos al bucket. Para obtener más información, consulte Control de la propiedad de los objetos y desactivación de las ACL del bucket.
importante
Si el bucket utiliza la configuración de propietario del bucket obligatorio de S3 Object Ownership, debe utilizar políticas para conceder acceso al bucket y a los objetos que contiene. Si la configuración impuesta por el propietario del bucket está activada, las solicitudes de configuración o actualización de las listas de control de acceso (ACL) fallan y devuelven el código de error AccessControlListNotSupported
. Las solicitudes de lectura de ACL siguen siendo compatibles.
aviso
Le recomendamos encarecidamente que evite otorgar acceso de escritura al grupo Everyone (public access) (Todos [acceso público]) o al grupo Authenticated Users group (all AWS authenticated users) (Grupo de usuarios autenticados [todos los usuarios autenticados de AWS]). Para obtener más información sobre los efectos de conceder acceso de escritura a estos grupos, consulte Grupos predefinidos de Amazon S3.
En la consola, se muestran las concesiones de acceso combinadas para los beneficiarios duplicados. Para ver la lista completa de ACL, utilice la API de REST de Amazon S3, la AWS CLI, o bien los SDK de AWS.
En la tabla siguiente se muestran los permisos de ACL que puede configurar para buckets en la consola de Amazon S3.
Permiso de la consola | Permiso de ACL | a los datos |
---|---|---|
Objetos: lista | READ |
Le permite al beneficiario crear una lista de objetos en el bucket |
Objetos: escribir | WRITE |
Permite al beneficiario crear nuevos objetos en el bucket. Para los propietarios de bucket y objetos de objetos existentes, también permite eliminar y sobrescribir esos objetos. |
ACL del bucket: leer | READ_ACP |
Le permite al beneficiario leer la ACL de bucket |
Bucket de ACL: escribir | WRITE_ACP |
Le permite al beneficiario escribir la ACL para el bucket correspondiente. |
Todos (acceso público): objetos - lista | READ |
Otorga acceso público de lectura para los objetos del bucket. Cuando concede acceso a la lista a Todos (acceso público), cualquier persona puede acceder a los objetos en el bucket. |
Todos (acceso público): ACL del bucket - Leer | READ_ACP |
Otorga acceso público de lectura para el ACL del bucket. Cuando concede acceso de lectura a Todos (acceso público), cualquier persona puede acceder al ACL del bucket. |
Para obtener más información acerca de los permisos de ACL, consulte Información general de las Listas de control de acceso (ACL).
importante
Si el bucket utiliza la configuración de propietario del bucket obligatorio de S3 Object Ownership, debe utilizar políticas para conceder acceso al bucket y a los objetos que contiene. Si la configuración impuesta por el propietario del bucket está activada, las solicitudes de configuración o actualización de las listas de control de acceso (ACL) fallan y devuelven el código de error AccessControlListNotSupported
. Las solicitudes de lectura de ACL siguen siendo compatibles.
Para establecer permisos de ACL de un bucket
Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/
. -
En la lista Buckets (Buckets), elija el nombre del bucket para el que desea configurar permisos.
-
Elija Permissions (Permisos).
-
En Access control list (Lista de control de acceso), elija Edit (Editar).
Puede editar los siguientes permisos de ACL para el bucket:
Objects
-
List (Lista): permite a un beneficiario enumerar los objetos del bucket.
-
Write (Escritura): permite al beneficiario crear nuevos objetos en el Bucket. Para los propietarios de bucket y objetos de objetos existentes, también permite eliminar y sobrescribir esos objetos.
En la consola de S3, solo puede otorgar acceso de escritura al grupo de entrega de registros de S3 y al propietario del bucket (su Cuenta de AWS). Recomendamos encarecidamente que no conceda acceso de escritura a otros beneficiarios. Sin embargo, si necesita otorgar acceso de escritura a otros beneficiarios, puede utilizar la AWS CLI, los SDK de AWS o la API de REST.
ACL del bucket
-
Read (Lectura): permite al beneficiario leer la ACL del bucket.
-
Write (Escritura): permite al beneficiario escribir la ACL para el bucket aplicable.
-
-
Para cambiar los permisos del propietario del bucket, al lado de Bucket owner (your Cuenta de AWS) (Propietario del bucket [la Cuenta de AWS]), desactive o seleccione alguno de los siguientes permisos de ACL:
-
Objetos: List (Lista) o Write (Escribir)
-
ACL de bucket: Read (Lectura) o Write (Escritura)
El propietario hace referencia a Usuario raíz de la cuenta de AWS, no a un usuario de IAM de AWS Identity and Access Management. Para obtener más información acerca del usuario raíz, consulte El Usuario raíz de la cuenta de AWS en la Guía del usuario de IAM.
-
-
Para otorgar o quitar permisos para el público en general (todos en Internet), al lado de Everyone (public access) (Todos [acceso público]), desactive o seleccione uno de los siguientes permisos de ACL:
-
Objects (Objetos): List (Lista)
-
Bucket ACL (ACL del bucket): Read (Leer)
aviso
Extreme las precauciones a la hora de otorgar al grupo Everyone (Todos) acceso público a su bucket de S3. Al otorgar acceso a este grupo, cualquier persona puede acceder a su bucket. Se recomienda encarecidamente que no otorgue nunca ningún tipo de acceso de escritura público en su bucket de S3.
-
-
Para otorgar o quitar permisos a cualquier persona con una Cuenta de AWS, al lado de Authenticated Users group (anyone with an Cuenta de AWS) (Grupo de usuarios autenticados [cualquiera que tenga una Cuenta de AWS]), desactive o seleccione alguno de los siguientes permisos de ACL:
-
Objects) (Objetos: List (Lista)
-
Bucket ACL) (ACL del bucket): Read (Leer)
-
-
Para conceder o quitar permisos para que Amazon S3 escriba registros de acceso al servidor en el bucket, en el S3 log delivery group (Grupo de entrega de registros de S3), desactive o seleccione uno de los siguientes permisos de ACL:
-
Objetos: List (Lista) o Write (Escribir)
-
ACL de bucket: Read (Lectura) o Write (Escritura)
Si un bucket está configurado como bucket de destino para recibir registros de acceso, los permisos del bucket deben permitir al grupo Log Delivery (Envío de registros) acceso de escritura al bucket. Cuando se activa el registro de acceso al servidor en un bucket, la consola de Amazon S3 concede acceso de escritura al grupo Log Delivery (Envío de registros) para el bucket de destino que se ha elegido para recibir los registros. Para obtener más información sobre el registro de acceso del servidor, consulte Habilitación del registro de acceso al servidor de Amazon S3.
-
-
Para otorgar acceso a otra Cuenta de AWS, realice lo siguiente:
-
Elija Add grantee (Agregar beneficiario).
-
En el cuadro Grantee (Beneficiario), ingrese el ID canónico de la otra Cuenta de AWS.
-
Seleccione uno de los siguientes permisos de ACL:
-
Objetos: List (Lista) o Write (Escribir)
-
ACL de bucket: Read (Lectura) o Write (Escritura)
-
aviso
Cuando otorgue a otras Cuentas de AWS acceso a sus recursos, tenga en cuenta que las Cuentas de AWS pueden delegar sus permisos a los usuarios de sus cuentas. Esto se conoce como acceso entre cuentas. Para obtener información acerca del uso del acceso entre cuentas, consulte Creación de un rol para delegar permisos a un usuario de IAM en la guía del usuario de IAM.
-
-
Para eliminar el acceso de otra Cuenta de AWS, en Access for other Cuentas de AWS (Acceso para otras Cuentas de AWS), seleccione Remove (Eliminar).
-
Para guardar los cambios, elija Save changes (Guardar cambios).
En la consola, se muestran las concesiones de acceso combinadas para los beneficiarios duplicados. Para ver la lista completa de ACL, utilice la API de REST de Amazon S3, la AWS CLI, o bien los SDK de AWS. En la tabla siguiente se muestran los permisos de ACL que puede configurar para objetos en la consola de Amazon S3.
Permiso de la consola | Permiso de ACL | a los datos |
---|---|---|
Objeto - Leer | READ |
Le permite al beneficiario leer los datos del objeto y sus metadatos. |
ACL de objeto - Leer | READ_ACP |
Le permite al beneficiario leer la ACL de objeto. |
ACL de objeto - Escribir | WRITE_ACP |
Le permite al beneficiario escribir la ACL para el objeto correspondiente |
Para obtener más información acerca de los permisos de ACL, consulte Información general de las Listas de control de acceso (ACL).
importante
Si el bucket utiliza la configuración de propietario del bucket obligatorio de S3 Object Ownership, debe utilizar políticas para conceder acceso al bucket y a los objetos que contiene. Si la configuración impuesta por el propietario del bucket está activada, las solicitudes de configuración o actualización de las listas de control de acceso (ACL) fallan y devuelven el código de error AccessControlListNotSupported
. Las solicitudes de lectura de ACL siguen siendo compatibles.
Para configurar permisos de un objeto
Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/
. -
En la lista Buckets (Buckets), elija el nombre del bucket que contiene el objeto.
-
En la lista Objects (Objetos), seleccione el nombre del objeto para el que desea configurar los permisos.
-
Elija Permissions.
-
En lista de control de acceso (ACL), elija Edit (Editar).
Puede editar los siguientes permisos de ACL para el objeto:
Objeto
-
Lectura : permite al beneficiario leer los datos del objeto y los metadatos.
ACL de objeto
-
Lectura : permite al beneficiario leer la ACL del objeto.
-
Escritura : permite al beneficiario escribir la ACL para el objeto aplicable. En la consola de S3, solo puede otorgar acceso de escritura al propietario del bucket (su Cuenta de AWS). Recomendamos encarecidamente que no conceda acceso de escritura a otros beneficiarios. Sin embargo, si necesita otorgar acceso de escritura a otros beneficiarios, puede utilizar la AWS CLI, los SDK de AWS o la API de REST.
-
-
Puede administrar permisos de acceso a objetos para lo siguiente:
-
Acceso para el propietario del objeto
El propietario hace referencia a Usuario raíz de la cuenta de AWS y no a un usuario de IAM de AWS Identity and Access Management. Para obtener más información acerca del usuario raíz, consulte El Usuario raíz de la cuenta de AWS en la Guía del usuario de IAM.
Para cambiar los permisos de acceso a objetos del propietario, en Access for object owner (Acceso para el propietario del objeto), elija Your AWS Account (owner) (Su cuenta de AWS [propietario]).
Marque las casillas de verificación para los permisos que desea cambiar y, a continuación, elija Save (Guardar).
-
Acceso para otras Cuentas de AWS
Para otorgar permisos a un usuario de AWS desde una Cuenta de AWS diferente, en Access for other Cuentas de AWS (Acceso para otras Cuentas de AWS), elija Add account (Agregar cuenta). En el campo Enter an ID (Ingresar un ID), ingrese el ID canónico del usuario de AWS al que desea otorgar permisos para el objeto. Para obtener información acerca de cómo buscar un ID canónico, consulte Identificadores de Cuenta de AWS en la Referencia general de Amazon Web Services. Puede añadir hasta 99 usuarios.
Tilde las casillas de verificación para los permisos que desea conceder al usuario y luego seleccione Save (Guardar). Para ver información acerca de los permisos, seleccione los iconos de ayuda.
-
Acceso público
Para conceder acceso a un objeto al público en general (a todo el mundo), en Public access (Acceso público), elija Everyone (Todos). Si se conceden permisos de acceso público, cualquier persona puede acceder al objeto desde cualquier lugar.
Marque las casillas de verificación para los permisos que desea conceder y, a continuación, elija Save (Guardar).
aviso
-
Extreme las precauciones a la hora de otorgar al grupo Everyone (Todos) acceso anónimos a sus objetos de Amazon S3. Al otorgar acceso a este grupo, cualquier persona puede acceder a su objeto. Si necesita otorgar acceso a todo el mundo, le recomendamos encarecidamente que solo conceda permisos para Read objects (Leer objetos).
-
Recomendamos encarecidamente que no conceda permisos de objeto de escritura sobre objetos al grupo Everyone (Todos). Al hacerlo permitirá que cualquier persona sobrescriba los permisos de ACL del objeto.
-
-
Esta sección ofrece ejemplos de cómo configurar las concesiones de la lista de control de acceso (ACL) para buckets y objetos.
importante
Si el bucket utiliza la configuración de propietario del bucket obligatorio de S3 Object Ownership, debe utilizar políticas para conceder acceso al bucket y a los objetos que contiene. Si la configuración impuesta por el propietario del bucket está activada, las solicitudes de configuración o actualización de las listas de control de acceso (ACL) fallan y devuelven el código de error AccessControlListNotSupported
. Las solicitudes de lectura de ACL siguen siendo compatibles.
Las API de Amazon S3 le permiten configurar una ACL cuando crea un bucket o un objeto. Amazon S3 también proporciona una API para configurar una ACL en un bucket o un objeto existente. Estas API le proporcionan los siguientes métodos para configurar una ACL:
-
Configuración de ACL con encabezados de solicitud: cuando envía una solicitud para crear un recurso (bucket u objeto), usted configura una ACL con los encabezados de solicitud. Con estos encabezados, usted puede especificar una ACL predefinida o especificar concesiones de forma explícita (identificación explícita del beneficiario y los permisos).
-
Configuración de ACL con cuerpo de solicitud: cuando envía una solicitud para configurar una ACL en un recurso existente, puede configurar la ACL en el encabezado de solicitud o en el cuerpo.
Para obtener información sobre la compatibilidad con la API de REST para administrar las ACL, consulte las siguientes secciones en la referencia de la API de Amazon Simple Storage Service:
importante
Si el bucket utiliza la configuración de propietario del bucket obligatorio de S3 Object Ownership, debe utilizar políticas para conceder acceso al bucket y a los objetos que contiene. Si la configuración impuesta por el propietario del bucket está activada, las solicitudes de configuración o actualización de las listas de control de acceso (ACL) fallan y devuelven el código de error AccessControlListNotSupported
. Las solicitudes de lectura de ACL siguen siendo compatibles.
Encabezados de solicitud específicos de la lista de control de acceso (ACL)
Puede utilizar encabezados para conceder permisos en función de listas de control de acceso (ACL). De forma predeterminada, todos los objetos son privados. Solo el propietario tiene control de acceso total. Si agrega un objeto nuevo, puede otorgar permisos a Cuentas de AWS individuales o a grupos predefinidos de Amazon S3. Estos permisos se añaden a la lista de control de acceso (ACL) del objeto. Para obtener más información, consulte Información general de las Listas de control de acceso (ACL).
Con esta operación, puede conceder permisos de acceso mediante uno de estos dos métodos:
-
ACL predefinidas (
x-amz-acl
): Amazon S3 admite un conjunto de ACL conservadas, conocidas como "ACL predefinidas". Cada ACL predefinida tiene un conjunto predefinido de beneficiarios y permisos. Para obtener más información, consulte ACL predefinidas. -
Permisos de acceso: para otorgar permisos de acceso de forma explícita a Cuentas de AWS o grupos específicos, utilice los encabezados siguientes. Cada encabezado se asigna a permisos específicos que Amazon S3 admite en una ACL. Para obtener más información, consulte Información general de las Listas de control de acceso (ACL). En el encabezado, especifique una lista de beneficiarios que obtienen el permiso específico.
-
x-amz-grant-read
-
x-amz-grant-write
-
x-amz-grant-read-acp
-
x-amz-grant-write-acp
-
x-amz-grant-full-control
-
Para obtener más información acerca de la administración de las ACL mediante la AWS CLI, consulte put-bucket-acl
importante
Si el bucket utiliza la configuración de propietario del bucket obligatorio de S3 Object Ownership, debe utilizar políticas para conceder acceso al bucket y a los objetos que contiene. Si la configuración impuesta por el propietario del bucket está activada, las solicitudes de configuración o actualización de las listas de control de acceso (ACL) fallan y devuelven el código de error AccessControlListNotSupported
. Las solicitudes de lectura de ACL siguen siendo compatibles.