Gestion des accès pour S3 Tables
Dans S3 Tables, les ressources incluent les compartiments de tables et les tables qu’ils contiennent. L’utilisateur racine du Compte AWS qui a créé la ressource (le propriétaire de la ressource) et les utilisateurs Gestion des identités et des accès AWS (IAM) de ce compte qui disposent des autorisations nécessaires peuvent accéder à une ressource qu’ils ont créée. Le propriétaire de la ressource spécifie les autres personnes qui peuvent accéder à la ressource et les actions qu’elles sont autorisées à effectuer sur la ressource. Amazon S3 dispose de différents outils de gestion des accès que vous pouvez utiliser pour accorder à d’autres personnes l’accès à vos ressources S3. Si vous avez intégré vos tables à AWS Amazon SageMaker Lakehouse, vous pouvez également gérer un accès précis à vos tables et à vos espaces de noms avec Lake Formation. Les rubriques suivantes fournissent une vue d’ensemble des ressources, des actions IAM et des clés de condition pour S3 Tables. Elles fournissent également des exemples de politiques basées sur les ressources et basées sur l’identité pour S3 Tables.
Ressources
Les ressources S3 Tables incluent des compartiments de tables et les tables qu’ils contiennent.
Compartiments de tables : les compartiments de tables sont spécialement conçus pour les tables et offrent un plus grand nombre de transactions par seconde (TPS) et un meilleur débit de requêtes par rapport aux tables autogérées dans des compartiments S3 à usage général. Les compartiments de tables offrent les mêmes caractéristiques de durabilité, de disponibilité, de capacité de mise à l’échelle et de performance que les compartiments Amazon S3 à usage général.
Tables : les tables figurant dans vos compartiments de tables sont stockées au format Apache Iceberg. Vous pouvez interroger ces tables avec du code SQL standard dans des moteurs de requête qui prennent en charge Iceberg.
Les Amazon Resource Name (ARN) pour les tables et les compartiments de tables contiennent l’espace de noms s3tables, la Région AWS, l’ID du Compte AWS et le nom du compartiment. Pour accéder à vos tables et compartiments de tables et y effectuer des actions, vous devez utiliser les formats d’ARN suivants :
-
Format d’ARN des tables :
arn:aws:s3tables:us-west-2:111122223333:bucket/amzn-s3-demo-bucket/table/demo-tableID
Actions pour S3 Tables
Dans une politique basée sur l’identité ou sur les ressources, vous définissez quelles actions S3 Tables sont autorisées ou refusées pour des principaux IAM spécifiques. Les actions de tables correspondent à des opérations d’API au niveau du compartiment et de la table. Toutes les actions font partie d’un espace de noms IAM unique : s3tables.
Lorsque vous utilisez une action dans une politique, vous autorisez ou refusez généralement l’accès à l’opération d’API du même nom. Toutefois, dans certains cas, une seule action contrôle l’accès à plusieurs opérations d’API. Par exemple, les actions s3tables:GetTableData incluent des autorisations pour les opérations d’API GetObject, ListParts et ListMultiparts.
Vous trouverez ci-dessous les actions prises en charge pour les compartiments de tables. Vous pouvez spécifier les actions suivantes dans l’élément Action d’une politique IAM ou d’une stratégie de ressource.
| Action | Description | Niveau d’accès | Accès intercomptes |
|---|---|---|---|
s3tables:CreateTableBucket |
Accorde l’autorisation de créer un nouveau compartiment | Write |
Non |
s3tables:GetTableBucket |
Accorde l’autorisation de récupérer l’ARN d’un compartiment de tables, le nom du compartiment de tables et sa date de création. | Write |
Oui |
s3tables:ListTableBuckets |
Accorde l’autorisation de répertorier tous les compartiments de tables du compte. | Read |
Non |
s3tables:CreateNamespace |
Accorde l’autorisation de créer un espace de noms dans un compartiment de tables | Write |
Oui |
s3tables:GetNamespace |
Accorde l’autorisation de récupérer les détails de l’espace de noms | Read |
Oui |
s3tables:ListNamespaces |
Accorde l’autorisation de répertorier tous les espaces de noms figurant dans le compartiment de tables | Read |
Oui |
s3tables:DeleteNamespace |
Accorde l’autorisation de supprimer un espace de noms dans un compartiment de tables | Write |
Oui |
s3tables:DeleteTableBucket |
Accorde l’autorisation de supprimer le compartiment | Write |
Oui |
s3tables:PutTableBucketPolicy |
Accorde l’autorisation d’ajouter ou de remplacer une politique de compartiment | Permissions Management |
Non |
s3tables:GetTableBucketPolicy |
Accorde l’autorisation de récupérer la stratégie de compartiment | Read |
Non |
s3tables:DeleteTableBucketPolicy |
Accorde l’autorisation de supprimer la politique de compartiment | Permissions Management |
Non |
s3tables:GetTableBucketMaintenanceConfiguration |
Accorde l’autorisation de récupérer la configuration de la maintenance d’un compartiment de table | Read |
Oui |
s3tables:PutTableBucketMaintenanceConfiguration |
Accorde l’autorisation d’ajouter ou de remplacer la configuration de la maintenance d’un compartiment de tables | Write |
Oui |
s3tables:PutTableBucketEncryption |
Accorde l’autorisation d’ajouter ou de remplacer la configuration du chiffrement d’un compartiment de table | Write |
Non |
s3tables:GetTableBucketEncryption |
Accorde l’autorisation de récupérer ou de remplacer la configuration du chiffrement d’un compartiment de table | Read |
Non |
s3tables:DeleteTableBucketEncryption |
Accorde l’autorisation de supprimer ou de remplacer la configuration du chiffrement d’un compartiment de table | Write |
Non |
Les actions suivantes sont prises en charge pour les tables :
| Action | Description | Niveau d’accès | Accès intercomptes |
|---|---|---|---|
s3tables:GetTableMaintenanceConfiguration |
Accorde l’autorisation de récupérer la configuration de la maintenance d’une table | Read |
Oui |
s3tables:PutTableMaintenanceConfiguration |
Accorde l’autorisation d’ajouter ou de remplacer la configuration de la maintenance d’une table | Write |
Oui |
s3tables:PutTablePolicy |
Accorde l’autorisation d’ajouter ou de remplacer une politique de table | Permissions Management |
Non |
s3tables:GetTablePolicy |
Accorde l’autorisation de récupérer la politique de table | Read |
Non |
s3tables:DeleteTablePolicy |
Accorde l’autorisation de supprimer la politique de table | Permissions management |
Non |
s3tables:CreateTable |
Accorde l’autorisation de créer une table dans un compartiment de tables | Write |
Oui |
s3tables:GetTable |
Accorde l’autorisation de récupérer les informations d’une table. | Read |
Oui |
s3tables:GetTableMetadataLocation |
Accorde l’autorisation de récupérer le pointeur racine de la table (fichier de métadonnées) | Read |
Oui |
s3tables:ListTables |
Accorde l’autorisation de répertorier toutes les tables figurant dans un compartiment de tables | Read |
Oui |
s3tables:RenameTable |
Accorde l’autorisation de modifier le nom d’une table | Write |
Oui |
s3tables:UpdateTableMetadataLocation |
Accorde l’autorisation de mettre à jour le pointeur racine de la table (fichier de métadonnées) | Write |
Oui |
s3tables:GetTableData |
Accorde l’autorisation de lire les métadonnées de la table et les objets de données stockés dans le compartiment de tables | Read |
Oui |
s3tables:PutTableData |
Accorde l’autorisation d’écrire les métadonnées de la table et les objets de données stockés dans le compartiment de tables | Write |
Oui |
s3tables:GetTableEncryption |
Accorde l’autorisation de récupérer les paramètres de chiffrement d’une table | Write |
Non |
s3tables:PutTableEncryption |
Accorde l’autorisation d’ajouter du chiffrement à une table | Write |
Non |
s3tables:DeleteTable |
Accorde l’autorisation de supprimer une table d’un compartiment de table | Write |
Oui |
Pour effectuer des actions de lecture et d’écriture au niveau des tables, S3 Tables prend en charge les opérations d’API Amazon S3 telles que GetObject et PutObject. Le tableau suivant fournit la liste des actions au niveau des objets. Lorsque vous accordez des autorisations de lecture et d’écriture à vos tables, vous utilisez les actions suivantes.
| Action | API d’objet S3 |
|---|---|
s3tables:GetTableData |
GetObject, ListParts,
HeadObject |
s3tables:PutTableData |
PutObject, CreateMultipartUpload,
CompleteMultipartUpload, UploadPart,
AbortMultipartUpload |
Par exemple, si un utilisateur dispose d’autorisations GetTableData, il peut lire tous les fichiers associés à la table, tels que son fichier de métadonnées, son manifeste, ses fichiers de liste manifeste et ses fichiers de données Parquet.
Clés de condition pour S3 Tables
S3 Tables prend en charge les clés de contexte de condition globales AWS.
S3 Tables définit également les clés de condition suivantes, que vous pouvez utiliser dans une stratégie d’accès.
| Clé de condition | Description | Type |
|---|---|---|
s3tables:tableName |
Filtre l’accès en fonction du nom des tables dans le compartiment de tables. Vous pouvez utiliser la clé de condition Il est important de noter que si vous utilisez la clé de condition "s3tables:tableName":"department*" |
String |
s3tables:namespace |
Filtre l’accès en fonction des espaces de noms créés dans le compartiment de tables. Vous pouvez utiliser la clé de condition Il est important de noter que si vous utilisez la clé de condition |
String |
s3tables:SSEAlgorithm |
Filtre l’accès par l’algorithme de chiffrement côté serveur utilisé pour chiffrer une table. Vous pouvez utiliser la clé de condition Il est important de noter que si vous utilisez la clé de condition |
String |
s3tables:KMSKeyArn |
Filtre l’accès par l’ARN de clé AWS KMS pour la clé utilisée pour chiffrer une table Vous pouvez utiliser la clé de condition Il est important de noter que si vous utilisez la clé de condition |
ARN |