Administración de accesos - Amazon Simple Storage Service

Administración de accesos

En AWS, un recurso es una entidad con la que se puede trabajar. En Amazon Simple Storage Service (S3), los buckets y los objetos son los recursos originales de Amazon S3. Es probable que todos los clientes de S3 tengan buckets con objetos en ellos. A medida que se agregaban nuevas funciones a S3, también se agregaban recursos adicionales, pero no todos los clientes utilizan estos recursos específicos de características. Para obtener más información sobre los recursos de Amazon S3, consulte Recursos de S3.

De forma predeterminada, todos los recursos de Amazon S3 son privados. De forma predeterminada, el usuario raíz de la Cuenta de AWS que creó el recurso (propietario del recurso) y los usuarios de IAM de esa cuenta con los permisos necesarios pueden acceder al recurso que hayan creado. El propietario del recurso decide quién más puede acceder al recurso y las acciones que otros pueden realizar en el recurso. S3 cuenta con varias herramientas de administración de acceso que puede utilizar para conceder a otras personas el acceso a sus recursos de S3.

En las siguientes secciones, encontrará información general sobre los recursos de S3, las herramientas de administración de acceso de S3 disponibles y los mejores casos de uso de cada herramienta de administración de acceso. Las listas de estas secciones pretenden ser exhaustivas e incluir todos los recursos de S3, las herramientas de administración de acceso y los casos de uso comunes de la administración de acceso. Al mismo tiempo, estas secciones están diseñadas para ser directorios que lo guíen a los detalles técnicos que desee. Si conoce bien algunos de los siguientes temas, puede pasar directamente a la sección que se aplique a su caso.

Recursos de S3

Los recursos originales de Amazon S3 son buckets y los objetos que contienen. A medida que se agregaban nuevas características a S3, también se agregaban nuevos recursos. A continuación se muestra una lista completa de recursos de S3 y sus características respectivas.

Tipo de recurso Característica de Amazon S3 Descripción

bucket

Características principales

Un bucket es un contenedor de objetos. Para almacenar un objeto en S3, cree un bucket y, a continuación, cargue uno o más objetos en el bucket. Para obtener más información, consulte Creación, configuración y trabajo con buckets de Amazon S3.

object

Un objeto puede ser un archivo y cualquier metadato que describa ese archivo. Cuando un objeto está en el bucket, puede abrirlo, descargarlo y moverlo. Para obtener más información, consulte Cargar, descargar y trabajar con objetos en Amazon S3.

accesspoint

Puntos de acceso

Los puntos de acceso son puntos de conexión de red con nombre y asociados a los buckets que se pueden utilizar para realizar operaciones con objetos de Amazon S3, como GetObject y PutObject. Cada punto de acceso tiene permisos distintos, controles de red y una política de punto de acceso personalizada que funciona en conjunción con la política de bucket asociada al bucket subyacente. Puede configurar cualquier punto de acceso para que acepte solo las solicitudes procedentes de una nube privada virtual (VPC) o configurar ajustes personalizados de bloquear acceso público para cada punto de acceso. Para obtener más información, consulte Administración del acceso a datos con puntos de acceso de Amazon S3.

objectlambdaaccesspoint

Un punto de acceso de Object Lambda es un punto de acceso para un bucket que también está asociado a una función de Lambda. Con el punto de acceso de Object Lambda, puede agregar su propio código a las solicitudes GET, LIST y HEAD de Amazon S3 para modificar y procesar los datos a medida que vuelven a una aplicación. Para obtener más información, consulte Creación de puntos de acceso Object Lambda.

multiregionaccesspoint

Los puntos de acceso multirregión proporcionan un punto de conexión global que las aplicaciones pueden utilizar para satisfacer las solicitudes de los buckets de Amazon S3 ubicados en varias regiones de AWS. Puede utilizar puntos de acceso multirregional para crear aplicaciones multirregionales con la misma arquitectura que se utiliza en una sola región y, a continuación, ejecutar esas aplicaciones en cualquier parte del mundo. En lugar de enviar las solicitudes a través de la congestionada Internet pública, las solicitudes de aplicación realizadas a un punto de conexión global de punto de acceso multirregión se dirigen automáticamente a través de la red global de AWS hacia el bucket de Amazon S3 más próximo. Para obtener más información, consulte Puntos de acceso de varias regiones de Amazon S3.

job

Operaciones por lotes de S3

Un trabajo es un recurso de la característica de Operaciones por lotes de S3. Puede utilizar Operaciones por lotes de S3 para realizar operaciones por lotes a gran escala en listas de objetos de Amazon S3 que especifique. Amazon S3 realiza un seguimiento del avance del trabajo de operación por lotes, envía notificaciones y guarda un informe de finalización de todas las acciones, por lo que proporciona una experiencia sin servidor, auditable y completamente administrada. Para obtener más información, consulte Realización de operaciones por lotes a gran escala en objetos de Amazon S3.

storagelensconfiguration

Almacenamiento de lente de S3

Una configuración de Lente de almacenamiento de S3 recopila métricas de almacenamiento en toda la organización y datos de usuario entre cuentas. La Lente de almacenamiento de S3 proporciona a los administradores una visión única del uso y la actividad del almacenamiento de objetos en cientos o incluso miles de cuentas de una organización, con detalles para generar información en varios niveles de agregación. Para obtener más información, consulte Evaluación de la actividad y el uso de almacenamiento con Amazon S3 Storage Lens.

storagelensgroup

Un grupo de Lente de almacenamiento de S3 Storage Lens agrega métricas mediante filtros personalizados en función de metadatos de objetos. Los grupos de Lente de almacenamiento de S3 le ayudan a investigar las características de sus datos, como la distribución de los objetos por antigüedad, sus tipos de archivos más comunes, etc. Para obtener más información, consulte Trabajo con grupos de S3 Storage Lens.

accessgrantsinstance

Permisos de acceso de S3

