Skip to main content
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Opérations sur les compartiments S3 et détails d’implémentation dans StorageGRID

Contributeurs netapp-pcarriga netapp-lhalbert netapp-perveilerk netapp-jsnyder

Le système StorageGRID prend en charge un maximum de 20 000 compartiments pour chaque compte locataire S3.

Chaque grille peut contenir un maximum de 100,000 compartiments.

Si plusieurs locataires disposent chacun de jusqu'à 5 000 compartiments, chaque nœud de stockage de la grille doit avoir un minimum de 64 Go de RAM.

Les restrictions relatives aux noms de compartiments suivent les restrictions de la région standard AWS US, mais vous devez les restreindre davantage aux conventions de nommage DNS pour prendre en charge les requêtes de type virtual-hosted-style S3.

Pour plus d'informations, veuillez consulter les documents suivants :

Les opérations ListObjects (GET Bucket) et ListObjectVersions (versions d'objet GET Bucket) prennent en charge StorageGRID"valeurs de cohérence" .

Vous pouvez vérifier si la mise à jour du temps d'accès est activée ou désactivée pour chaque compartiment. Consultez "HEURE du dernier accès au compartiment".

Le tableau suivant décrit la façon dont StorageGRID implémente les opérations des compartiments de l'API REST S3. Pour effectuer l'une de ces opérations, les informations d'identification d'accès nécessaires doivent être fournies pour le compte.

Fonctionnement Mise en place

CreateBucket

Crée un nouveau compartiment. C'est en créant le compartiment que vous devenez le propriétaire.

Remarque : Les compartiments de répertoire S3 ne sont pas pris en charge.

  • Les noms de compartiment doivent être conformes aux règles suivantes :

    • Il doit être unique sur chaque système StorageGRID (et pas seulement au sein du compte du locataire).

    • Doit être conforme DNS.

    • Doit contenir au moins 3 et 63 caractères.

    • Peut être une série d'une ou plusieurs étiquettes, avec des étiquettes adjacentes séparées par un point. Chaque étiquette doit commencer et se terminer par une lettre ou un chiffre en minuscules et ne peut utiliser que des lettres minuscules, des chiffres et des tirets.

    • Ne doit pas ressembler à une adresse IP au format texte.

    • Ne doit pas utiliser de périodes dans des demandes de type hébergement virtuel. Les périodes provoquera des problèmes avec la vérification du certificat générique du serveur.

  • Par défaut, les compartiments sont créés dans la us-east-1 région ; vous pouvez cependant utiliser LocationConstraint l'élément de demande du corps de la demande pour spécifier une région différente. Lorsque vous utilisez l' `LocationConstraint`élément, vous devez spécifier le nom exact d'une région qui a été définie à l'aide du Gestionnaire de grille ou de l'API de gestion de grille. Contactez votre administrateur système si vous ne connaissez pas le nom de région que vous devez utiliser.

    Remarque : Une erreur se produira si votre requête CreateBucket utilise une région qui n’a pas été définie dans StorageGRID.

  • Vous pouvez inclure l' `x-amz-bucket-object-lock-enabled`en-tête de requête pour créer un compartiment avec S3 Object Lock activé. Reportez-vous à "Utilisez l'API REST S3 pour configurer le verrouillage objet S3".

    Le verrouillage d'objets S3 nécessite le versionnage des compartiments, qui est activé automatiquement lorsque vous créez le compartiment avec le verrouillage d'objets S3 activé.

    Vous pouvez activer le verrouillage des objets S3 lors de la création du compartiment ou à un moment ultérieur.

DeleteBucket

Supprime le godet.

DeleteBuckeCors

Supprime la configuration CORS pour le godet.

DeleteBuckeEncryption

Supprime le chiffrement par défaut du compartiment. Les objets chiffrés existants restent chiffrés, mais aucun nouvel objet ajouté au compartiment n'est chiffré.

DeleteBuckeLifecycle

Supprime la configuration du cycle de vie du compartiment. Reportez-vous à "Création de la configuration du cycle de vie S3".

DeleteBucketPolicy

Supprime la règle associée au compartiment.

DeleteBuckeReplication

Supprime la configuration de réplication attachée au compartiment.

DeleteBucketTagging

Utilise la tagging sous-ressource pour supprimer toutes les balises d'un compartiment.

Attention : Si une balise de stratégie ILM non standard est définie pour ce compartiment, il y aura une balise de compartiment NTAP-SG-ILM-BUCKET-TAG avec une valeur qui lui est attribuée. N'émettez pas de requête DeleteBucketTagging s'il existe une balise de compartiment NTAP-SG-ILM-BUCKET-TAG. Émettez plutôt une requête PutBucketTagging contenant uniquement la balise NTAP-SG-ILM-BUCKET-TAG et sa valeur attribuée pour supprimer toutes les autres balises du compartiment. Ne modifiez pas et ne supprimez pas la balise de compartiment NTAP-SG-ILM-BUCKET-TAG.

GetBucketAcl

Renvoie une réponse positive et l'ID, DisplayName et l'autorisation du propriétaire du compartiment, indiquant que le propriétaire a un accès complet au compartiment.

GetBucketCors

Renvoie la cors configuration du compartiment.

GetBucketEncryption

Renvoie la configuration de chiffrement par défaut du compartiment.

GetBucketLifecycleConfiguration

(Anciennement appelé cycle de vie du compartiment GET)

Renvoie la configuration du cycle de vie du compartiment. Reportez-vous à "Création de la configuration du cycle de vie S3".

GetBuckeLocation

Renvoie la région qui a été définie à l'aide de l'élément LocationConstraint dans la requête CreateBucket. Si la région du compartiment est us-east-1 (par défaut), une valeur vide est renvoyée pour LocationConstraint.

GetBucketNotifationConfiguration

(Anciennement appelée notification GET Bucket)

Renvoie la configuration de notification associée au compartiment.

GetBucketPolicy

Renvoie la politique attachée au compartiment.

GetBuckeReplication

Renvoie la configuration de réplication attachée au compartiment.

GetBucketTagging

Utilise la tagging sous-ressource pour renvoyer toutes les balises d'un compartiment.

Attention : Si une étiquette de stratégie ILM non standard est définie pour ce compartiment, il y aura une NTAP-SG-ILM-BUCKET-TAG étiquette de compartiment avec une valeur qui lui sera attribuée. Ne modifiez ni ne supprimez cette étiquette.

GetBucketVersioning

Cette implémentation utilise la versioning sous-ressource pour renvoyer l'état de gestion des versions d'un compartiment.

  • Blank: La gestion des versions n'a jamais été activée (le compartiment est « non versionné »)

  • Activé : la gestion des versions est activée

  • Suspendu : la gestion des versions a déjà été activée et est suspendue

GetObjectLockConfiguration

Renvoie le mode de conservation par défaut du compartiment et la période de conservation par défaut, si elle est configurée.

Godet principal

Détermine si un compartiment existe et que vous êtes autorisé à y accéder.

Cette opération renvoie :

  • x-ntap-sg-bucket-id: UUID du compartiment au format UUID.

  • x-ntap-sg-trace-id: ID de trace unique de la demande associée.

ListObjects et ListObjectsV2

(Anciennement appelé « GET Bucket »)

Renvoie une partie ou la totalité (jusqu'à 1,000) des objets dans un compartiment. La classe de stockage des objets peut avoir l'une des deux valeurs, même si l'objet a été ingéré avec l' `REDUCED_REDUNDANCY`option de classe de stockage :

  • STANDARD, Qui indique que l'objet est stocké dans un pool de stockage composé de nœuds de stockage.

  • GLACIER, Qui indique que l'objet a été déplacé vers le compartiment externe spécifié par le pool de stockage cloud.

Si le compartiment contient un grand nombre de clés supprimées dont le préfixe est identique, certains ne contiennent pas de CommonPrefixes clés.

Pour les requêtes HeadObject et ListObject, StorageGRID renvoie les horodatages LastModified avec une précision différente tandis qu'AWS renvoie les horodatages avec la même précision, comme illustré dans les exemples suivants :

  • Objet principal StorageGRID : « LastModified » : « 2024-09-26T16:43:24+00:00 »

  • Objet de liste StorageGRID : « LastModified » : « 2024-09-26T16:43:24.931000+00:00 »

  • AWS HeadObject : « LastModified » : « 2023-10-17T00:19:54+00:00 »

  • AWS ListObject : « LastModified » : « 2023-10-17T00:19:54+00:00 »

ListObjectVersions

(Anciennement nommé OBTENIR les versions de l'objet compartiment)

Avec l'accès EN LECTURE sur un compartiment, cette opération associée à la versions sous-ressource liste les métadonnées de toutes les versions des objets du compartiment.

PutBucketCors

Définit la configuration CORS pour un compartiment de sorte que le compartiment puisse traiter les demandes d'origine croisée. Le partage de ressources d'origine croisée (CORS) est un mécanisme de sécurité qui permet aux applications Web clientes d'un domaine d'accéder aux ressources d'un domaine différent. Supposons, par exemple, que vous utilisez un compartiment S3 nommé images pour stocker des graphiques. En définissant la configuration CORS pour le images compartiment, vous pouvez autoriser l'affichage des images de ce compartiment sur le site Web http://www.example.com.

PutBucketEncryption

Définit l'état de chiffrement par défaut d'un compartiment existant. Lorsque le chiffrement au niveau du compartiment est activé, tout nouvel objet ajouté au compartiment est chiffré.StorageGRID prend en charge le chiffrement côté serveur avec des clés gérées par StorageGRID. Lorsque vous spécifiez la règle de configuration du chiffrement côté serveur, définissez le SSEAlgorithm paramètre sur AES256 et n'utilisez pas le KMSMasterKeyID paramètre.

La configuration de chiffrement par défaut du compartiment est ignorée si la demande de téléchargement d'objet spécifie déjà le chiffrement (c'est-à-dire si la demande inclut l' `x-amz-server-side-encryption-*`en-tête de la requête).

PutBucketLifecycleConfiguration

(Anciennement appelé cycle de vie du compartiment PUT)

Crée une nouvelle configuration de cycle de vie pour le compartiment ou remplace une configuration de cycle de vie existante. StorageGRID prend en charge jusqu'à 1,000 règles de cycle de vie dans une configuration cycle de vie. Chaque règle peut inclure les éléments XML suivants :

  • Expiration (jours, Date, ExpiredObjectDeleteMarker)

  • NoncurrentVersionExpiation (NewerNoncurrentVersions, NoncurrentDays)

  • Filtre (préfixe, étiquette)

  • État

  • ID

StorageGRID ne prend pas en charge les actions suivantes :

  • AbortIncompleMultipartUpload

  • Transition

Reportez-vous à "Création de la configuration du cycle de vie S3". Pour comprendre comment l'action d'expiration dans le cycle de vie d'un compartiment interagit avec les instructions de placement ILM, reportez-vous à "Fonctionnement de ILM tout au long de la vie d'un objet".

Remarque : la configuration du cycle de vie des compartiments peut être utilisée avec des compartiments avec le verrouillage d'objet S3 activé, mais la configuration du cycle de vie des compartiments n'est pas prise en charge pour les compartiments conformes hérités.

PutBucketNotifationConfiguration

(Anciennement appelée notification PUT Bucket)

Configure les notifications pour le compartiment à l'aide du fichier XML de configuration de notification inclus dans le corps de la demande. Vous devez connaître les détails d'implémentation suivants :

  • StorageGRID prend en charge les rubriques Amazon Simple Notification Service (Amazon SNS), les rubriques Kafka ou les points de terminaison webhook comme destinations. Les points de terminaison Simple Queue Service (SQS) ou AWS Lambda ne sont pas pris en charge.

  • La destination des notifications doit être spécifiée comme URN d'un terminal StorageGRID. Les terminaux peuvent être créés à l'aide du Gestionnaire de locataires ou de l'API de gestion des locataires.

    Le noeud final doit exister pour que la configuration des notifications réussisse. Si le noeud final n'existe pas, une 400 Bad Request erreur est renvoyée avec le code InvalidArgument.

  • Vous ne pouvez pas configurer de notification pour les types d'événements suivants. Ces types d'événements sont non pris en charge.

    • s3:ReducedRedundancyLostObject

    • s3:ObjectRestore:Completed

  • Les notifications d'événements envoyées par StorageGRID utilisent le format JSON standard, sauf qu'elles n'incluent pas certaines clés et utilisent des valeurs spécifiques pour d'autres, comme illustré dans la liste suivante :

    • EventSource

      sgws:s3

    • AwsRegion

      non inclus

    • x-amz-id-2

      non inclus

    • arn

      urn:sgws:s3:::bucket_name

PutBuckePolicy

Définit la politique associée au compartiment. Reportez-vous à "Utilisez les règles d'accès au compartiment et au groupe".

PutBuckeReplication

Configure "Réplication StorageGRID CloudMirror" pour le compartiment à l'aide du fichier XML de configuration de réplication fourni dans le corps de la demande. Pour la réplication CloudMirror, vous devez connaître les détails d'implémentation suivants :

  • StorageGRID ne prend en charge que la V1 de la configuration de réplication. Cela signifie que StorageGRID ne prend pas en charge l’utilisation de l’ Filter élément pour les règles et suit les conventions de la V1 pour la suppression des versions d’objets. Pour plus de détails, consultez "Guide de l'utilisateur d'Amazon simple Storage Service : configuration de la réplication".

  • La réplication des compartiments peut être configurée sur les compartiments avec ou sans version.

  • Vous pouvez spécifier un compartiment de destination différent dans chaque règle du XML de configuration de réplication. Un compartiment source peut être répliqué sur plusieurs compartiments de destination.

  • Les compartiments de destination doivent être spécifiés sous la forme de l’URN des points de terminaison StorageGRID, tels que définis dans le Tenant Manager ou l’API de gestion des locataires. Voir "Configurez la réplication CloudMirror".

    Le noeud final doit exister pour que la configuration de réplication réussisse. Si le noeud final n'existe pas, la demande échoue en tant que 400 Bad Request . le message d'erreur indique : Unable to save the replication policy. The specified endpoint URN does not exist: URN.

  • Vous n'avez pas besoin de spécifier un Role dans le XML de configuration. Cette valeur n'est pas utilisée par StorageGRID et sera ignorée si elle a été soumise.

  • Si vous omettez la classe de stockage du XML de configuration, StorageGRID utilise la STANDARD classe de stockage par défaut.

  • Si vous supprimez un objet du compartiment source ou que vous supprimez le compartiment source lui-même, le comportement de réplication inter-région est le suivant :

    • Si vous supprimez l'objet ou le compartiment avant sa réplication, l'objet/le compartiment n'est pas répliqué et vous n'êtes pas averti.

    • Si vous supprimez l'objet ou le compartiment après sa réplication, StorageGRID suit le comportement de suppression Amazon S3 standard pour la version V1 de la réplication multi-région.

Étiquetage PutBucketTagging

Utilise la tagging sous-ressource pour ajouter ou mettre à jour un ensemble de balises pour un compartiment. Lors de l'ajout de balises de compartiment, tenez compte des limites suivantes :

  • StorageGRID et Amazon S3 prennent en charge jusqu'à 50 balises pour chaque compartiment.

  • Les étiquettes associées à un compartiment doivent avoir des clés d'étiquette uniques. Une clé de balise peut comporter jusqu'à 128 caractères Unicode.

  • Les valeurs de balise peuvent comporter jusqu'à 256 caractères Unicode.

  • Les clés et les valeurs sont sensibles à la casse

Attention : Si une balise de stratégie ILM non standard est définie pour ce compartiment, il y aura une balise NTAP-SG-ILM-BUCKET-TAG de compartiment avec une valeur qui lui est attribuée. Assurez-vous que la balise NTAP-SG-ILM-BUCKET-TAG de compartiment est incluse avec la valeur attribuée dans toutes les requêtes PutBucketTagging. Ne modifiez ni ne supprimez cette balise.

Remarque : cette opération écrasera les balises actuelles du compartiment. Si des balises existantes sont omises de l'ensemble, ces balises seront supprimées pour le compartiment.

PutBuckeVersioning

Utilise la versioning sous-ressource pour définir l'état de gestion des versions d'un compartiment existant. Vous pouvez définir l'état de la gestion des versions à l'aide de l'une des valeurs suivantes :

  • Activé : permet la gestion des versions des objets dans le compartiment. Tous les objets ajoutés au compartiment reçoivent un ID de version unique.

  • Suspendu : désactive la gestion des versions des objets dans le compartiment. Tous les objets ajoutés au compartiment reçoivent l'ID de version null .

PutObjectLockConfiguration

  • Configure ou supprime le mode de conservation par défaut du compartiment et la période de conservation par défaut.

  • Si l'administrateur de la grille a donné son autorisation, active le verrouillage des objets S3 sur les compartiments existants.

Si la période de conservation par défaut est modifiée, la date limite de conservation des versions d'objets existantes reste la même et n'est pas recalculée en fonction de la nouvelle période de conservation par défaut.

Veuillez consulter "Utilisez l'API REST S3 pour configurer le verrouillage objet S3" pour des informations détaillées.