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:
-
Usuarios y grupos en AWS IAM Identity Center: Cree un conjunto de permisos. Siga las instrucciones de Creación de un conjunto de permisos en la Guía del usuario de AWS IAM Identity Center.
-
Usuarios administrados en IAM a través de un proveedor de identidades: Cree un rol para la federación de identidades. Siga las instrucciones de Creación de un rol para un proveedor de identidades de terceros (federación) en la Guía del usuario de IAM.
-
Usuarios y roles de IAM: Cree un rol que el usuario pueda asumir. Siga las instrucciones de Creación de un rol para delegar permisos a un usuario de IAM de la Guía del usuario de IAM.
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.
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
CreateBucket |
Concede permiso para crear un nuevo bucket. |
Escritura |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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, |
Escritura |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
s3express:DeleteBucket |
DeleteBucket |
Concede permiso para eliminar el bucket nombrado en el URI. |
Escritura |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
s3express:DeleteBucketPolicy |
DeleteBucketPolicy |
Concede permiso para eliminar la política en un bucket especificado. |
Administración de permisos |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
s3express:GetBucketPolicy |
GetBucketPolicy |
Concede permiso para devolver la política del bucket especificado. |
Leer |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
s3express:ListAllMyDirectoryBuckets |
ListDirectoryBuckets |
Concede permiso para enumerar todos los buckets de directorio propiedad del remitente autenticado de la solicitud. |
Enumeración |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
s3express:PutBucketPolicy |
PutBucketPolicy |
Concede permiso para agregar o reemplazar una política de bucket. |
Administración de permisos |
|
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 Valores válidos: |
Cadena |
s3express:LocationName |
Filtra el acceso a la operación de la API Ejemplo de valor: |
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 Ejemplo de valor: |
Cadena |
s3express:SessionMode |
Filtra el acceso según el permiso solicitado por la operación de la API Valores válidos: |
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: |
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: |
Cadena |
s3express:TlsVersion |
Filtra el acceso por la versión de TLS que utiliza el cliente Puede utilizar la clave de condición Ejemplo de valor: |
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 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: |
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 |
Sí |
CopyObject |
Zonal | s3express:CreateSession |
Sí |
DeleteObject |
Zonal | s3express:CreateSession |
Sí |
DeleteObjects |
Zonal | s3express:CreateSession |
Sí |
HeadObject |
Zonal | s3express:CreateSession |
Sí |
PutObject |
Zonal | s3express:CreateSession |
Sí |
GetObjectAttributes |
Zonal | s3express:CreateSession |
Sí |
ListObjectsV2 |
Zonal | s3express:CreateSession |
Sí |
HeadBucket |
Zonal | s3express:CreateSession |
Sí |
CreateMultipartUpload |
Zonal | s3express:CreateSession |
Sí |
UploadPart |
Zonal | s3express:CreateSession |
Sí |
UploadPartCopy |
Zonal | s3express:CreateSession |
Sí |
CompleteMultipartUpload |
Zonal | s3express:CreateSession |
Sí |
AbortMultipartUpload |
Zonal | s3express:CreateSession |
Sí |
ListParts |
Zonal | s3express:CreateSession |
Sí |
ListMultipartUploads |
Zonal | s3express:CreateSession |
Sí |