Una instancia de Concesiones de acceso a S3 es un contenedor para las concesiones de S3 que cree. Con Concesiones de acceso a S3, puede crear concesiones a sus datos de Amazon S3 para las identidades de IAM de su cuenta, las identidades de IAM de otras cuentas (entre cuentas) y las identidades de directorio añadidas a AWS IAM Identity Center desde su directorio corporativo. Para obtener más información sobre Concesiones de acceso a S3, consulte Administración del acceso con S3 Access Grants.

accessgrantslocation

Una ubicación de Concesiones de acceso es un bucket, un prefijo dentro de un bucket o un objeto que se registra en la instancia de Concesiones de acceso de S3. Debe registrar las ubicaciones en la instancia de Concesiones de acceso de S3 antes de poder crear una concesión para esa ubicación. A continuación, con Concesiones de acceso a S3 puede conceder acceso al bucket, al prefijo o al objeto para las identidades de IAM de su cuenta, las identidades de IAM de otras cuentas (entre cuentas) y las identidades de directorio agregadas a AWS IAM Identity Center desde su directorio corporativo. Para obtener más información sobre Concesiones de acceso a S3, consulte Administración del acceso con S3 Access Grants

accessgrant

Una concesión de acceso es una concesión individual a sus datos de Amazon S3. Con Concesiones de acceso a S3, puede crear concesiones a sus datos de Amazon S3 para las identidades de IAM de su cuenta, las identidades de IAM de otras cuentas (entre cuentas) y las identidades de directorio añadidas a AWS IAM Identity Center desde su directorio corporativo. Para obtener más información sobre Concesiones de acceso a S3, consulte Administración del acceso con S3 Access Grants

Buckets

Existen dos tipos de buckets de Amazon S3: buckets de uso general y buckets de directorio.

Categorización de los recursos de S3

Amazon S3 ofrece características para categorizar y organizar los recursos de S3. La categorización de los recursos no solo es útil para organizarlos, sino que también permite establecer reglas de administración de acceso en función de las categorías de recursos. En concreto, los prefijos y el etiquetado son dos características de organización del almacenamiento que puede utilizar al configurar los permisos de administración de acceso.

nota

La siguiente información se aplica a los buckets de uso general. Los buckets de directorio no admiten el etiquetado y tienen limitaciones de prefijos. Para obtener más información, consulte AWS Identity and Access Management (IAM) para S3 Express One Zone.

  • Prefijos: un prefijo en Amazon S3 es una cadena de caracteres al principio del nombre de una clave de objeto que se utiliza para organizar los objetos en sus bucket de S3. Puede usar un carácter delimitador, como una barra inclinada (/), para indicar el final del prefijo dentro del nombre de la clave del objeto. Por ejemplo, puede tener nombres de clave de objeto que comiencen por el prefijo engineering/ o nombres de clave de objeto que comiencen por el prefijo marketing/campaigns/. El uso de un delimitador al final del prefijo, como una barra inclinada /, emula las convenciones de nomenclatura de carpetas y archivos. Sin embargo, en S3, el prefijo forma parte del nombre de la clave de objeto. En los buckets de S3 de uso general, no existe una jerarquía de carpetas real.

    Amazon S3 permite organizar y agrupar objetos mediante sus prefijos. También puede administrar el acceso a los objetos mediante sus prefijos. Por ejemplo, puede limitar el acceso a solo los objetos con nombres que comiencen con un prefijo concreto.

    Para obtener más información, consulte Organizar objetos con prefijos. La consola S3 utiliza el concepto de carpetas que, en los buckets de uso general, son básicamente prefijos que se anteponen al nombre de la clave del objeto. Para obtener más información, consulte Organización de objetos en la consola de Amazon S3 con carpetas.

  • Etiquetas: cada etiqueta es un par de clave-valor que puede asignar a los recursos. Por ejemplo, puede etiquetar algunos recursos con la etiqueta topicCategory=engineering. Puede utilizar el etiquetado para facilitar la asignación de costos, la categorización, la organización y el control de acceso. El etiquetado de buckets solo se utiliza para la asignación de costos. Puede etiquetar objetos, Lente de almacenamiento de S3, trabajos y Concesiones de acceso a S3 con fines de organización o control de acceso. En Concesiones de acceso a S3, también puede utilizar el etiquetado para asignar los costos. Como ejemplo del control del acceso a los recursos mediante sus etiquetas, puede compartir solo los objetos que tengan una etiqueta o una combinación de etiquetas concretas.

    Para obtener más información, consulte Control del acceso a los recursos de AWS mediante etiquetas de recursos en la Guía del usuario de IAM.

Identidades

En Amazon S3, el propietario del recurso es la identidad que creó el recurso, como un bucket o un objeto. De forma predeterminada, solo el usuario raíz de la cuenta que creó el recurso y las identidades de IAM de la cuenta que tiene el permiso necesario puede acceder al recurso de S3. Los propietarios de los recursos pueden conceder a otras identidades el acceso a sus recursos de S3.

Las identidades que no posean un recurso pueden solicitar acceso a ese recurso. Todas las solicitudes a un recurso son autenticadas o no autenticadas. Las solicitudes autenticadas deben incluir un valor de firma que autentique al remitente de la solicitud, pero las solicitudes no autenticadas no requieren una firma. Le recomendamos que conceda acceso solo a los usuarios autenticados. Para obtener más información acerca de la autenticación de solicitudes, consulte Realizar solicitudes.

importante

Recomendamos que no utilice las credenciales del usuario raíz de la Cuenta de AWS para realizar solicitudes autenticadas. En su lugar, cree un rol de IAM y concédale derechos de acceso completos. Los usuarios con este rol se denominan usuarios administradores. Puede utilizar las credenciales asignadas al rol de administrador, en lugar de las credenciales de usuario raíz de la Cuenta de AWS, para interactuar con AWS y realizar tareas, como crear un bucket, crear usuarios y conceder permisos. Para obtener más información, consulte Credenciales de usuario raíz de Cuenta de AWS y credenciales de usuario de IAM en la Referencia general de AWS y las Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.

Las identidades que acceden a sus datos en Amazon S3 pueden ser una de las siguientes:

Propietario de la Cuenta de AWS

