AWS Identity and Access Management (IAM) para S3 Express One Zone - Amazon Simple Storage Service

AWS Identity and Access Management (IAM) para S3 Express One Zone

AWS Identity and Access Management (IAM) es un Servicio de AWS que ayuda a los administradores a controlar de forma segura el acceso a los recursos de AWS. Los administradores de IAM controlan quién se puede autenticar (iniciar sesión) y autorizar (tener permisos) para utilizar los recursos de Amazon S3 en S3 Express One Zone. El uso de IAM no está sujeto a ningún cargo adicional.

De forma predeterminada, los usuarios no tienen permisos para los buckets de directorio ni para las operaciones de S3 Express One Zone. Para conceder permisos de acceso a los buckets de directorio, puede usar IAM para crear usuarios, grupos o roles y asociar permisos a esas identidades. Para obtener más información sobre IAM, consulte la sección Prácticas recomendadas de IAM en la Guía del usuario de IAM;.

Para proporcionar acceso, puede agregar permisos a sus usuarios, grupos o roles a través de los siguientes medios:

De forma predeterminada, los buckets de directorio son privados y solo pueden acceder a ellos los usuarios a los que se concede explícitamente el acceso. El límite de control de acceso para buckets de directorio se establece únicamente en el nivel de bucket. Por el contrario, el límite de control de acceso para los buckets de uso general se puede establecer en el nivel de bucket, prefijo o etiqueta de objeto. Esta diferencia significa que los buckets de directorio son el único recurso que puede incluir en las políticas de bucket o en las políticas de identidad de IAM para el acceso a S3 Express One Zone.

Con S3 Express One Zone, además de la autorización de IAM, autentica y autoriza las solicitudes mediante un nuevo mecanismo basado en sesiones que se controla mediante la operación de la API CreateSession. Puede utilizar CreateSession para solicitar credenciales temporales que otorgan acceso de baja latencia a su bucket. Estas credenciales temporales se asignan a un bucket de directorio específico.

Para trabajar con CreateSession, le recomendamos que utilice la última versión de los SDK de AWS o que utilice la AWS Command Line Interface (AWS CLI). Los SDK de AWS compatibles con AWS CLI controlan el establecimiento, la actualización y la finalización de la sesión en su nombre.

Utiliza tokens de sesión únicamente con operaciones zonales (de nivel de objeto) (excepto para CopyObject yHeadBucket) para distribuir la latencia asociada a la autorización entre varias solicitudes de una sesión. Para las operaciones de la API de puntos de conexión regionales (operaciones de nivel de bucket), se utiliza la autorización de IAM, que no implica la administración de una sesión. Para obtener más información, consulte AWS Identity and Access Management (IAM) para S3 Express One Zone y Autorización de CreateSession.

Para obtener más información acerca de IAM para S3 Express One Zone, consulte los siguientes temas.

Entidades principales

Cuando crea una política basada en recursos para conceder acceso a sus buckets, debe utilizar el elemento Principal para especificar la persona o aplicación que puede realizar una solicitud para realizar una acción o una operación en ese recurso. Para las políticas de buckets de directorio, puede utilizar los siguientes principios:

  • Una cuenta de AWS.

  • Un usuario de IAM

  • Un rol de IAM

  • Un usuario federado

Para obtener más información, consulte Principal en la Guía del usuario de IAM.

Recursos

Los nombres de recursos de Amazon (ARN) para los buckets de directorio contienen el espacio de nombres s3express, la Región de AWS, el ID de cuenta de AWS y el nombre del bucket de directorio, que incluye el ID de zona de disponibilidad. Para acceder y realizar acciones en el bucket de directorio, debe utilizar el formato de ARN siguiente:

arn:aws:s3express:region:account-id:bucket/base-bucket-name--azid--x-s3

Para obtener más información, consulte Amazon Resource Names (ARNs) en la Guía del usuario de IAM. Para obtener más información sobre los recursos, consulte Elementos de política JSON de IAM: Resource en la Guía del usuario de IAM.

Acciones para S3 Express One Zone

En una política basada en identidad de IAM o una política basada en recursos, usted define qué acciones de S3 se permiten o deniegan. Las acciones de S3 Express One Zone corresponden a operaciones de la API concretas. S3 Express One Zone tiene un espacio de nombres de IAM único que es distinto del espacio de nombres estándar de Amazon S3. Este espacio de nombres es s3express.

