Administración de acceso para Tablas de S3
En Tablas de S3, los recursos incluyen buckets de tablas y las tablas que contienen. El usuario raíz de la Cuenta de AWS que creó el recurso (el propietario del recurso) y los usuarios de AWS Identity and Access Management (IAM) en esa cuenta que tienen los permisos necesarios pueden acceder a un recurso que hayan creado. El propietario del recurso especifica quién más puede acceder al recurso y las acciones que puede realizar en el recurso. Amazon S3 cuenta con varias herramientas de administración de acceso que puede utilizar para conceder a otras personas el acceso a los recursos de S3. Los siguientes temas le proporcionan una visión general de los recursos, las acciones de IAM y las claves de condición para Tablas de S3. También proporcionan ejemplos de políticas basadas en recursos y en identidades para Tablas de S3.
Temas
Recursos
Los recursos de Tablas de S3 incluyen buckets de tablas y las tablas que contienen.
Buckets de tablas: los buckets de tablas están diseñados específicamente para tablas y proporcionan un mayor número de transacciones por segundo (TPS) y un mejor rendimiento de las consultas en comparación con las tablas autoadministradas en los buckets de S3 de uso general. Los buckets de tablas ofrecen las mismas características de durabilidad, disponibilidad, escalabilidad y rendimiento que los buckets de uso general de Amazon S3.
Tablas: las tablas de los buckets de tablas se almacenan en formato Apache Iceberg. Puede consultar estas tablas mediante SQL estándar en motores de consulta que admitan Iceberg.
Los nombres de recursos de Amazon (ARN) para tablas y buckets de tablas contienen el espacio de nombres s3tables
, la Región de AWS, el ID de Cuenta de AWS y el nombre de bucket. Para acceder y realizar acciones en las tablas y buckets de tablas, debe utilizar los siguientes formatos de ARN:
-
Formato de ARN de tabla:
arn:aws:s3tables:
us-west-2
:111122223333
:bucket/amzn-s3-demo-bucket
/table/demo-tableID
Acciones para Tablas de S3
En una política basada en identidad o en recursos, usted define qué acciones de Tablas de S3 se permiten o se deniegan para entidades principales de IAM específicas. Las acciones de tablas corresponden a operaciones de la API en el nivel de bucket y tabla. Todas las acciones forman parte de un espacio de nombres de IAM único: s3tables
.
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. Por ejemplo, las acciones s3tables:GetTableData
incluyen permisos para las operaciones de la API GetObject
, ListParts
y ListMultiparts
.
Las siguientes son acciones admitidas para buckets de tablas. Puede especificar las siguientes acciones en el elemento Action
de una política de IAM o política de recursos.
Acción | Descripción | Nivel de acceso | Acceso entre cuentas |
---|---|---|---|
s3tables:CreateTableBucket |
Concede permisos para crear un bucket de tablas | Write |
No |
s3tables:GetTableBucket |
Concede permiso para recuperar un ARN de bucket de tablas, un nombre de bucket de tablas y una fecha de creación. | Write |
Sí |
s3tables:ListTableBuckets |
Concede permiso para enumerar todos los buckets de tablas de esta cuenta. | Read |
No |
s3tables:CreateNamespace |
Concede permiso para crear un espacio de nombres en un bucket de tablas | Read |
Sí |
s3tables:GetNamespace |
Concesión de permiso para recuperar detalles de un espacio de nombres | Read |
Sí |
s3tables:ListNamespaces |
Concede permiso para enumerar todos los espacios de nombres en el bucket de tablas. | Read |
Sí |
s3tables:DeleteNamespace |
Concede permiso para eliminar un espacio de nombres en un bucket de tablas | Write |
Sí |
s3tables:DeleteTableBucket |
Concede permiso para eliminar el bucket | Write |
Sí |
s3tables:PutTableBucketPolicy |
Concede permiso para agregar o reemplazar una política de bucket | Permissions Management |
No |
s3tables:GetTableBucketPolicy |
Concede permiso para recuperar la política de bucket | Read |
No |
s3tables:DeleteTableBucketPolicy |
Concede permiso para eliminar la política en un bucket especificado | Permissions Management |
No |
s3tables:GetTableBucketMaintenanceConfiguration |
Concede permiso para recuperar la configuración de mantenimiento para un bucket de tablas | Read |
Sí |
s3tables:PutTableBucketMaintenanceConfiguration |
Concede permiso para agregar o reemplazar la configuración de mantenimiento para un bucket de tablas | Write |
Sí |
s3tables:PutTableBucketEncryption |
Concede permiso para agregar o reemplazar la configuración de cifrado para un bucket de tablas | Write |
No |
s3tables:GetTableBucketEncryption |
Concede permiso para recuperar la configuración de cifrado para un bucket de tablas | Read |
No |
s3tables:DeleteTableBucketEncryption |
Concede permiso para eliminar la configuración de cifrado para un bucket de tablas | Write |
No |
Se admiten las siguientes acciones para las tablas:
Acción | Descripción | Nivel de acceso | Acceso entre cuentas |
---|---|---|---|
s3tables:GetTableMaintenanceConfiguration |
Concede permiso para recuperar la configuración de mantenimiento para una tabla | Read |
Sí |
s3tables:PutTableMaintenanceConfiguration |
Concede permiso para agregar o reemplazar la configuración de mantenimiento para una tabla | Write |
Sí |
s3tables:PutTablePolicy |
Concede permiso para agregar o reemplazar una política de tabla | Permissions Management |
No |
s3tables:GetTablePolicy |
Concede permiso para recuperar la política de tabla | Read |
No |
s3tables:DeleteTablePolicy |
Concede permiso para eliminar la política de tabla | Permissions management |
No |
s3tables:CreateTable |
Concede permiso para crear una tabla en un bucket de tablas | Write |
Sí |
s3tables:GetTable |
Concede permiso para recuperar información sobre una tabla | Read |
Sí |
s3tables:GetTableMetadataLocation |
Concede permiso para recuperar el puntero raíz de tabla (archivo de metadatos) | Read |
Sí |
s3tables:ListTables |
Concede permiso para enumerar todas las tablas en un bucket de tablas | Read |
Sí |
s3tables:RenameTable |
Concede permisos para cambiar el nombre de una tabla. | Write |
Sí |
s3tables:UpdateTableMetadataLocation |
Concede permiso para actualizar el puntero raíz de tabla (archivo de metadatos) | Write |
Sí |
s3tables:GetTableData |
Concede permiso para leer los metadatos de tabla y los objetos de datos almacenados en el bucket de tablas | Read |
Sí |
s3tables:PutTableData |
Concede permiso para escribir los metadatos de tabla y los objetos de datos almacenados en el bucket de tablas | Write |
Sí |
s3tables:GetTableEncryption |
Concede permiso para recuperar la configuración de cifrado para una tabla | Write |
No |
s3tables:PutTableEncryption |
Concede permiso para agregar cifrado a una tabla | Write |
No |
Para realizar acciones de lectura y escritura en el nivel de tabla, Tablas de S3 admite operaciones de la API de Amazon S3 como GetObject
y PutObject
. La siguiente tabla proporciona una lista de acciones de nivel de objeto. Al conceder permisos de lectura y escritura a las tablas, utilice las siguientes acciones.
Acción | API de objetos de S3 |
---|---|
s3tables:GetTableData |
GetObject , ListParts ,
HeadObject |
s3tables:PutTableData |
PutObject , CreateMultipartUpload ,
CompleteMultipartUpload , UploadPart ,
AbortMultipartUpload |
Por ejemplo, si un usuario tiene permisos GetTableData
, puede leer todos los archivos asociados con la tabla, como el archivo de metadatos, manifiesto, archivos de lista de manifiesto y archivos de datos parquet.
Claves de condición para Tablas de S3
Tablas de S3 admite claves de contexto de condición global de AWS.
Además, Tablas de S3 define las siguientes claves de condición que puede utilizar en una política de acceso.
Clave de condición | Descripción | Tipo |
---|---|---|
s3tables:tableName |
Filtra el acceso por el nombre de las tablas en el bucket de tablas. Puede utilizar la clave de condición Es importante tener en cuenta que si utiliza la clave de condición "s3tables:tableName":"department*" |
String |
s3tables:namespace |
Filtra el acceso por los espacios de nombres creados en el bucket de tablas. Puede utilizar la clave de condición Es importante tener en cuenta que si utiliza la clave de condición |
String |
s3tables:SSEAlgorithm |
Filtra el acceso mediante el algoritmo de cifrado del servidor utilizado para cifrar una tabla. Puede utilizar la clave de condición Es importante tener en cuenta que si utiliza la clave de condición |
String |
s3tables:KMSKeyArn |
Filtra el acceso por el ARN de clave de AWS KMS de la clave utilizada para cifrar una tabla Puede utilizar la clave de condición Es importante tener en cuenta que si utiliza la clave de condición |
ARN |