La Cuenta de AWS que creó el recurso. Por ejemplo, la cuenta que creó el bucket. Esta cuenta es propietaria del recurso. Para obtener más información, consulte Usuario raíz de la cuenta de AWS.

Identidades de IAM en la misma cuenta del propietario de la Cuenta de AWS

Al configurar cuentas para nuevos miembros del equipo que requieren acceso a S3, el propietario de la Cuenta de AWS puede usar AWS Identity and Access Management (IAM) para crear usuarios, grupos y roles. A continuación, el propietario de la Cuenta de AWS puede compartir recursos con estas identidades de IAM. El propietario de la cuenta también puede especificar los permisos para conceder las identidades de IAM, que permiten o deniegan las acciones que se pueden realizar en los recursos compartidos.

Las identidades de IAM proporcionan capacidades mejoradas, incluida la capacidad de requerir a los usuarios que especifiquen credenciales de inicio de sesión antes de acceder a recursos compartidos. Mediante el uso de identidades IAM puede implementar una forma de autenticación multifactor (MFA) de IAM para permitir una base de identidad sólida. Una práctica recomendada de IAM consiste en crear roles para la administración del acceso en lugar de conceder permisos a cada usuario individual. Se asigna a los usuarios individuales el rol adecuado. Para obtener más información, consulte prácticas recomendadas de seguridad en IAM.

Otros propietarios de cuentas de AWS y sus identidades de IAM (acceso entre cuentas)

El propietario de la Cuenta de AWS también puede dar acceso a los recursos a otros propietarios de cuentas de AWS o a identidades de IAM que pertenezcan a otra cuenta de AWS.

nota

Delegación de permisos: si una Cuenta de AWS es propietaria de un recurso, puede conceder esos permisos a otra Cuenta de AWS. Esa cuenta, a continuación, puede delegar esos permisos, o un subconjunto de ellos, a usuarios de la misma cuenta. Esto se conoce como delegación de permisos. Sin embargo, una cuenta que recibe permisos de otra cuenta no puede delegar esos permisos “entre cuentas” a otra Cuenta de AWS.

Usuarios anónimos (acceso público)

El propietario de la Cuenta de AWS puede hacer públicos los recursos. Al hacer público un recurso, técnicamente se comparte el recurso con el usuario anónimo. Los buckets creados a partir de abril de 2023 bloquean todo el acceso público de forma predeterminada, a menos que cambie este ajuste. Le recomendamos que configure sus buckets para que bloqueen el acceso público y que solo conceda acceso a usuarios autenticados. Para obtener más información acerca del bloqueo del acceso público, consulte Bloquear el acceso público a su almacenamiento de Amazon S3.

Servicios de AWS

El propietario del recurso puede conceder a otro servicio de AWS acceso a un recurso de Amazon S3. Por ejemplo, puede conceder el permiso s3:PutObject del servicio de AWS CloudTrail para escribir archivos de registro en su bucket. Para obtener más información, consulte Proporcionar acceso a un servicio de AWS.

Identidades de directorios de empresa

El propietario del recurso puede conceder a los usuarios o roles de su directorio corporativo acceso a un recurso de S3 mediante Concesiones de acceso a S3. Para obtener más información sobre cómo agregar el directorio corporativo a AWS IAM Identity Center, consulte What Is IAM Identity Center?.

Propietarios de buckets o recursos

La Cuenta de AWS que se usa para crear buckets y cargar objetos es la propietaria de dichos recursos. Un propietario del bucket puede conceder permisos de una cuenta a otra Cuenta de AWS (o a usuarios de otra cuenta) para cargar objetos.

Cuando el propietario de un bucket permite que otra cuenta cargue objetos a un bucket, el propietario del bucket, de forma predeterminada, es el propietario de todos los objetos cargados en su bucket. Sin embargo, si están desactivados tanto los ajustes de bucket de Aplicada al propietario del bucket como de Propietario del bucket preferido, la Cuenta de AWS que carga los objetos es la propietaria de esos objetos y el propietario del bucket no tiene permisos sobre los objetos que son propiedad de otra cuenta, con las siguientes excepciones:

  • El propietario del bucket es quien paga las facturas. El propietario del bucket puede denegar el acceso a cualquier objeto, o eliminar cualquier objeto del bucket, independientemente de quién sea el propietario.

  • El propietario del bucket puede archivar los objetos o restaurar los objetos archivados, independientemente de quién sea el propietario. El archivado se refiere a la clase de almacenamiento empleada para almacenar los objetos. Para obtener más información, consulte Administración del ciclo de vida del almacenamiento.

Herramientas de administración de acceso

Amazon S3 proporciona una variedad de características y herramientas de seguridad. A continuación se muestra una lista completa de estas características y herramientas. No necesita todas estas herramientas de administración de acceso, pero debe usar una o más para conceder acceso a sus recursos de Amazon S3. La aplicación adecuada de estas herramientas puede ayudarle a garantizar que solo pueden acceder a sus recursos los usuarios previstos.

La herramienta de administración de acceso más utilizada es una política de acceso. Una política de acceso puede ser una política basada en recursos que se asocia a un recurso de AWS, como una política de bucket para un bucket. Una política de acceso también puede ser una política basada en identidades que se asocia a una identidad AWS Identity and Access Management (IAM), como un usuario, grupo o rol de IAM. Escriba una política de acceso para conceder a Cuentas de AWS y usuarios, grupos y roles de IAM permisos para realizar operaciones en un recurso. Por ejemplo, puede conceder un permiso PUT Object a otra cuenta Cuenta de AWS de modo que la otra cuenta pueda cargar objetos en su bucket.

Una política de acceso describe quién tiene acceso a qué elemento. Cuando Amazon S3 recibe una solicitud, debe evaluar todas las políticas de acceso para determinar si debe autorizar o denegar la solicitud. Para obtener más información sobre evalúa estas políticas Amazon S3, consulte Cómo autoriza Amazon S3 una solicitud.

A continuación se muestran las herramientas de administración de acceso disponibles en Amazon S3.

