Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Méthodes | Notes |
---|---|
Comportements spécifiques par rapport à l'API AWS.
La création de Buckets utilisant des noms de moins de trois caractères échoue avec le message :
Lors de la création d'un Bucket ou d'un objet avec un contenu vide, le service de Stockage Objet cegedim.cloud renvoie une erreur 400 invalid content-length
ce qui diffère d'AWS qui renvoie une erreur 400 Bad Request
.
La copie d'un objet dans un autre Bucket qui indexe la même clé d'indexation des métadonnées utilisateur mais avec un type de données différent n'est pas prise en charge et échoue avec une erreur 500 Server Error
.
Lors de l'énumération des objets d'un Bucket, si vous utilisez un préfixe et un délimiteur mais fournissez un marker invalide, le service de Stockage Objet cegedim.cloud renvoie une erreur 500 Server Error
ou 400 Bad Request
pour un Bucket si la fonctionnalité "Système de fichier" est activée.
Cependant, AWS renvoie 200 OK
et les objets ne sont pas répertoriés.
Pour les Buckets où la gestion des versions est activée, le service de Stockage Objet cegedim.cloud ne crée pas de marqueur de suppression (Delete marker) lorsqu'un objet déjà supprimé est supprimé à nouveau.
Cela diffère de l'API AWS S3, qui insère toujours un marqueur de suppression (Delete marker) pour la suppression d'objets supprimés dans les Buckets où le versionnage est activé.
Ce changement de comportement n'est applicable que lorsque l'objet supprimé est à nouveau supprimé de la zone propriétaire.
Lorsqu'une tentative est faite pour créer un Bucket avec un nom déjà existant, le comportement de service de Stockage Objet cegedim.cloud peut différer de celui d'AWS.
l'API AWS retourne toujours une erreur 409 Conflit
lorsqu'un utilisateur disposant des permissions (ACL) FULL_CONTROL
sur le Bucket, ou de toute autre autorisation, tente de recréer le Bucket.
Lorsqu'un Object User avec les permissions (ACL) FULL_CONTROL
ou WRITE_ACP
sur le Bucket tente de recréer le Bucket,
Le service de Stockage Objet cegedim.cloud renvoie 200 OK
et l'ACL est écrasée, cependant, le propriétaire n'est pas modifié.
Un Object User avec des permissions WRITE/READ
obtiendra une erreur 409 Conflit
s'il tente de recréer un bucket.
Lorsqu'une tentative de recréer un bucket est faite par le propriétaire du bucket, le service renvoie 200 OK
et écrase l'ACL. L'API AWS S3 se comporte de la même manière.
Lorsqu'un Object User n'a pas de privilèges d'accès au Bucket, une tentative pour recréer le Bucket entraîne une erreur 409 Conflit
. L'API AWS S3 se comporte de la même manière.
Fonctionnalité | Notes |
---|---|
Service GET
Le service de stockage objet cegedim.cloud supporte les paramètres marker
et max-keys
pour permettre la pagination des listes lors de l'énumération des objets dans le Buckets.
DELETE Bucket
DELETE Bucket cors
DELETE Bucket lifecycle
Seules les actions d'expiration sont supportées.
Les configurations liées à l'archivage (comme AWS Glacier) ne sont pas supportées.
Les configurations de cycle de vue ne sont pas supportées les buckets où la fonctionnalité "system de fichier
" est activée.
DELETE Bucket policy
GET Bucket (List Objects)
Pour les buckets où la fonctionnalité "system de fichier
" est activée, le "slash" (/)
est le seul délimiteur pris en charge lors de l'énumération des objets dans le buckets.
GET Bucket cors
GET Bucket acl
GET Bucket lifecycle
Seule les actions d'expiration sont supportées.
Les configurations liées à l'archivage (comme AWS Glacier) ne sont pas supportées.
Les configurations de cycle de vue ne sont pas supportées les buckets où la fonctionnalité "system de fichier
" est activée.
GET Bucket policy
GET Bucket Object versions
GET Bucket versioning
HEAD Bucket
List Multipart Uploads
PUT Bucket
Lorsqu'une requête de type PUT est effectuée sur un buckets existant, reportez-vous à la section "Comportements spécifiques" lorsque le buckets existe déjà.
PUT Bucket cors
PUT Bucket acl
PUT Bucket lifecycle
Seule les actions d'expiration sont supportées.
Les configurations liées à l'archivage (comme AWS Glacier) ne sont pas supportées.
Les configurations de cycle de vue ne sont pas supportées les buckets où la fonctionnalité "system de fichier
" est activée.
PUT Bucket policy
Les politiques de gestion des Buckets ne peuvent pas être configurées pour des opérations qui ne sont pas prises en charge par le service de stockage objet cegedim.cloud.
Vous pouvez retrouver la liste complète des opérations et des conditions supportées ici.
PUT Bucket versioning
DELETE Object
Delete Multiple Objects
GET Object
GET Object ACL
HEAD Objec
PUT Object
Supports chunked PUT
PUT Object acl
PUT Object - Copy
OPTIONS object
Initiate Multipart Upload
Upload Part
Upload Part - Copy
Complete Multipart Upload
Le service de Stockage Objet cegedim.cloud renvoie un ETag de 00 pour cette requête. Cette réponse diffère de celle d'Amazon S3.
Abort Multipart Upload
List Parts
DELETE Bucket tagging
DELETE Bucket website
GET Bucket location
GET Bucket logging
GET Bucket notification
GET Bucket tagging
GET Bucket requestPayment
Le service de Stockage Objet cegedim.cloud utilise son propre modèle pour les paiements. Cette fonctionnalité n'est pas supportée.
GET Bucket website
PUT Bucket logging
PUT Bucket notification
PUT Bucket tagging
PUT Bucket requestPayment
Le service de Stockage Objet cegedim.cloud utilise son propre modèle pour les paiements. Cette fonctionnalité n'est pas supportée.
PUT Bucket website
Object APIs
GET Object torrent
POST Object
POST Object restore
Cette opération est liée à AWS Glacier. Cette fonctionnalité n'est pas supportée.
La configuration d'un cycle de vie vous permet de définir une politique d'expiration de vos objets et de les supprimer automatiquement.
Dans cet exemple, nous allons créer une politique de gestion du cycle de vie pour supprimer les objets dont la clé commence par rapports/
et qui ont plus de 90 jours.
La gestion des configuration des Cycle de Vie est possible avec des clients avec interface graphique (S3 Browser) ou les SDK AWS.
Dans cet exemple, nous utiliserons le client en ligne de commande AWS CLI.
Le cycle de vie est définit au niveau du Bucket.
Un maximum de 1000 règles de cycle de vie par Bucket est applicable.
Il peut y avoir un délai entre la date d'expiration et la date à laquelle le service de Stockage Objet supprime l'objet.
Toujours arrondir l'heure au jour suivant à minuit UTC.
Un objet supprimé ne peut être restauré.
La configuration d'un cycle de vie peut être gérée en utilisant aws s3api (d'autres outils ou SDK fonctionnent aussi) :
put-bucket-lifecycle
get-bucket-lifecycle
delete-bucket-lifecycle
Nous utilisons les utilitaires aws s3 et aws s3api issues du client S3 AWSCLIv2 sur Linux.${S3_ENDPOINT}
&${S3_PROFILE}
sont des variables d'environnement
Créez un fichier et insérez votre configuration au format JSON :
Appliquez-le au Bucket : bucket-test
Les politiques de gestion des Buckets fournissent à des Object Users spécifiques, ou à tous les Object Users, des autorisations conditionnelles et granulaires pour des actions spécifiques.
Les conditions des politiques peuvent être utilisées pour attribuer des autorisations à une série d'objets qui correspondent à la condition souhaitée et peuvent être utilisées pour attribuer automatiquement des autorisations aux objets nouvellement téléchargés.
La manière dont l'accès aux ressources est gérée lors de l'utilisation du protocole S3 est décrite dans et vous pouvez utiliser ces informations comme base pour comprendre et utiliser les politiques de gestion des Buckets fournit par le service de Stockage d'Objet de cegedim.cloud.
Cette section fournit des informations de base sur l'utilisation des politiques de gestion des Buckets.
Les politiques de gestion des Buckets peuvent être gérées en utilisant le client aws s3api (d'autres outils ou SDK fonctionnent aussi):
get-bucket-policy
put-bucket-policy
delete-bucket-policy
Nous utilisons les utilitaires aws s3 et aws s3api issues du client S3 AWSCLIv2 sur Linux. ${S3_ENDPOINT}
& ${S3_PROFILE}
sont des variables d'environnement.
Créez un fichier et insérez votre politique de gestion au format JSON :
L’élément Principal spécifie les Access Key des Object Users qui sont autorisés ou non, à effectuer les actions sur les différentes ressources spécifiées.
Vous pouvez spécifier un wildcard '*
' pour indiquer tous les Object Users.
Attention, utiliser le wildcard '*
' dans une politique de gestion de Buckets, signifie que tout le monde peut accéder aux ressources spécifiées et effectuer les actions spécifiées
Appliquez la politique des gestions sur le Bucket: bucket-test
Le service de Stockage d'Objet de cegedim.cloud est directement accessible depuis Internet.
Si vous accordez un accès public à votre Bucket ou à un sous-ensemble de votre Bucket, tout le monde peut obtenir vos objets.
Avec l'accès public, le contenu du Bucket peut être consulté directement à l'aide d'un navigateur web.
L'URL pour accéder à un Bucket public suit ce format : https://<objectstore_name>.storage-[eb4|et1].cegedim.cloud/<bucket_name>
Par exemple : https://cos-cegedimit-myit.storage-eb4.cegedim.cloud/mybucket
Le service de Stockage d'Objet de cegedim.cloud est directement accessible depuis Internet.
Si vous accordez un accès public à votre Bucket ou à un sous-ensemble de votre Bucket, tout le monde peut obtenir vos objets.
Avec la politique suivante, tous les objets du Bucket my-bucket
et sous le préfixe public/
sont accessibles publiquement, sans authentification :
L'élément "condition" est utilisé pour spécifier les conditions qui déterminent quand une règle s'applique.
Les tableaux suivants référencent les conditions qui sont supportées par le service de Stockage Objet de cegedim.cloud et qui peuvent être utilisées dans les expressions de condition.
Le service de stockage Stockage Objet de cegedim.cloud prend en charge la génération d'URL pré-signées afin d'accorder l'accès aux objets sans avoir besoin d'authentification.
Les URL pré-signées sont utilisées pour fournir un accès à durée limitée, à un objet privé dans votre Bucket S3. Ils fonctionnent en ajoutant une Access key
, une date d'expiration et une signature (Sigv4) comme paramètres de requête à l'objet S3.
Il y a deux cas d'utilisation courants où vous pouvez les utiliser :
Partage simple et occasionnel d'objets.
Accès fréquent et programmatique pour visualiser un objet dans une application
Accès fréquent et programmatique au téléchargement d'un objet par l'intermédiaire d'une application
Nous utilisons les utilitaires aws s3 et aws s3api issues du client S3 AWSCLIv2 sur Linux. ${S3_ENDPOINT}
et ${S3_PROFILE}
sont des variables d'environnement.
Dans cet exemple, l'URL générée a une expiration de 10 minutes. Passé ce délai, l'objet ne sera plus accessible, via cette URL.
--expires-in : Nombre de secondes avant l'expiration de l'URL pré-signée. La valeur par défaut est de 3600 secondes. Le délai maximal d'expiration est de 7 jours (604800 secondes).
Si un objet ayant la même clé existe déjà dans le bucket spécifié dans l'URL pré-signée, l'objet existant sera remplacé.
aws s3 et aws s3api ne supportent pas la génération d'url pré-signées pour l'upload.
Vous devez utiliser AWS SDK pour créer une url pré-signée pour l'upload.
Ci-dessous, un exemple simple utilisant [AWS SDK pour Python (Boto3)]
L'URL pré-signée d'upload ne fonctionne qu'avec un adressage de type chemin.
Remplacez aws_access_key_id
et aws_secret_access_key
par vos propres identifiants.
ExpiresIn
(entier) : Nombre de secondes avant l'expiration de l'URL pré-signée. La valeur par défaut est de 3600 secondes. Le délai d'expiration maximal est de 7 jours.
Vous pouvez utiliser un outil tel que curl
pour télécharger votre fichier dans le bucket, en utilisant l'URL générée précédemment :
Si vous souhaitez limiter les accès réseau à un Bucket, vous devrez créer une politique de gestion de Bucket en utilisant la condition suivante aws:SourceIp
.
Nous utilisons les utilitaires aws s3 et aws s3api issues du client S3 AWSCLIv2 sur Linux.${S3_ENDPOINT}
et ${S3_PROFILE}
sont des variables d'environnement.
Créez un fichier et insérez votre politique de gestion au format JSON :
La politique ci-dessus aura pour effet :
de refuser toutes opérations dont l'adresse IP source n'appartient pas aux réseaux 10.0.0.0/8 et 192.168.0.0/16
Modifiez <bucket>
par le nom de votre Bucket.
Le service de Stockage d'Objets de cegedim.cloud est un service dit "S3 compatible". Certaines fonctionnalités spécifiques d'AWS S3 ne sont pas supportées.
Avec la condition aws:SourceIp
, prend en charge des adresses IPV4 ou des plages d'adresses IPV4. Les adresses en IPV6 ne sont pas supportées.
Lorsque aws:SourceIp
est un réseau complet (ex: 10.0.0.0), il faut indiquer le masque de sous réseau au format CIDR (Classless Inter-Domain Routing).
Exemple:
10.0.0.0/8
192.168.0.0/16
10.45.2.0/24
Lorsque aws:SourceIp
est une adresse IP (ex: 98.2.3.123), il ne faut pas indiquer le masque de sous réseau au format CIDR (Classless Inter-Domain Routing).
Exemples:
98.2.3.123
192.168.1.23
10.45.2.67
Appliquez la politique sur votre Bucket :
Vérifiez si la politique est correctement définie :
Les Object users sont des utilisateurs pouvant effectuer des opérations sur le service de Stockage Objet de cegedim.cloud, en utilisant l'API S3.
Un Object user est représenté par :
une access key
une secret key
Lorsque vous créez un Object Store, un Object User est automatiquement créé, avec le label "Inital S3 user".
Dans la page détaillée de votre Object Store, cliquez sur le bouton "Add User".
Saisissez un "Label" pour identifier facilement ce nouvel Object User, puis cliquez sur le bouton "Submit" :
Une fois l'Object User créé, une fenêtre pop-up apparaît, affichant ses Access Key
et Secret Key
.
Vous pouvez fermer cette pop-up une fois que vous avez enregistré vos informations d'identification.
L'Object User nouvellement créé est affiché dans l'onglet User:
Si vous changez le secret d'un Object User, toutes les applications ou clients utilisant cette secret key, obtiendront une erreur de type 401 Unauthorized Error
.
Le changement d'une secret key peut prendre quelques minutes pour se propager sur l'ensemble des sites du service de Stockage Objet de cegedim.cloud.
Vous avez la possibilité de spécifier une "période", en secondes, pendant laquelle, l'ancienne et la nouvelle secret key sont valides et acceptées par le service de Stockage Objet de cegedim.cloud.
À la fin de cette période, l'ancienne clé secrète est invalidée.
Une fois l'action soumise, un popup apparait, affichant la nouvelle secret key.
Vous pouvez fermer cette pop-up une fois que vous avez enregistré vos informations d'identification.
Il n'est pas possible de restaurer un Object User supprimé.
Un Object Store est un conteneur logique pour les Buckets et les objets stockés dans le service de stockage objet de cegedim.cloud.
Il est accompagné d'un Object User dédié qui est le seul autorisé à lister et à gérer les objets dans cet Object Store. Vous pouvez créer d'autres Object User.
Lors de la création d'un Object Store, vous devez choisir :
Un nom simple (voir )
Un centre de données :
EB4 - Centres de données Boulogne (non répliqué)
ET1 - Centres de données Toulouse (non répliqué)
EB4-ET1 - Les données sont répliquées sur EB4 et ET1 et sont accessibles depuis les deux centres de données.
Vous n'êtes pas limité et pouvez créer autant de Object Store que vous le souhaitez.
Néanmoins, il peut être préférable de segmenter les objets par Bucket pour les objets d'une même application ou de différentes applications.
Nous recommandons d'utiliser un Object Store au niveau projet, "groupe de projets" ou application, et un Bucket au niveau de la "typologie des fichiers" ou de l'environnement.
Pour plus d'informations sur la création d'un Object Store, veuillez lire les .
Un Bucket est un conteneur d'objets délimité logiquement. Chaque objet est stocké dans un Bucket.
Un Bucket peut être créé à l'aide d'un client S3 et possède des attributs que vous pouvez utiliser pour contrôler son comportement et celui de ses objets, par exemple :
Les politiques de gestion de version qui vous permettent le versionnage des objets
Les politiques de gestion de Bucket qui vous permettent de configurer les autorisations et les restrictions pour les objets situés dans un Bucket**.**
Un objet est l'équivalent d'un fichier sur un système de fichiers classique.
Chaque objet appartient à un Bucket et possède une "clé"
comme identifiant unique.
Notez que la notion de dossiers n'existent pas dans un service de stockage objet, mais vous pouvez utiliser des préfixes et des délimiteurs pour organiser les objets que vous stockez dans les Buckets.
Un préfixe est une chaîne de caractères au début du nom de la "clé" de l'objet.
Un délimiteur est un caractère, généralement le slash "/
", utilisé pour séparer chaque niveau d'objets et simuler une hiérarchie semblable à système de fichiers.
Par exemple, si vous stockez des informations sur les clients, organisées par années et par mois :
Dans cet exemple "/
" est le délimiteur, et client1/2020/04
est un un préfixe.
Le service de Stockage Objet de cegedim.cloud fournit 2 points endpoints:
Permet d'utiliser le service de Stockage Objet via EB4 - Centre de données de Boulogne.
Permet d'utiliser le service de Stockage Objet via ET1 - Centre de données de Toulouse.
Dans le cas d'un Object Store géo-répliqué (EB4-ET1), les deux endpoints vous permettent d'accéder à vos objets.
Si vous téléchargez un objet en utilisant le endpoint EB4, le site EB4 deviendra le propriétaire de l'objet, et vice versa pour ET1.
L'accès aux Buckets se fait par l'intermédiaire d'un Object User.
Lorsqu'un Object Store est créé, un Object User est automatiquement créé avec le label "Initial S3 user".
L'Object User dispose d'une access_key et d'une secret_key qui sont toutes deux générées automatiquement par cegedim.cloud.
Vous avez la possibilité de créer d'autres Object Users au sein de votre Object Store.
Un Object Users est lié à un seul Object Store et ne peut pas être utilisé pour effectuer des opérations sur un autre Object Store.
A tout moment, vous avez la possibilité de re-générer la secret_key d'un Object User, pour des raisons de sécurité ou lorsque l'Object User est compromis.
Lors de la modification de la secret_key, vous pouvez ajouter une "période de grâce" pendant laquelle l'ancienne et la nouvelle clé secret_key sont valides et acceptées par cegedim.cloud.
Les autorisations sont gérées au niveau du Bucket en utilisant les politiques de gestion des Buckets.
Les politiques de gestion des Buckets vous permettent d'avoir une gestion fine des permissions à appliquer sur les objets et les Object Users, basées ou non sur des déclarations conditionnelles, comme l'access_key de l'Object User ou le Adresse IP source.
Lors de la création d'un Bucket, par défaut, aucune politique de gestion n'existe. Aussi, par défaut, un Bucket ne dispose pas d’accès public/anonyme.
Cela signifie que seul l'Object Users qui a créé le Bucket peut y accéder.
Le service de stockage objet cegedim.cloud est uniquement disponible via le protocole HTTPS sur le port 443.
La fonctionnalité S3 Bucket logging n'est pas supporté le service de Stockage Objet cegedim.cloud.
Toutes les opérations sont enregistrées par cegedim.cloud.
Les journaux incluent les opérations sur l'Object Store, l'Object User, ainsi que les opérations faites au niveau des Buckets et des objets (GET, PUT, DELETE,...).
Si vous avez besoin d'une extraction des opérations réalisées sur vos ressources, veuillez contacter le support cegedim.cloud.
Le service de Stockage Objet cegedim.cloud supporte le partage d'objets à l'aide d'URLs pré-signées. Vous pouvez partager des objets avec un tiers en créant une URL pré-signée.
Lorsque vous créez une URL pré-signée, vous devez fournir :
Vos informations d'identification de sécurité
Un nom de bucket et une clé d'objet
Une méthode HTTP (PUT pour le téléchargement d'objets)
Un délai d'expiration
Les URL pré-signées ne sont valables que pour la durée spécifiée.
Le service de Stockage Objet cegedim.cloud supporte la définition de politiques des gestion des Buckets.
Ces politiques fournissent à des utilisateurs spécifiques, ou à tous les utilisateurs, des autorisations conditionnelles et granulaires pour des actions spécifiques.
Les conditions de politique peuvent être utilisées pour attribuer des autorisations à une gamme d'objets qui correspondent à la condition et peuvent être utilisées pour attribuer automatiquement des autorisations aux objets nouvellement créés.
Exemple de politique de gestion d'un Bucket :
Le service de Stockage Objet cegedim.cloud supporte les configuration de cycle de vie des objets dans un Bucket.
Une configuration de cycle de vie est un ensemble de règles définissant les actions applicables à un groupe d'objets. Seules les actions d'expiration sont prises en charge.
Vous pouvez définir une configuration de cycle de vie pour supprimer automatiquement les objets.
Exemple de configuration du cycle de vie :
Le service de stockage objet cegedim.cloud supporte le verrouillage des objets (Object Lock).
Object Lock empêche la suppression des objets et de leurs versions, pendant une période définie par l'utilisateur.
La politique de rétention est définie à l'aide de l'API S3 ou des valeurs par défaut au niveau du Bucket ou directement sur l'objet.
Les objets sont verrouillés pour la durée de la période de rétention. Les scénarios de rétention légale sont également pris en charge.
Il existe deux types de protection:
Retention period: Spécifie une période de temps fixe pendant laquelle une version d'objet est verrouillée. Pendant cette période, votre version de l'objet est protégée en écriture et ne peut pas être modifiée ou supprimée.
Legal hold: Offre la même protection qu'une période de rétention, mais sans date d'expiration. Au contraire, Legal hold reste en place jusqu'à ce que vous la désactiviez explicitement. Les legal hold sont indépendantes des périodes de rétention.
Il existe deux modes pour la période de rétention :
Avec le mode conformité, si vous appliquez une période de rétention par erreur (par exemple 6 ans au lieu de 6 jours), cegedim.cloud n'a aucune possibilité de supprimer ou de réduire la période de rétention.
Une bonne pratique consiste à commencer avec mode gouvernance pour effectuer des tests, puis de passer ensuite, en mode conformité.
Object Lock empêche la suppression des objets et de leurs versions, pendant une période définie par l'utilisateur.
La politique de rétention est définie à l'aide de l'API S3 ou des valeurs par défaut au niveau du Bucket ou directement sur l'objet.
Les objets sont verrouillés pour la durée de la période de rétention. Les scénarios de rétention légale sont également pris en charge.
Il existe deux types de protection:
Retention period: Spécifie une période de temps fixe pendant laquelle une version d'objet est verrouillée. Pendant cette période, votre version de l'objet est protégée en écriture et ne peut pas être modifiée ou supprimée.
Legal hold: Offre la même protection qu'une période de rétention, mais sans date d'expiration. Au contraire, Legal hold reste en place jusqu'à ce que vous la désactiviez explicitement. Les legal hold sont indépendantes des périodes de rétention.
Il existe deux modes pour la période de rétention :
Avec le mode conformité, si vous appliquez une période de rétention par erreur (par exemple 6 ans au lieu de 6 jours), cegedim.cloud n'a aucune possibilité de supprimer ou de réduire la période de rétention.
Une bonne pratique consiste à commencer avec le mode gouvernance pour effectuer des tests, puis de passer ensuite, en mode conformité.
Pour plus d'informations, voir :
Object Lock nécessite la désactivation de la fonctionnalité ADO (Access During Outage) au niveau du magasin d'objets.
Les Object Stores sans ADO ne peuvent pas être créés au travers d'ITCare et doivent manuellement par les équipes de cegedim.cloud.
Object Lock ne fonctionne qu'avec les Object Users de type IAM.
Object Lock ne fonctionne qu'avec des Buckets où le versionnage est activé.
L'activation de Object Lock sur le Bucket active automatiquement le versionnage .
Une fois Object Lock activé, il n'est pas possible de le désactiver ou de suspendre le versionnage au niveau du Bucket.
Object Lock n'est pas compatible avec les Buckets où la fonctionnalité "système de fichiers" est activée.
Object Lock est uniquement supporté l'API S3.
Un Bucket peut avoir une configuration Object Lock par défaut comprenant un mode de rétention (gouvernance ou conformité) et une période de rétention (exprimée en jours ou en années).
Object Lock s'appliquent uniquement aux versions individuelles des objets
Les différentes versions d'un même objet peuvent avoir des modes et des périodes de rétention différents.
Object Lock empêche la suppression ou la modification d'un objet. La modification ne signifie pas que de nouvelles versions ne peuvent pas être créées (de nouvelles versions peuvent être créées avec leurs propres paramètres de rétention).
Un objet peut toujours être supprimé en fonction de sa version. Un marqueur de suppression est créé. La version existe toujours et est verrouillée.
Le mode conformité est plus strict : les périodes de rétention ne peuvent pas être supprimées, réduites ou déclassés en mode gouvernance.
Le mode gouvernance est moins strict : les période de rétention peuvent être supprimées, contournées, ou même élevés en mode conformité.
La mise à jour des métadonnées d'une version d' un objet, qui se produit lorsque vous placez ou modifiez Object Lock, n'écrase pas la version de l'objet et ne réinitialise pas son horodatage "Last-Modified".
La période de rétention peut être placée explicitement sur un objet ou implicitement, par le biais d'une configuration Object Lock définit au niveau du Bucket.
Le fait de placer une une configuration Object Lock sur un Bucket n'a aucun effet les objets déjà présents dans le Bucket.
La modification de période de rétention définit au niveau du Bucket ne change pas la période de rétention sur les objets déjà présent dans le Bucket.
Les objets sous verrou sont protégés contre les suppressions de cycle de vie.
La logique du cycle de vie est rendue difficile en raison de la variété des comportements des différents verrous.
Du point de vue du cycle de vie, il existe des verrous sans date, des verrous dont la date peut être prolongée et des verrous dont la date peut être réduite.
Pour le Mode de conformité : la date de conservation ne peut pas être réduite, mais elle peut être augmentée.
Pour le Mode de gouvernance : la date de verrouillage peut augmenter, diminuer ou être supprimée.
Pour la protection de type Legal Hold, la rétention est indéfinie.
Le contrôle d'accès au travers des politiques IAM est une partie importante de la fonctionnalité Object Lock.
La permission s3:BypassGovernanceRetention
est importante car elle permet supprimer un objet protégé par Object Lock avec une configuration en mode gouvernance.
Les conditions des politiques IAM sont décrites ci-dessous et vous permettent de limiter la période de rétention et le type de protection (Legal Hold) spécifiés sur les objets.
Il n'est pas possible de gérer les politiques IAM avec ITCare.
Ces condition peuvent être utilisées dans les politiques de gestion des Buckets et IAM pour contrôler les comportements de Objet Lock sur objets.
Par exemple: s'assurer à ce que la période de rétention ne dépasse pas 5 ans.
Nous utilisons les utilitaires aws s3 et aws s3api issues du client S3 AWSCLIv2 sur Linux. ${S3_ENDPOINT}
& ${S3_PROFILE}
sont des variables d'environnement.
Créez un Bucket avec le Object Lock activé :
Vous ne pouvez activer Object Lock uniquement à la création d'un Bucket.
Vous ne pouvez pas activer Object Lock sur un Bucket existant.
Ajoutez une configuration Object Lock sur votre Bucket :
Obtenir la configuration Object Lock actuelle d'un Bucket :
Dans ce contexte, il n'y a pas de configuration Object Lock définie au niveau du Bucket.
Mais le Bucket a été créé avec le paramètre --object-lock-enabled-for-bucket.
Nous utilisons les utilitaires aws s3 et aws s3api issues du client S3 AWSCLIv2 sur Linux. ${S3_ENDPOINT}
& ${S3_PROFILE}
sont des variables d'environnement.
Téléchargez un objet dans un Bucket :
Appliquez la période de rétention sur l'objet :
Utilisez head-object
pour obtenir les métadonnées de l'objet et les informations sur la rétention :
Augmentez la rétention (+1 jours) :
Supprimez l'objet :
Vérifiez la version :
Cela affichera toutes les versions de l'objet ainsi que le marqueur de suppression
(DeleteMarker)
, créé lorsque nous avons supprimé l'objet.
Supprimez le marqueur de suppression
(DeleteMarker)
en utilisant l'identifiant de la version :
Uploadez une nouvelle version de l'objet :
Nous avons maintenant 2 versions de l'objet feather.ttf.
Supprimez une version spécifique :
La version de l'objet supprimée "devient" un marqueur de suppression
(DeleteMarker).
Lister les versions :
Utilisez l'option --bypass-governance-retention
pour contourner la mode gouvernance et supprimer le marqueur de suppression
(DeleteMarker)
:
Lister les versions :
Supprimer la dernière version de l'objet avec --bypass-governance-retention
:
Lister les versions :
Résultat vide.
Résultat vide - bucket vide.
Les configurations Object Lock peuvent être appliquées au niveau du Bucket.
La rétention sera appliquée sur chaque objet mis dans le Bucket.
Definition d'une configuration Object Lock
La configuration Object Lock est un document JSON :
Le mode de rétention par défaut que vous souhaitez appliquer aux nouveaux objets placés dans le Bucket. Doit être utilisé avec Jours ou Années.
Les valeurs possibles sont COMPLIANCE ou GOVERNANCE.
Le nombre de jours de la période de rétention appliquée par défaut. Doit être utilisé avec Mode.
Années
Le nombre d'années de la période de rétention appliquée par défaut. Doit être utilisé avec Mode. Les jours et les années sont mutuellement exclusif.
s3Browser ne vous permet pas de gérer les configurations Object Lock sur les Buckets ou les objets.
Avec s3Browser, vous pouvez voir les métadonnées des objets et obtenir la configuration Object Lock actuellement définie sur l'objet :
Nom | Description | Requis |
---|
Pour plus d'informations, consulter .
Permissions | Opérations S3 |
---|
Permissions | Opérations S3 |
---|
Permissions | Opérations S3 |
---|
Condition | Description | Opérateurs applicables |
---|
Nom de la clé | Description | Autorisations applicables |
---|
Nom de la clé | Description | Autorisations applicables |
---|
Pour une documentation complète sur les politiques de gestion des Buckets, veuillez vous référer à .
Vous pouvez modifier le label d'un Object User en utilisant le bouton :
Vous pouvez verrouiller ou déverrouiller un Object User en utilisant le bouton :
Un Object User verrouillé est identifié par un cadenas fermé situé à gauche du label et ne peut effectuer aucune opération sur l'API S3.
Vous pouvez à tout moment modifier la secret key d'un Object User en cliquant sur le bouton .
Vous pouvez supprimer un Object User en cliquant sur le bouton .
Voir la page pour la liste des API S3 supportées, non supportées ainsi que les comportements spécifiques à la solution de stockage objet de cegedim.cloud.
Pour plus d'informations, reportez-vous à la page .
Pour plus d'informations sur les politiques de gestion des Buckets, reportez-vous à la page .
Pour plus d'informations sur l'URL pré-signée, reportez-vous à la page .
Pour plus d'informations sur les politiques de gestion des Buckets, reportez-vous à la page .
Pour plus d'informations sur la gestion des configurations de cycle de vie, reportez-vous à la page .
Pour plus d'informations sur Object Lock, reportez-vous à la page .
Cela signifie que, sans ADO, toutes opérations (lecture, création, mise à jour et suppression ainsi que lister des buckets), sur un site qui n'est pas propriétaire de l'objet ou du bucket, échoueront.
Les Object Users de type IAM ne peuvent pas être gérés au travers d'ITCare et doivent être créés manuellement par les équipes de cegedim.cloud.
Condition | Description |
---|
est un client Windows freeware pour .
|
|
|
|
| Objet Objet PUT Terminer un téléchargement "mulitpart" |
|
|
|
|
|
|
|
|
|
|
|
|
| Liste des ''parts" dans un téléchargement "mulitpart" |
| Terminer le téléchargement "mulitpart" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Utilisé pour vérifier les conditions basées sur la date et l'heure | Opérateur de date |
| Utilisé pour vérifier les conditions basées sur la date et l'heure en utilisant le format EPOCH (voir Opérateurs de condition de date). | Opérateur de date |
| Utilisé pour vérifier le type de principal (utilisateur, compte, utilisateur fédéré, etc.) pour la requête en cours. | Opérateur de chaîne de caractères |
| Utilisé pour vérifier l'adresse IP source. | Opérateur de chaîne caractères |
| Utilisé pour vérifier "UserAgent" du demandeur. | Opérateur de chaîne caractères |
| Utilisé pour vérifier le nom d'utilisateur du demandeur. | Opérateur de chaîne caractères |
| Condition pour exiger des autorisations d'accès spécifiques lorsque l'utilisateur télécharge un objet. | s3:PutObject s3:PutObjectAcl s3:PutObjectVersionAcl |
(pour les permissions explicites), où la permission peut être : lecture, écriture, lecture-acp, écriture-acp, contrôle total | Le propriétaire du Bucket peut ajouter des conditions en utilisant ces clés pour exiger certaines permissions. | s3:PutObject s3:PutObjectAcl s3:PutObjectVersionAcl |
| Oblige l'utilisateur à spécifier cet en-tête dans la requête. | s3:PutObject s3:PutObjectAcl |
| Restreindre l'utilisateur à l'accès aux données uniquement pour une version spécifique de l'objet. | s3:PutObject s3:PutObjectAcl s3:DeleteObjectVersion |
| Définir une condition pour exiger des autorisations d'accès spécifiques lorsque l'utilisateur télécharge un objet. | s3:CreateBucket s3:PutBucketAcl |
(pour les permissions explicites), où la permission peut être : lecture, écriture, lecture-acp, écriture-acp, contrôle total | Le propriétaire du Bucket peut ajouter des conditions en utilisant ces clés pour exiger certaines permissions. | s3:CreateBucket s3:PutBucketAcl |
| Oblige l'utilisateur à spécifier cet en-tête dans la requête. | s3:PutObject s3:PutObjectAcl |
| Exiger que l'utilisateur spécifie le paramètre de délimitation dans la requête Get Bucket (List Objects). | s3:PutObject s3:PutObjectAcl s3:DeleteObjectVersion |
| Limitez le nombre de clés que Object Storage Service renvoie en réponse à la requête Get Bucket (List Objects) en demandant à l'utilisateur de spécifier le paramètre max-keys. | s3:ListBucket s3:ListBucketVersions |
|
| Oui, si vous spécifiez plus d'une condition de filtre (par exemple, un préfixe et une ou plusieurs tags). |
|
| Oui, si |
|
| Oui, si |
|
Note:
| Oui, si aucune autre action n'est présente dans la règle. |
|
| Oui |
|
| Non |
|
| Oui, si le parent |
|
| Oui |
|
| Oui. si |
|
| Oui |
|
| Oui, si aucune autre action est présente dans le conteneur Rule. |
|
Note: Prise en charge <Prefixe> avec et sans <Filtre>. PUT Bucket lifecycle avec un filtre:
| Non |
|
| Oui |
|
| Oui |
|
| Oui, si le parent |
| Permet l'application de la protection "Legal Hold" sur l'objet spécifié. |
| Active l'application de la protection "Retention Period" sur l'objet spécifié. |
| Permet l'application d'une date de conservation spécifique. |
| Permet l'exécution d'un objet par rapport aux jours de rétention restants. |
cegedim.cloud fournit un service de Stockage Objet, offrant des Object Stores dédiés, permettant à votre application de stocker des documents sans se soucier de la capacité, de la sécurité et de la disponibilité, avec les plus hauts standards déjà intégrés.
C'est un excellent moyen d'améliorer la disponibilité de vos applications et de décharger les documents, les médias, les données structurées ou non structurées que vous stockez habituellement dans des systèmes de fichiers ou des bases de données, et de réduire vos coûts de stockage.
Ce service de stockage objet est compatible avec les API AWS S3, facilitant l'intégration dans vos applications en utilisant les SDK fournis par AWS, en Java, Python, javascript, .NET, Go et beaucoup d'autres langages.
Les données sont transférées par HTTPS, de sorte que toutes les données transférées sont cryptées sur le réseau. Les données sont également cryptées côté serveur, sur les disques.
En outre, vous pouvez également utiliser un cryptage côté client avec votre propre clé en utilisant un client crypté S3 à partir du SDK AWS.
Le service de Stockage Objet de cegedim.cloud est un service entièrement géré, vous n'avez donc pas à vous soucier de la gestion d'un système de fichiers, de sa capacité ou de sa sécurité.
Vous pouvez ainsi vous concentrer sur votre application.
Les coûts sont bien moins élevés que ceux du stockage traditionnel par blocs. Vous pouvez réduire votre facture jusqu'à 90 % en transférant vos données vers ce service.
Le service de Stockage Objet de cegedim.cloud s'appuie sur des composants redondants, avec des solutions intégrées et transparentes de failover / failback.
Vous pouvez choisir de créer des Object Stores géo-répliqués, améliorant ainsi la capacité de vos applications à gérer les problèmes de DR.
Les données sont automatiquement répliquées dans deux régions différentes et vous pouvez accéder à vos données avec des opérations de lecture/écriture sur toutes les régions.
Le modèle de tarification est entièrement basé sur l'utilisation du stockage, vous payez ce que vous utilisez. Il n'y a pas de frais d'installation.
Il existe deux niveaux de service :
Object Storage standard: les données ne sont pas géo-répliquées
Object Storage répliqué: les données sont géo-répliquées dans deux régions.
Vous serez facturé à l'usage, en gibytes (2^30 octets = 1 GiB) par mois, sur la base du stockage moyen alloué au cours du mois.
Le prix mensuel est calculé sur une base annuelle (365,25 jours) et peut donc varier légèrement d'un mois à l'autre en fonction du nombre de jours du mois concerné.
Pour déterminer votre facture mensuelle, nous convertissons les "octets par heure" en "gibytes par mois".
Pour des informations détaillées sur la facturation, veuillez contacter cegedim.cloud.
Par défaut, le service de Stockage Objet cegedim.cloud ne fournit pas de capacités de sauvegarde. Cela signifie que si vous supprimez accidentellement un objet, il n'est pas possible de le restaurer.
Le versionnage consiste à conserver plusieurs versions d'un objet dans le même Bucket. Vous pouvez utiliser la fonctionnalité S3 Versioning pour préserver, récupérer et restaurer chaque version de chaque objet stocké dans votre Bucket.
Grâce à la gestion des versions, vous pouvez vous même restaurer facilement vos objets suite à des actions involontaires d'utilisateurs ou d'applications défaillantes.
Les Buckets dont la gestion des versions est activée peuvent vous aider à récupérer des objets après une suppression ou un écrasement accidentel. Par exemple, si vous supprimez un objet, un marqueur de suppression est créé au lieu de le supprimer définitivement.
Le marqueur de suppression devient la version actuelle de l'objet. Si vous écrasez un objet, il en résulte une nouvelle version de l'objet dans le Bucket.
Par défaut, le versionnage S3 est désactivé sur les Buckets et vous devez l'activer explicitement. Pour gérer les versions de Bucket et d'objet, vous pouvez utiliser le client AWS CLI ou tout autre outil compatible avec l'API AWS S3.
Vous serez facturé pour l'espace utilisé par l'ensemble des versions d'un objet.
Le nombre maximum de version conseillé pour un objet et de 50 000. Il est déconseillé d'aller au-delà de ce seuil.
Vous pouvez utiliser une configuration de cycle de vie pour supprimer les versions de vos objets : #vider-un-bucket
Nous utilisons les utilitaires aws s3 et aws s3api issues du client S3 AWSCLIv2 sur Linux.${S3_ENDPOINT}
&${S3_PROFILE}
sont des variables d'environnement
Si la gestion des versions n'a jamais été défini sur un Bucket, il n'a pas d'état de versionnage. L'utilisation de la CLI AWS aws s3api , get-bucket-versioning
, ne renvoie rien :
Pour un Bucket avec le versionnage activé :
Pour un Bucket avec versionnage suspendu :
Une fois que le versionnage est activé sur un Bucket, il ne peut plus être supprimé. Mais vous avez la possibilité de la suspendre.
Vous pouvez utiliser la fonction list-object-versions
de la commande s3api à partir de l'AWSCLI :
Pour obtenir une version spécifique d'un objet en utilisant get-object
et --version-id
<Version ID>
Un marqueur de suppression **(DeleteMarker)
**d'un objet, a également un identifiant de version, vous pouvez le supprimer en utilisant son identifiant de version afin de restaurer votre objet.
Vous pouvez supprimer une version spécifique sur un objet. Si la version spécifiée n'est pas la version courante, la version spécifiée de l'objet est supprimée et aucun marqueur de suppression (DeleteMarker)
n'est créé.
Connectez-vous à ITCare et accéder à la section Stockage via le menu latéral gauche.
Cliquez sur Créer un espace de stockage.
Sélectionnez le Centre de données qui sera le site primaire de votre Object Store :
Lorsque la géo-réplication est activée, les Objects sont disponibles depuis les 2 URL API du service de Stockage Objet. Voir #objectstoragearchitecture-authentification.
La géo-réplication ne peut pas être activée ou désactivée une fois que l'Object Store est créé.
Recherchez et sélectionnez un Service :
Entrez un nom pour votre Object Store (voir #limitations-et-bonnes-pratiques).
Vous pouvez également définir un Quota. Le quota peut être modifié à tout moment après la création de l'Object Store.
Le nom de votre Object Store sera préfixé par " cos " + le nom du "cloud" auquel appartient le service global sélectionné :cos-<cloud>-<votre nom d'object-store>
Exemple: cos-cegedimit-hello
La dernière étape résume votre demande de création d'Object Store.
Vérifiez si les informations sont correctes et cliquez sur le bouton Submit pour lancer la création.
Une fois la création terminée (cela peut prendre quelques minutes), une pop-up apparaît, affichant vos informations d'identification et les endpoints disponibles pour votre Object Store :
Nom d'utilisateur → votre access_key
Mot de passe → votre secret_key
Gardez votre secret_key en sécurité, elle ne sera plus affiché.
Vous avez la possibilité de régénérer une secret_key , voir Gérer des Objects Users
Si vous avez sélectionné un centre de données avec la géo-Réplication activée (étape 2), vous aurez deux endpoints, un pour chaque centre de données.
Si vous avez sélectionné un centre de données avec la géo-réplication désactivée (étape 2), vous n'aurez qu'un seul endpoints, correspondant au centre de données sélectionné.
Cette page présente des informations détaillées sur votre Object Store :
Le service global dont fait partie l'Object Store
Le centre de données où se trouve l'Object Store
Taille globale et nombre d'objets
Statut du quotas
La liste des Object Users
Vous avez également la possibilité de gérer :
Le quota
Les Object Users
Supprimer l'Object Store
Vous avez créé votre Object Store, il est temps maintenant de créer un Bucket.
Nous utilisons les utilitaires aws s3 et aws s3api issues du client S3 AWSCLIv2 sur Linux.${S3_ENDPOINT}
& ${S3_PROFILE}
sont des variables d'environnement.
Utilisez la commande mb
pour créer un Bucket :
Lister les Buckets :
Nous avons maintenant un Bucket, nous allons y charger des objets.
Nous utilisons les utilitaires aws s3 et aws s3api issues du client S3 AWSCLIv2 sur Linux.${S3_ENDPOINT}
& ${S3_PROFILE}
sont des variables d'environnement.
Utilisez la commande cp
pour téléchargez un objet :
Vous pouvez spécifier un préfixe lorsque vous téléchargez un objet dans un Bucket :
Vous pouvez spécifier un quota sur votre Object Store afin de limiter l'espace utilisé.
Lorsque le quota est atteint, le téléchargement des objets dans un Bucket de l'Object Store est refusé.
Pour gérer les quotas, rendez-vous sur la page d'information détaillée de votre Object Store et cliquez sur le bouton Gestion du quota.
Vous pouvez définir un quota de 1 Go à 8 To.
Si vous avez besoin de plus de 8 To de Quota, veuillez contacter cegedim.cloud.
Une fois le Quota appliqué, vous pouvez suivre le statut du Quota sur la page d'information détaillée de votre Object Store :
Lorsque la limite du Quota est atteinte, le téléchargement est refusé (HTTP 403 Forbidden) :
S3Browser est un logiciel gratuit pour Windows (uniquement). Il offre des fonctionnalités de base avec la version gratuite. Pour les fonctionnalités avancées, il faut acquérir la version pro.
AWS CLI est l'interface en ligne de commande officielle d'AWS (disponible Windows, Linux et MacOS). Il offre toutes les fonctionnalités et les meilleures performances pour être utilisé avec le service de Stockage Objet de cegedim.cloud.
s5cmd est une alternative à AWS CLI. Client performant pour des opérations sur l'API S3 et sur les systèmes de fichiers locaux.
Nous recommandons d'utiliser le SDK officiel d'AWS :
Si vous utilisez un Object Store géo-répliqué, vos objets seront disponibles depuis des deux endpoints (voir: Endpoints) du service de de Stockage Objet de cegedim.cloud.
Une bonne pratique consiste à utiliser un client avec une capacité de bascule entre les deux endpoints pour:
Basculer automatiquement vers un autre endpoints lorsque le première est indisponible.
Aucune configuration nécessaire pour permettre le basculement de votre application vers un autre endpoints.
Vider un Bucket est une opération irréversible
Les objets ou les Buckets supprimés ne peuvent pas être restaurés.
L'opération de suppression peut prendre un certain temps, en fonction du nombre d'objets et de versions stockés dans le Bucket.
Vous pouvez utiliser n'importe quel client S3, comme AWS CLI, s3cmd ou s3browser.
Vous pouvez vider un Bucket à l'aide de ce type client uniquement si le versionnage n'est pas activé sur le Bucket (voir Utilisation de la gestion des versions dans un Bucket) .
Si le versionnage n'est pas activé, vous pouvez utiliser la commande rm (remove) avec l'option --recursive
pour vider le Bucket (ou supprimer un sous-ensemble d'objets avec un préfixe spécifique).
La commande suivante supprime les objets qui ont le préfixe doc
, doc/object-1
et doc/object-2
.
Utilisez la commande suivante pour supprimer tous les objets sans spécifier de préfixe.
Vous ne pouvez pas supprimer des objets dans Bucket où le versionnage est activé.
S3 ajoute un marqueur de suppression
(**DeleteMarker)
**lorsque vous supprimez un objet.
Voir Configuration de cycle de vie pour plus d'informations.
Vous ne pouvez pas supprimer des objets où Object Lock est activé, tant que le délai de rétention défini n'est pas atteint ou que la protection "Legal Hold" n'est pas levée.
Si vous utilisez une configuration de cycle de vie pour vider un Bucket, la configuration de cycle de vie doit inclure :
Vous pouvez ajouter des règles de configuration du cycle de vie pour supprimer tous les objets ou un sous-ensemble d'objets ayant un préfixe spécifique. Par exemple, pour supprimer tous les objets d'un Bucket, vous pouvez définir une règle de cycle de vie pour que les objets expirent 1 jour après leur création.
Si le versionnage est activé, vous pouvez également configurer la règle pour supprimer les version non courants de vos objets (non-current versions)
Pour vider complètement un Bucket où le versionnage est activé, vous devez configurer une configuration de cycle de vie pour les objets courant (current versions) et non courant (non-current versions) du Bucket.
Vous pouvez ajouter une configuration de cycle de vie sur le Bucket en utilisant AWS CLI ou un client avec interface graphique comme s3browser.
Pour plus d'informations, voir Configuration de cycle de vie
Ci-dessous quelques configurations de cycle de vie pour vider Bucket :
Les règles suivantes s'appliquent au nom des Object Stores du service Stockage Objet de cegedim.cloud :
Le nombre de caractères du nom doit être compris entre 1 et 255 caractères.
Peut inclure un trait d'union (-) et des caractères alphanumériques ([a-zA-Z0-9]).
Évitez l'utilisation de caractères de soulignement (underscore) (_).
Évitez l'utilisation des majuscules.
Ne peut pas commencer par un point (.).
Ne peut pas contenir un double point (..).
Ne peut pas se terminer par un point (.).
Ne peut pas contenir d'espaces.
Ne doit pas être formaté comme une adresse IPv4.
Les noms des Object Stores doivent être uniques.
Créer un Object Store par projet ou par application.
La géo-réplication ne peut pas être activée ou désactivée une fois l'Object Store créé.
Pour de meilleures performances, il est recommandé d'avoir moins de 1000 Buckets dans un seul Object Store.
Le nom d'un Object Store doivent être compatibles avec le format des URL web.
Les règles suivantes s'appliquent au nom des Buckets du service Stockage Objet de cegedim.cloud**:**
Le nombre de caractères doit être compris entre 3 et 255 caractères.
Peut inclure les caractères point (.), tiret (-) et caractères de soulignement (_) et les caractères alphanumériques ([a-zA-Z0-9]).
Évitez l'utilisation des majuscules..
Peut commencer par un trait d'union (-) ou un caractère alphanumérique.
Ne peut pas commencer par un point (.).
Ne peut pas contenir un double point (..).
Ne peut pas se terminer par un point (.).
Ne peut pas contenir d'espaces.
Ne doit pas être formaté comme une adresse IPv4.
Le nom d'un Bucket doivent être uniques au sein d'un Object Store.
Utilisez les Buckets pour un environnement, un flux de travail ou des utilisations spécifiques. Par exemple : dev, test, finance, opérations, etc.
Dans un Object Store dont la Géo-replication est activée, créez des Buckets en utilisant le endpoint le plus proche (EB4 ou ET1) de l'application qui accède aux objets.
Il y a des opérations supplémentaires liés à la vérification de la dernière version d'un objet, si le site interrogé n'est pas le propriétaire de l'objet en question. Cela peut avoir un impact sur les performances.
Pour de meilleures performances, il est recommandé d'avoir moins de 1000 Buckets dans un seul Object Store.
Les noms des Buckets doivent être compatibles avec le format des URL web.
Les règles suivantes s'appliquent à la dénomination des Objets dans la base de données de cegedim.cloud :
Ne peut pas être null ou une chaîne vide.
La longueur est comprise entre 1 et 255 (caractères Unicode).
Évitez d'utiliser l'espace.
Pas de validation sur les caractères.
Les noms d'objets doivent être compatibles avec le format des URL web.
Cette section fournit des bonnes pratiques pour la manipulation d'objets de petite et de grande taille dans votre application. Il fournit également des informations sur les options de gestion version et les détails sur la compression.
Un objet est considéré comme petit lorsqu'il a une taille inférieur à 100 Ko.
Le service Stockage Objet de cegedim.cloud a un mécanisme interne qui améliore la performance pour les écritures de données des objets de faible taille. Il agrège plusieurs objets de mis en file d'attente en mémoire, puis les écrit en une seule opération sur le disque, et cela jusqu'à 2 Mo de données.
Cela améliore les performances en réduisant le nombre d'allers-retours pour traiter les écritures individuelles au niveau du stockage.
Bien que le service Stockage Objet de cegedim.cloud dispose d'optimisations pour les écritures de faible volumétrie, si vous avez la possibilité, dans votre application de définir la taille d'un objet
choisissez alors une taille plus grande (par exemple 1 Mo plutôt que 64 Ko) ou une valeur qui s'aligne sur la norme du service Stockage Objet de cegedim.cloud de 2 Mo pour des raisons de performance.
L'un des problèmes liés à la lecture et à l'écriture des objets de grande taille est la performance.
Le service Stockage Objet de cegedim.cloud fournit certaines fonctionnalités API pour réduire l'impact sur les performances des objets de grande taille, tels que les téléchargements "multipart". Voici quelques conseils pour mitiger certains des problèmes liés à l'accès aux objets volumineux :
Lorsque vous travaillez avec des objets volumineux (> 100 Mo), utilisez la fonction de téléchargement en plusieurs parties. Cela permet de mettre en pause et de reprendre les téléchargements pour les objets volumineux.
Pour des objet avec un taille inférieur à 1 Go, la taille du tampon interne étant de 2 Mo, utilisez un multiple de 2 Mo (par exemple 8 Mo).
Pour des objets de taille supérieur à 1 Go utilisez une taille de 128 Mo.
Le débit des performances peut être amélioré en parallélisant les téléchargements depuis votre application ou client.
Utilisez des API qui permettent un chargement et un téléchargement faciles, par exemple :
En Java, utilisez le TransferManager
En .NET, utilisez TransferUtility