Al conceder el permiso s3express:CreateSession, la operación de la API CreateSession puede recuperar los tokens de sesión al acceder a las operaciones de la API de puntos de conexión zonales (o de nivel de objeto). Estos tokens de sesión devuelven las credenciales que se utilizan para conceder acceso a todas las demás operaciones de la API de puntos de conexión zonales. Como resultado, no es necesario conceder permisos de acceso a las operaciones de API zonales mediante políticas de IAM. En su lugar, el token de sesión permite el acceso.

Para obtener más información sobre las operaciones de API de puntos de conexión zonales y regionales, consulte Redes para S3 Express One Zone. Para obtener más información sobre la operación de la API CreateSession, consulte CreateSession en la Referencia de la API de Amazon Simple Storage Service.

Puede especificar las siguientes acciones en el elemento Action de una declaración de política de IAM. Utilice políticas para conceder permisos para realizar una operación en AWS. Cuando utiliza una acción en una política, normalmente permite o deniega el acceso a la operación de la API con el mismo nombre. No obstante, en algunos casos, una sola acción controla el acceso a más de una operación de la API. El acceso a las acciones en el nivel de bucket solo se puede conceder en las políticas basadas en identidad de IAM (usuario o rol), no en las políticas de bucket.

Acciones y claves de condición para S3 Express One Zone
Acción API Descripción Nivel de acceso Claves de condición

s3express:CreateBucket

CreateBucket

Concede permiso para crear un nuevo bucket.

Escritura

s3express:authType

s3express:LocationName

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:CreateSession CreateSession

Concede permiso para crear un token de sesión, que se utiliza para conceder acceso a todas las operaciones de la API zonal (en el nivel de objeto), como, PutObject, GetObject, etc.

Escritura

s3express:authType

s3express:SessionMode

s3express:ResourceAccount

s3express:signatureversion

s3express:signatureAge

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:DeleteBucket DeleteBucket

Concede permiso para eliminar el bucket nombrado en el URI.

Escritura

s3express:authType

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:DeleteBucketPolicy DeleteBucketPolicy

Concede permiso para eliminar la política en un bucket especificado.

Administración de permisos

s3express:authType

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:GetBucketPolicy GetBucketPolicy

Concede permiso para devolver la política del bucket especificado.

Leer

s3express:authType

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:ListAllMyDirectoryBuckets ListDirectoryBuckets

Concede permiso para enumerar todos los buckets de directorio propiedad del remitente autenticado de la solicitud.

Enumeración

s3express:authType

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:PutBucketPolicy PutBucketPolicy

Concede permiso para agregar o reemplazar una política de bucket.

Administración de permisos

s3express:authType

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

Claves de condición de S3 Express One Zone

S3 Express One Zone define las siguientes claves de condición que se pueden utilizar en el elemento Condition de una política de IAM. Puede utilizar estas claves para ajustar más las condiciones en las que se aplica la instrucción de política.

Clave de condición Descripción Tipo
s3express:authType

Filtra el acceso por método de autenticación. Para restringir las solicitudes entrantes para que usen un método de autenticación específico, puede usar esta clave de condición opcional. Por ejemplo, puede utilizar esta clave de condición para permitir solo el encabezado Authorization de HTTP que se utilizará en la autenticación de solicitudes.

Valores válidos: REST-HEADER, REST-QUERY-STRING

Cadena
s3express:LocationName

Filtra el acceso a la operación de la API CreateBucket mediante un ID de zona de disponibilidad (ID de AZ) específico, por ejemplo, usw2-az1.

Ejemplo de valor: usw2-az1

Cadena
s3express:ResourceAccount

Filtra el acceso por el ID de la Cuenta de AWS del propietario del recurso.

Para restringir el acceso de usuarios, roles o aplicaciones a los buckets de directorio que pertenecen a un ID de Cuenta de AWS específico, puede utilizar la clave de condición de aws:ResourceAccount o s3express:ResourceAccount. Puede usar esta clave de condición en las políticas de identidad de AWS Identity and Access Management (IAM) o en las políticas de puntos de conexión de nube privada virtual (VPC). Por ejemplo, puede usar esta clave de condición para restringir que los clientes dentro de su VPC accedan a los buckets que no posee.

Ejemplo de valor: 111122223333

Cadena
s3express:SessionMode