Una política de bucket de Amazon S3 es una política basada en recursos de AWS Identity and Access Management (IAM) con formato JSON que se asocia a un bucket concreto. Utilice políticas de bucket para conceder a otras Cuentas de AWS o a identidades de IAM permisos para el bucket y los objetos que contiene. Muchos casos de uso de administración de acceso de S3 se pueden cumplir con una política de bucket. Con las políticas de bucket, puede personalizar el acceso al bucket para garantizar que solo las identidades que haya aprobado puedan acceder a los recursos y realizar acciones dentro de ellos. Para obtener más información, consulte Políticas de buckets para Amazon S3.

A continuación se muestra un ejemplo de política de bucket. La política de bucket se expresa con un archivo JSON. Este ejemplo de política concede a un rol de IAM permiso de lectura para todos los objetos en el bucket. Contiene una instrucción llamada BucketLevelReadPermissions, que permite la acción s3:GetObject (permiso de lectura) en objetos que estén en un bucket llamado DOC-EXAMPLE-BUCKET1. Al especificar un rol de IAM como Principal, esta política concede acceso a cualquier usuario de IAM con este rol. Para utilizar esta política de ejemplo, sustituya user input placeholders por su propia información.

{ "Version":"2012-10-17", "Statement": [ { "Sid":"BucketLevelReadPermissions", "Effect":"Allow", "Principal": { "AWS": "arn:aws:iam::123456789101:role/s3-role" }, "Action":["s3:GetObject"], "Resource":["arn:aws:s3:::DOC-EXAMPLE-BUCKET1/*"] }] }
nota

Al crear políticas, evite el uso de caracteres comodín (*) en el elemento Principal porque al usarlo permite a cualquiera acceder a sus recursos de Amazon S3. En lugar de ello, enumere explícitamente los usuarios o grupos a los que se les permite acceder al bucket, o enumere las condiciones que deben cumplirse mediante una cláusula de condición en la política. Además, en lugar de incluir un carácter comodín para las acciones de los usuarios o grupos, concédales permisos concretos cuando corresponda.

Una política de usuario de IAM o basada en identidades es un tipo de política de AWS Identity and Access Management (IAM). Una política basada en identidades es una política con formato JSON que se asocia a los usuarios, grupos o roles de IAM de su cuenta de AWS. Puede utilizar políticas basadas en identidades para conceder a una identidad de IAM acceso a sus buckets u objetos. Puede crear usuarios, grupos y roles de IAM en su cuenta y asociarles políticas de acceso. A continuación, puede conceder acceso a los recursos de AWS, incluidos los recursos de Amazon S3. Para obtener más información, consulte Políticas basadas en identidad para Amazon S3.

A continuación se muestra un ejemplo de una política basada en identidades. La política de ejemplo permite al rol de IAM asociado que realice seis acciones de Amazon S3 (permisos) diferentes en un bucket y los objetos que contiene. Si asocia esta política a un rol de IAM en su cuenta y asigna el rol a algunos de sus usuarios de IAM, los usuarios con este rol podrán realizar estas acciones en los recursos (buckets) especificados en su política. Para utilizar esta política de ejemplo, sustituya user input placeholders por su propia información.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AssignARoleActions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET1/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET1" ] }, { "Sid": "AssignARoleActions2", "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" } ] }

Utilice Concesiones de acceso a S3 para crear concesiones de acceso a sus datos de Amazon S3 tanto para las identidades en los directorios de identidades corporativas, como Active Directory, como para las identidades AWS Identity and Access Management (de IAM). Concesiones de acceso a S3 le ayuda a administrar los permisos de datos a escala. Además, Concesiones de acceso a S3 registra la identidad del usuario final y la aplicación utilizada para acceder a los datos de S3 en AWS CloudTrail. Esto proporciona un historial de auditoría detallado que incluye hasta la identidad del usuario final para todos los accesos a los datos de sus buckets de S3. Para obtener más información, consulte Administración del acceso con S3 Access Grants.

Los puntos de acceso de Amazon S3 simplifican la administración del acceso a los datos a escala para aplicaciones que utilizan conjuntos de datos compartidos en Amazon S3. Los puntos de acceso son puntos de conexión de red con nombre que están asociados a los buckets. Puede usar puntos de acceso para realizar operaciones de objetos de S3 a escala, como la carga y la recuperación de objetos. Un bucket puede tener hasta 10 000 puntos de acceso asociados y para cada punto de acceso puede aplicar permisos y controles de red diferenciados para proporcionarle un control detallado sobre el acceso a los objetos de S3. Los puntos de acceso de Amazon S3 se pueden asociar a buckets en la misma cuenta o en otra cuenta de confianza. Las políticas de puntos de acceso son políticas basadas en recursos que se evalúan junto con la política de bucket subyacente. Para obtener más información, consulte Administración del acceso a datos con puntos de acceso de Amazon S3.

Una ACL es una lista de concesiones en la que se identifica el beneficiario y el permiso concedido. Puede utilizar las ACL para conceder permisos de lectura o escritura básicos a otras Cuentas de AWS. Las ACL usan un esquema XML específico de Amazon S3. Una ACL es un tipo de política de AWS Identity and Access Management (IAM). Una ACL de objeto se usa para administrar el acceso a un objeto y una ACL de bucket se usa para administrar el acceso a un bucket. Con las políticas de bucket, hay una sola política de bucket para la totalidad del bucket, pero las ACL de objetos se especifican por cada objeto. Le recomendamos que mantenga las ACL desactivadas, excepto en circunstancias inusuales en las que necesite controlar el acceso a cada objeto de manera individual. Para obtener más información sobre cómo utilizar las ACL, consulte Control de la propiedad de los objetos y desactivación de las ACL del bucket.

aviso

La mayoría de los casos de uso modernos de Amazon S3 ya no requieren el uso de ACL.

A continuación se muestra una ACL de bucket de ejemplo. La concesión en la ACL muestra un propietario del bucket que tiene permisos de control pleno.

<?xml version="1.0" encoding="UTF-8"?> <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>Owner-Canonical-User-ID</ID> <DisplayName>owner-display-name</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Canonical User"> <ID>Owner-Canonical-User-ID</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy>

Para administrar el acceso a sus objetos, debe ser el propietario del objeto. Puede utilizar el ajuste en el nivel de bucket de Propiedad de objetos para controlar la propiedad de los objetos cargados en el bucket. Además, use Propiedad de objetos para activar las ACL. De forma predeterminada, la Propiedad de objetos se establece en el ajuste Aplicada al propietario del bucket y todas las ACL están deshabilitadas. Cuando las ACL están deshabilitadas, el propietario del bucket posee todos los objetos del bucket y administra el acceso a los datos de forma exclusiva. Para administrar el acceso, el propietario del bucket usa políticas u otra herramienta de administración de acceso, excluyendo las ACL. Para obtener más información, consulte Control de la propiedad de los objetos y desactivación de las ACL del bucket.

La Propiedad de objetos tiene tres ajustes que puede utilizar para controlar la propiedad de los objetos que se cargan en el bucket y activar las ACL:

ACL desactivadas
  • Aplicada al propietario del bucket (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 no afectan a los permisos de los datos del bucket de S3. El bucket utiliza políticas exclusivamente para definir el control de acceso.

ACL activadas
  • 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.

Prácticas recomendadas adicionales

Plantéese el uso de los siguientes ajustes y herramientas de bucket para ayudar a proteger los datos en tránsito y en reposo, lo cual es crucial para mantener la integridad y la accesibilidad de los datos:

  • Bloquear el acceso público: no desactive la configuración de nivel de bucket predeterminada Bloquear el acceso público. Este ajuste bloquea el acceso público a los datos de forma predeterminada. Para obtener más información acerca del bloqueo del acceso público, consulte Bloquear el acceso público a su almacenamiento de Amazon S3.

  • Control de versiones de S3: para garantizar la integridad de los datos, puede implementar el ajuste del bucket de control versiones de S3, que versiona los objetos a medida que realiza actualizaciones, en lugar de sobrescribirlos. Puede usar el control de versiones de S3 para conservar, recuperar y restaurar una versión anterior, si es necesario. Para obtener más información sobre el control de versiones de S3, consulte Usar el control de versiones en buckets de S3.

  • Bloqueo de objetos de S3: el bloqueo de objetos de S3 es otro ajuste que puede implementar para lograr la integridad de los datos. Esta característica puede implementar un modelo de escritura única y lectura múltiple (WORM) para almacenar objetos de forma inmutable. Para obtener más información acerca del Bloqueo de objetos, consulte Usar Bloqueo de objetos de S3.

  • Cifrado de objetos: Amazon S3 ofrece varias opciones de cifrado de objetos que protegen los datos en tránsito y en reposo. El cifrado en el servidor cifra el objeto antes de guardarlo en discos de sus centros de datos y, a continuación, lo descifra al descargar los objetos. Si autentica su solicitud y tiene permisos de acceso, no existe diferencia alguna en la forma de obtener acceso a objetos cifrados o sin cifrar. Para obtener más información, consulte Protección de los datos con el cifrado del servidor. S3 cifra los objetos recién cargados de forma predeterminada. Para obtener más información, consulte Establecer el comportamiento del cifrado predeterminado del lado del servidor para los buckets de Amazon S3. El cifrado del lado del cliente es el acto de cifrar datos antes de enviarlos a Amazon S3. Para obtener más información, consulte Protección de los datos con el cifrado del cliente.

  • Métodos de firma Signature Version 4 es el proceso de agregar información de autenticación a las solicitudes de AWS enviadas por HTTP. Por seguridad, la mayoría de las solicitudes de AWS se firman con una clave de acceso, que se compone de un ID de clave de acceso y una clave de acceso secreta. Estas dos claves comúnmente se denominan credenciales de seguridad. Para obtener más información, consulte Autenticación de solicitudes (AWS Signature Version 4) y Proceso de firma de Signature Version 4.

Acciones

Para obtener una lista completa de las claves de condición y los permisos de S3, consulte Actions, resources, and condition keys for Amazon S3 en la Referencia de autorizaciones de servicios.

Acciones

Las acciones de AWS Identity and Access Management (IAM) de Amazon S3 son las posibles acciones que se pueden realizar en un bucket u objeto de S3. Concede estas acciones a las identidades para que puedan actuar en sus recursos de S3. Algunos ejemplos de acciones de S3 son s3:GetObject para leer los objetos de un bucket y s3:PutObject para escribir objetos en un bucket.

Claves de condición

Además de las acciones, las claves de condición de IAM se limitan a conceder acceso únicamente cuando se cumple una condición. Las claves de condición son opcionales.

nota

En una política de acceso basada en recursos, como una política de bucket, o en una política basada en identidades, puede especificar lo siguiente:

  • Una acción o un conjunto de acciones en el elemento Action de la instrucción de política.

  • En el elemento Effect de la instrucción de política, puede especificar Allow para conceder las acciones de la lista o puede especificar Deny para bloquear las acciones de la lista. Para seguir utilizando la práctica de los privilegios mínimos, las instrucciones Deny en el elemento Effect de la política de acceso deben ser lo más amplias posibles y las instrucciones Allow deben ser lo más reducidas posibles. Los efectos de Deny combinados con la acción de s3:* son otra buena manera de implementar las prácticas recomendadas de alta de las identidades incluidas en las instrucciones condicionales de la política.

  • Una condición clave en el elemento Condition de una instrucción de política.

Casos de uso de administración de acceso

Amazon S3 proporciona a los propietarios de los recursos una variedad de herramientas para conceder el acceso. La herramienta de administración de acceso de S3 que utilice depende de los recursos de S3 que desee compartir, las identidades a las que conceda acceso y las acciones que desee permitir o denegar. Puede utilizar una herramienta de administración de acceso de S3 o una combinación de herramientas para administrar el acceso a sus recursos de S3.

En la mayoría de los casos, puede utilizar una política de acceso para administrar los permisos. Una política de acceso puede ser una política basada en recursos que se asocia a un recurso, como un bucket u otro recurso de Amazon S3 (Recursos de S3). Una política de acceso también puede ser una política basada en identidades que se asocia a un usuario, grupo o rol de AWS Identity and Access Management (AIM) en su cuenta. Puede que descubra que una política de bucket funciona mejor para su caso de uso. Para obtener más información, consulte Políticas de buckets para Amazon S3. Como alternativa, con AWS Identity and Access Management (IAM), puede crear usuarios, grupos y roles de IAM dentro de su Cuenta de AWS y administrar su acceso a los buckets y objetos a través de políticas basadas en identidades. Para obtener más información, consulte Políticas basadas en identidad para Amazon S3.

Para ayudarle a explorar estas opciones de administración de acceso, los siguientes son casos de uso comunes de los clientes de Amazon S3 y recomendaciones de cada una de las herramientas de administración de acceso de S3.

Todas las herramientas de administración de acceso pueden cumplir este caso de uso básico. Recomendamos las siguientes herramientas de administración de acceso para este caso de uso:

  • Política de buckets: si quiere conceder acceso a un bucket o a un número reducido de buckets, o bien si sus permisos de acceso a buckets son similares de un bucket a otro, utilice una política de buckets. Con las políticas de buckets, se administra una política para cada bucket. Para obtener más información, consulte Políticas de buckets para Amazon S3.

  • Política basada en identidades: si tiene una gran cantidad de buckets con diferentes permisos de acceso para cada bucket y solo tiene que gestionar unos pocos roles de usuario, puede utilizar una política de IAM para los usuarios, grupos o roles. Las políticas de IAM también son una buena opción si gestiona el acceso de los usuarios a otros recursos de AWS, así como a los recursos de Amazon S3. Para obtener más información, consulte Ejemplo 1: propietario del bucket que concede permisos de bucket a sus usuarios.

  • Concesiones de acceso a S3: puede utilizar Concesiones de acceso a S3 para conceder acceso a sus buckets, prefijos u objetos de S3. Concesiones de acceso a S3 le permite especificar distintos permisos en el nivel de objetos a escala, mientras que las políticas de bucket tienen un tamaño limitado a 20 KB. Para obtener más información, consulte Introducción a S3 Access Grants.

  • Puntos de acceso: puede utilizar puntos de acceso, que son puntos de conexión de red con nombre que están asociados a un bucket. Un bucket puede tener hasta 10 000 puntos de acceso asociados y para cada punto de acceso puede aplicar permisos y controles de red diferenciados para proporcionarle un control detallado sobre el acceso a los objetos de S3. Para obtener más información, consulte Administración del acceso a datos con puntos de acceso de Amazon S3.

Para conceder el permiso a otra Cuenta de AWS, debe usar una política de bucket o una de las siguientes herramientas de administración de acceso recomendadas. No puede utilizar una política de acceso basada en identidades para este caso de uso. Para obtener más información sobre la concesión de acceso entre cuentas, consulte ¿Cómo puedo proporcionar acceso entre cuentas a objetos que se encuentran en buckets de Amazon S3?.

Recomendamos las siguientes herramientas de administración de acceso para este caso de uso:

  • Política de buckets: con las políticas de buckets, se administra una política para cada bucket. Para obtener más información, consulte Políticas de buckets para Amazon S3.

  • Concesiones de acceso a S3: puede utilizar Concesiones de acceso a S3 para conceder permisos entre cuentas a sus buckets, prefijos u objetos de S3. Puede usar Concesiones de acceso a S3 para especificar distintos permisos en el nivel de objetos a escala, mientras que las políticas de buckets tienen un tamaño limitado a 20 KB. Para obtener más información, consulte Introducción a S3 Access Grants.

  • Puntos de acceso: puede utilizar puntos de acceso, que son puntos de conexión de red con nombre que están asociados a un bucket. Un bucket puede tener hasta 10 000 puntos de acceso asociados y para cada punto de acceso puede aplicar permisos y controles de red diferenciados para proporcionarle un control detallado sobre el acceso a los objetos de S3. Para obtener más información, consulte Administración del acceso a datos con puntos de acceso de Amazon S3.

En una política de buckets, por ejemplo, puede conceder acceso a los objetos de un bucket que comparten un prefijo de nombre clave específico o tienen una etiqueta específica. Puede conceder permisos de lectura sobre objetos que comiencen por el prefijo de nombre de clave logs/. Sin embargo, si sus permisos de acceso varían en función del objeto, conceder permisos a objetos individuales con una política de bucket podría no resultar práctico, sobre todo porque las políticas de buckets están limitadas a 20 KB de tamaño.

Recomendamos las siguientes herramientas de administración de acceso para este caso de uso:

  • Concesiones de acceso a S3: puede usar Concesiones de acceso a S3 para administrar los permisos en el nivel de objetos o de prefijos. A diferencia de las políticas de buckets, puede usar Concesiones de acceso a S3 para especificar distintos permisos en el nivel de objetos a escala. Las políticas de bucket tienen un límite de tamaño de 20 KB. Para obtener más información, consulte Introducción a S3 Access Grants.

  • Puntos de acceso: puede usar puntos de acceso para administrar permisos en el nivel de objetos o de prefijos. Los puntos de acceso son puntos de conexión de red con nombre que están asociados a los buckets. Un bucket puede tener hasta 10 000 puntos de acceso asociados y para cada punto de acceso puede aplicar permisos y controles de red diferenciados para proporcionarle un control detallado sobre el acceso a los objetos de S3. Para obtener más información, consulte Administración del acceso a datos con puntos de acceso de Amazon S3.

  • ACL: no recomendamos el uso de listas de control de acceso (ACL), sobre todo porque las ACL están limitadas a 100 concesiones por objeto. Sin embargo, si opta por activar las ACL, en los ajustes del buckets, establezca la propiedad del objeto como Propietario del bucket preferido y ACL habilitadas. Con esta configuración, nuevos objetos que se escriben con la ACL predefinida bucket-owner-full-control pertenecen automáticamente al propietario del bucket en lugar del escritor del objeto. A continuación, puede usar ACL de objetos, que son una política de acceso con formato XML, para conceder a otros usuarios acceso al objeto. Para obtener más información, consulte Información general de las Listas de control de acceso (ACL).

Recomendamos las siguientes herramientas de administración de acceso para este caso de uso:

  • Política de buckets: con las políticas de buckets, se administra una política para cada bucket. Para obtener más información, consulte Políticas de buckets para Amazon S3.

  • Puntos de acceso: los puntos de acceso son puntos de conexión de red con nombre que están asociados a un bucket. Un bucket puede tener hasta 10 000 puntos de acceso asociados y para cada punto de acceso puede aplicar permisos y controles de red diferenciados para proporcionarle un control detallado sobre el acceso a los objetos de S3. Para obtener más información, consulte Administración del acceso a datos con puntos de acceso de Amazon S3.

Recomendamos las siguientes herramientas de administración de acceso para este caso de uso:

  • Puntos de acceso: los puntos de acceso son puntos de conexión de red con nombre que están asociados a un bucket. Un bucket puede tener hasta 10 000 puntos de acceso asociados y para cada punto de acceso puede aplicar permisos y controles de red diferenciados para proporcionarle un control detallado sobre el acceso a los objetos de S3. Cada punto de acceso aplica una política de punto de acceso personalizada que funciona en conjunción con la política de bucket asociada al bucket subyacente. Para obtener más información, consulte Administración del acceso a datos con puntos de acceso de Amazon S3.

Los punto de conexión de nube privada virtual (VPC) de Amazon S3 son entidades lógicas dentro de una VPC que permiten la conectividad solo a Amazon S3. Recomendamos las siguientes herramientas de administración de acceso para este caso de uso:

  • Buckets en una configuración de VPC: puede usar una política de bucket para controlar quién puede acceder a los buckets y a qué puntos de conexión de VPC pueden acceder. Para obtener más información, consulte Control del acceso desde puntos de enlace de la VPC con políticas de bucket.

  • Puntos de acceso: si opta por configurar puntos de acceso, puede usar una política de puntos de acceso. Puede configurar cualquier punto de acceso para que acepte solo las solicitudes procedentes de una nube privada virtual (VPC) con el fin de restringir el acceso a los datos de Amazon S3 a una red privada. También puede configurar los parámetros de bloqueo de acceso público para cada punto de acceso. Para obtener más información, consulte Administración del acceso a datos con puntos de acceso de Amazon S3.

Con S3, puede alojar un sitio web estático y permitir que cualquier persona vea el contenido del sitio web, que se aloja en un bucket de S3.

Recomendamos las siguientes herramientas de administración de acceso para este caso de uso:

  • Amazon CloudFront: esta solución le permite alojar un sitio web estático de Amazon S3 para el público y, al mismo tiempo, seguir bloqueando todo el acceso público al contenido de un bucket. Si desea mantener los cuatro ajustes de bloqueo de acceso público de S3 activados y alojar un sitio web estático de S3, puede utilizar el control de acceso de origen (OAC) de Amazon CloudFront. Amazon CloudFront proporciona las capacidades necesarias para configurar un sitio web estático seguro. Además, los sitios web estáticos de Amazon S3 que no utilizan esta solución solo admiten puntos de conexión HTTP. CloudFront utiliza el almacenamiento duradero de Amazon S3 a la vez que proporciona encabezados de seguridad adicionales, tales como HTTPS. HTTPS agrega seguridad al cifrar una solicitud HTTP normal y proteger contra ataques cibernéticos comunes.

    Para obtener información, consulte Introducción a un sitio web estático seguro en la guía para desarrolladores de Amazon CloudFront.

  • Hacer que su bucket de Amazon S3 sea de acceso público: puede configurar un bucket para que se utilice como un sitio web estático de acceso público.

    aviso

    No recomendamos este método. En su lugar, le recomendamos que utilice sitios web estáticos de Amazon S3 como parte de Amazon CloudFront. Para obtener más información, consulte la opción anterior, o bien consulte Introducción a un sitio web seguro estático.

    Para crear un sitio web estático de Amazon S3 sin Amazon CloudFront, primero debe desactivar todos los ajustes de bloqueo de acceso público. Al escribir la política del bucket para el sitio web estático, asegúrese de permitir solo acciones de s3:GetObject y no permisos de ListObject o PutObject. Esto ayuda a garantizar que los usuarios no puedan ver todos los objetos del bucket ni agregar su propio contenido. Para obtener más información, consulte Configurar permisos para el acceso a sitios web.

Al crear un nuevo bucket de Amazon S3, el ajuste Bloqueo de acceso público está habilitado de forma predeterminada. Para obtener más información acerca del bloqueo del acceso público, consulte Bloquear el acceso público a su almacenamiento de Amazon S3.

No recomendamos que permita el acceso público a su bucket. Sin embargo, si debe hacerlo para un caso de uso concreto, le recomendamos la siguiente herramienta de administración de acceso:

  • Disable Block Public Access setting: el propietario de un bucket puede permitir que sin autenticar al bucket. Por ejemplo, se permiten solicitudes PUT Object no autenticadas cuando un bucket tiene una política de bucket pública o cuando una ACL de bucket concede acceso público. Todas las solicitudes no autenticadas las realizan otros usuarios de AWSarbitrarios o incluso usuarios anónimos no autenticados. En las ACL, este usuario se representa mediante el ID de usuario canónico específico65a011a29cdf8ec533ec3d1ccaae921c. Si un objeto se carga en WRITE o FULL_CONTROL, se concede acceso específicamente al grupo Todos los usuarios o al usuario anónimo. Para obtener más información acerca de las políticas de bucket públicas y las listas de control de acceso (ACL) públicas, consulte Qué significa "pública".

Tanto las políticas de buckets como las políticas basadas en identidad tienen un límite de tamaño de 20 KB. Si sus requisitos de permiso de acceso son complejos, es posible que supere este límite de tamaño.

Recomendamos las siguientes herramientas de administración de acceso para este caso de uso:

  • Puntos de acceso: utilice puntos de acceso si esto funciona con su caso de uso. Con puntos de acceso, cada bucket tiene varios puntos de conexión de red con nombre, cada uno con su propia política de punto de acceso que funciona con la política de bucket subyacente. Sin embargo, los puntos de acceso solo pueden actuar en objetos, no en buckets, y no admiten la replicación entre regiones. Para obtener más información, consulte Administración del acceso a datos con puntos de acceso de Amazon S3.

  • Concesiones de acceso a S3: utilice Concesiones de acceso a S3, que admite una gran cantidad de concesiones que dan acceso a buckets, prefijos u objetos. Para obtener más información, consulte Introducción a S3 Access Grants.

En lugar de administrar los usuarios, los grupos y los roles mediante AWS Identity and Access Management (IAM), puede añadir el directorio corporativo a AWS IAM Identity Center. Para obtener más información consulte What Is IAM Identity Center?.

Después de agregar el directorio corporativo a AWS IAM Identity Center, le recomendamos que utilice la siguiente herramienta de administración de acceso para conceder acceso a sus recursos de S3 a identidades del directorio corporativo:

  • Concesiones de acceso a S3: utilice Concesiones de acceso a S3, que admite la concesión de acceso a usuarios o roles de su directorio corporativo. Para obtener más información, consulte Introducción a S3 Access Grants.

Recomendamos la siguiente herramienta de administración de acceso para este caso de uso:

  • ACL del bucket: el único caso de uso recomendado para las ACL de bucket es para conceder permisos a ciertos Servicios de AWS, como la cuenta awslogsdelivery de Amazon CloudFront. Al crear o actualizar una distribución y habilitar el registro de CloudFront, CloudFront actualiza la ACL del bucket para conceder permisos FULL_CONTROL a la cuenta awslogsdelivery para que escriba registros en el bucket. Para obtener más información, consulte Permisos necesarios para configurar el registro estándar y acceder a los archivos de registro en la Guía para desarrolladores de Amazon CloudFront. Si el bucket que almacena los registros utiliza el ajuste Aplicada al propietario del bucket para Propiedad de objetos de S3 para desactivar las ACL, CloudFront no puede escribir registros en el bucket. Para obtener más información, consulte Control de la propiedad de los objetos y desactivación de las ACL del bucket.

Puede conceder acceso a otras cuentas para que carguen objetos en el bucket mediante una política de bucket, un punto de acceso o Concesiones de acceso a S3 Si ha concedido acceso entre cuentas a su bucket, puede asegurarse de que todos los objetos que se suban al bucket permanezcan bajo su control total.

Recomendamos la siguiente herramienta de administración de acceso para este caso de uso:

  • Propiedad del objeto: mantenga el ajuste Propiedad del objeto en el nivel de buckets en el ajuste predeterminado Aplicada al propietario del bucket.

Solución de problemas de administración de accesos

Los siguientes recursos pueden ayudarle a solucionar problemas con la administración de accesos de S3:

Solución de errores de acceso denegado (403 Prohibido)

Si tiene problemas de denegación de acceso, compruebe los ajustes en la cuenta y el bucket. Además, compruebe la característica de administración de acceso que está utilizando para conceder accesos y asegurarse de que la política, el ajuste o la configuración son correctos. Para obtener más información sobre las causas comunes de los errores de acceso denegado (403 Prohibido) en Amazon S3, consulte Solucionar errores de acceso denegado (403 Prohibido) en Amazon S3.

Analizador de acceso de IAM para S3

Si no quiere que ninguno de sus recursos esté disponible públicamente o si quiere limitar el acceso público a sus recursos, puede utilizar Analizador de acceso de IAM para S3. En la consola de Amazon S3, puede utilizar el Analizador de acceso de IAM para S3 para revisar todos los buckets que tienen listas de control de acceso (ACL) de buckets, políticas de buckets o políticas de puntos de acceso que otorguen acceso público o compartido. Analizador de acceso de IAM para S3 le avisa de los buckets que están configurados para permitir el acceso a cualquier usuario de Internet u otras Cuentas de AWS, incluidas aquellas Cuentas de AWS ajenas a la organización. Para cada bucket público o compartido, recibirá resultados que le informarán del origen y el nivel de acceso público o compartido.

En Analizador de acceso de IAM para S3, puede bloquear todo el acceso público a un bucket con una sola acción. Le recomendamos que bloquee todo el acceso público a sus buckets a menos que necesite acceso público para admitir un caso de uso específico. Antes de bloquear todo el acceso público, asegúrese de que las aplicaciones seguirán funcionando correctamente sin ese acceso público. Para obtener más información, consulte Bloquear el acceso público a su almacenamiento de Amazon S3.

También puede revisar a fondo los ajustes de permisos de buckets para configurar niveles detallados de acceso. Para casos de uso específicos y verificados que requieren acceso público o compartido, puede reconocer y registrar su intención de que el bucket continúe siendo público o compartido archivando los resultados del bucket. Puede volver a visitar y modificar estas configuraciones de bucket en cualquier momento. También puede descargar sus resultados en un informe CSV con fines de auditoría.

Analizador de acceso de IAM para S3 está disponible sin coste adicional en la consola de Amazon S3. Analizador de acceso de IAM para S3 cuenta con la tecnología de Analizador de acceso de AWS Identity and Access Management (IAM). Para utilizar el Analizador de acceso de IAM para S3 en la consola de Amazon S3, debe ir a la consola de IAM y crear un analizador de cuenta en Analizador de acceso de IAM por cada región.

Para obtener más información acerca de Analizador de acceso de IAM para S3, consulte Revisión del acceso al bucket mediante Analizador de acceso de IAM para S3.

Registro y monitorización

La monitorización es una parte importante del mantenimiento de la fiabilidad, la disponibilidad y el rendimiento de las soluciones de Amazon S3 para que pueda depurar con más facilidad un fallo de acceso. El registro puede proporcionar información sobre los errores que los usuarios reciben, qué solicitudes se realizan y en qué momento. AWS proporciona varias herramientas para monitorear los recursos de Amazon S3, como las siguientes:

  • AWS CloudTrail

  • Registros de acceso de Amazon S3

  • AWS Trusted Advisor

  • Amazon CloudWatch

Para obtener más información, consulte Registro y monitoreo en Amazon S3.