Filtra el acceso según el permiso solicitado por la operación de la API CreateSession. De forma predeterminada, la sesión es ReadWrite. Puede utilizar esta clave de condición para limitar el acceso a ReadOnly o denegar explícitamente el acceso a ReadWrite. Para obtener más información, consulte Ejemplos de políticas de bucket de directorio para S3 Express One Zone y CreateSession en la Referencia de la API de Amazon Simple Storage Service.

Valores válidos: ReadWrite, ReadOnly

Cadena
s3express:signatureAge

Filtra el acceso por la antigüedad en milisegundos de la firma de la solicitud. Esta condición solo funciona para las direcciones URL prefirmadas.

En AWS Signature Version 4, la clave de firma es válida por un plazo máximo de siete días. Por lo tanto, las firmas también son válidas por un plazo máximo de siete días. Para obtener más información, consulte Introducción a la firma de solicitudes en la Referencia de la API de Amazon Simple Storage Service. Puede usar esta condición para limitar aún más la antigüedad de la firma.

Ejemplo de valor: 600000

Numérico
s3express:signatureversion

Identifica la versión de AWS Signature que desea admitir con las solicitudes autenticadas. Para las solicitudes autenticadas, S3 Express One Zone admite Signature Version 4.

Valores válidos: "AWS4-HMAC-SHA256" (identifica Signature Version 4)

Cadena
s3express:TlsVersion

Filtra el acceso por la versión de TLS que utiliza el cliente

Puede utilizar la clave de condición s3:TlsVersion para escribir políticas de bucket, de punto de conexión de nube privada virtual (VPCE) o de IAM que restrinjan el acceso de aplicaciones o usuarios a buckets de directorio en función de la versión de TLS que utilice el cliente. También puede utilizar esta clave de condición para escribir políticas que requieran una versión mínima de TLS.

Ejemplo de valor: 1.3

Numérico
s3express:x-amz-content-sha256

Filtra el acceso en función del contenido sin firmar en el bucket.

Puede utilizar esta clave de condición para no permitir el contenido sin firmar en su bucket.

Cuando se utiliza Signature Version 4, para las solicitudes que utilizan el encabezado Authorization, agregue el encabezado x-amz-content-sha256 en el cálculo de la firma y luego establezca su valor en la carga de hash.

Puede usar esta clave de condición en su política de bucket para denegar cualquier carga en la que las cargas no estén firmadas. Por ejemplo:

Valor válido: UNSIGNED-PAYLOAD

Cadena

Cómo se autorizan y autentican las operaciones de la API

En la siguiente tabla se muestra la información de autorización y autenticación para las operaciones de la API de S3 Express One Zone. Para cada operación de la API, la tabla muestra el nombre de la operación de la API, la acción de IAM, el tipo de punto de conexión (regional o zonal) y el mecanismo de autorización (basado en IAM o en sesiones). En esta tabla también se indica dónde se admite el acceso entre cuentas. El acceso a las acciones en el nivel de bucket solo se puede conceder en las políticas basadas en identidad de IAM (usuario o rol), no en las políticas de bucket.

API Tipo de punto de conexión Acción de IAM Acceso entre cuentas
CreateBucket Regional s3express:CreateBucket No
DeleteBucket Regional s3express:DeleteBucket No
ListDirectoryBuckets Regional s3express:ListAllMyDirectoryBuckets No
PutBucketPolicy Regional s3express:PutBucketPolicy No
GetBucketPolicy Regional s3express:GetBucketPolicy No
DeleteBucketPolicy Regional s3express:DeleteBucketPolicy No
CreateSession Zonal s3express:CreateSession
CopyObject Zonal s3express:CreateSession
DeleteObject Zonal s3express:CreateSession
DeleteObjects Zonal s3express:CreateSession
HeadObject Zonal s3express:CreateSession
PutObject Zonal s3express:CreateSession
GetObjectAttributes Zonal s3express:CreateSession
ListObjectsV2 Zonal s3express:CreateSession
HeadBucket Zonal s3express:CreateSession
CreateMultipartUpload Zonal s3express:CreateSession
UploadPart Zonal s3express:CreateSession
UploadPartCopy Zonal s3express:CreateSession
CompleteMultipartUpload Zonal s3express:CreateSession
AbortMultipartUpload Zonal s3express:CreateSession
ListParts Zonal s3express:CreateSession
ListMultipartUploads Zonal s3express:CreateSession