Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Espaces de noms pour les buckets à usage général
Par défaut, les compartiments à usage général existent dans un espace de noms global. Cela signifie que le nom de chaque compartiment doit être unique pour tous les AWS comptes de toutes les AWS régions d'une partition. Une partition est un regroupement de régions. AWS possède actuellement quatre partitions : aws (Régions standard), aws-cn (Régions de Chine), aws-us-gov (AWS GovCloud (États-Unis)) et aws-eusc (European Sovereign Cloud). Lorsque vous créez un bucket à usage général, vous pouvez choisir de créer un bucket dans l'espace de noms global partagé. Vous pouvez également choisir de créer un bucket dans l'espace de noms régional de votre compte. L'espace de noms régional de votre compte est une subdivision de l'espace de noms global dans lequel seul votre compte peut créer des buckets.
Rubriques
Godets à usage général mondiaux
Par défaut, vous créez des buckets globaux à usage général dans l'espace de noms global partagé. Après avoir créé un bucket à usage général dans l'espace de noms global partagé, ce nom de bucket ne peut être créé par personne d'autre au sein de la partition. Lorsque vous supprimez un bucket global à usage général, le nom du bucket est de nouveau disponible dans l'espace de noms global pour que tout le monde puisse le recréer.
Lorsque vous créez des buckets globaux à usage général, vous pouvez demander n'importe quel nom conforme aux règles de dénomination des buckets. Ces règles incluent la spécification d'un nom comportant entre 3 (minimum) et 63 (maximum) caractères. Le nom ne peut être composé que de lettres minuscules, de chiffres, de points (.) et de tirets (-). Les noms des compartiments doivent commencer et se terminer par une lettre ou un chiffre et ne peuvent pas contenir deux points adjacents. Pour plus d'informations sur les règles de dénomination des compartiments, consultezRègles de dénomination des compartiments à usage général.
Lorsque vous spécifiez un nom de bucket global à usage général, vous devez sélectionner un nom unique qui n'est pas déjà utilisé pour la partition. Si vous tentez de créer un bucket qui existe déjà et appartient à quelqu'un d'autre, vous recevrez une BucketAlreadyExists erreur HTTP 409. Si vous tentez de créer un bucket qui existe déjà et qui vous appartient, vous recevrez une BucketAlreadyOwnedByYou erreur HTTP 409.
Vous pouvez créer des buckets globaux à usage général pour bénéficier d'une flexibilité maximale lors de la sélection des noms de compartiments demandés. Comme il s'agit d'un espace de noms global partagé, d'autres comptes peuvent créer des noms de compartiment similaires. Les autres comptes peuvent également recréer les noms de compartiments que vous avez précédemment supprimés. Vous ne devez pas dépendre de conventions de dénomination de compartiment spécifiques à des fins de vérification de la disponibilité ou de la sécurité. N’écrivez pas de code en supposant que le nom du compartiment que vous avez choisi est disponible, sauf si vous avez déjà créé ce compartiment. L'une des méthodes permettant de créer des noms de compartiment imprévisibles consiste à ajouter un identifiant global unique (GUID) au nom de votre compartiment. Par exemple, amzn-s3-demo-bucket-a1b2c3d4-5678-90ab-cdef-example11111. Pour de plus amples informations, veuillez consulter Création d’un compartiment qui utilise un GUID dans son nom.
Espaces de noms régionaux du compte, compartiments à usage général
Bien que Amazon S3 les compartiments à usage général existent dans un espace de noms global partagé, vous pouvez éventuellement créer des compartiments dans l'espace de noms régional de votre compte. L'espace de noms régional du compte est une subdivision réservée de l'espace de noms de compartiment global. Seul votre compte peut créer des buckets à usage général dans cet espace de noms. Les nouveaux compartiments à usage général créés dans l'espace de noms régional de votre compte sont propres à votre compte. Ces compartiments ne peuvent jamais être recréés par un autre compte. Ces compartiments prennent en charge toutes les fonctionnalités et tous les AWS services S3 déjà pris en charge par les compartiments à usage général de l'espace de noms global partagé. Vos applications ne nécessitent aucune modification pour interagir avec les buckets de l'espace de noms régional de votre compte.
Note
Vous pouvez créer des buckets dans l'espace de noms régional de votre compte dans toutes les AWS régions à l'exception du Moyen-Orient (Bahreïn) et du Moyen-Orient (Émirats arabes unis).
La création de compartiments dans l'espace de noms régional de votre compte est une bonne pratique en matière de sécurité. Ces noms de compartiment ne peuvent être utilisés que par votre compte. Vous pouvez créer des compartiments dans l'espace de noms régional de votre compte afin de modéliser facilement des noms de compartiments à usage général dans plusieurs AWS régions. Vous pouvez être assuré qu'aucun autre compte ne peut créer de noms de bucket dans votre espace de noms. Si un autre compte tente de créer un bucket avec le suffixe régional de votre compte, la CreateBucket demande sera rejetée.
Convention de dénomination des espaces de noms régionaux du compte
Les compartiments à usage général de l'espace de noms régional de votre compte doivent respecter une convention de dénomination spécifique. Ces compartiments se composent d'un préfixe de nom de compartiment que vous créez et d'un suffixe contenant votre identifiant de AWS compte à 12 chiffres, le code de AWS région et se terminant par. -an
bucket-name-prefix-accountId-region-an
Par exemple, le compartiment à usage général suivant existe dans l'espace de noms régional du compte pour le AWS compte 111122223333 dans la région us-west-2 :
amzn-s3-demo-bucket-111122223333-us-west-2-an
Pour créer un bucket dans l'espace de noms régional de votre compte, vous devez en faire la CreateBucket demande. Spécifiez l'en-tête de la x-amz-bucket-namespace demande avec la valeur définie suraccount-regional. Spécifiez également un nom de compartiment au format d'espace de noms régional du compte :. <customer-chosen-name>-<AWS-Account-ID>-<AWS-Region>-an
Note
Lorsque vous créez un bucket à usage général dans l'espace de noms régional de votre compte à l'aide de la console, un suffixe est automatiquement ajouté au préfixe du nom du bucket que vous fournissez. Ce suffixe inclut votre numéro de AWS compte et la AWS région dans laquelle vous avez sélectionné pour créer votre compartiment. Lorsque vous créez un bucket à usage général dans l'espace de noms régional de votre compte à l'aide de l' CreateBucket API, vous devez fournir le suffixe complet. Cela inclut votre numéro de AWS compte et la AWS région figurant dans votre demande. Pour obtenir la liste des codes de AWS région, voirAWS Format du code de région.
Intégration de l'espace de noms régional du compte à vos modèles CloudFormation
Vous pouvez mettre à jour vos infrastructure-as-code outils, par exemple CloudFormation, pour simplifier la création de compartiments dans l'espace de noms régional de votre compte. CloudFormation propose les pseudo-paramètres AWS::AccountId etAWS::Region. Ces paramètres facilitent la création de CloudFormation modèles permettant de créer des compartiments d'espaces de noms régionaux pour les comptes. Pour plus d'informations, voir Obtenir AWS des valeurs à l'aide de pseudo-paramètres.
Exemple 1 d'utilisation BucketName avec Sub :
BucketName: !Sub "amzn-s3-demo-bucket-${AWS::AccountId}-${AWS::Region}-an" BucketNamespace: "account-regional"
Exemple 2 utilisant BucketNamePrefix :
BucketNamePrefix: 'amzn-s3-demo-bucket' BucketNamespace: "account-regional"
Vous pouvez également utiliser cette BucketNamePrefix propriété pour mettre à jour votre CloudFormation modèle. Vous BucketNamePrefix permet simplement de fournir la partie définie par le client du nom du bucket. Il ajoute ensuite automatiquement le suffixe d'espace de noms régional du compte en fonction du AWS compte et de la AWS région demandés spécifiés.
À l'aide de ces options, vous pouvez créer un CloudFormation modèle personnalisé pour créer facilement des compartiments à usage général dans l'espace de noms régional de votre compte. Pour plus d'informations, consultez AWS: :S3 : :Bucket dans le guide de l' CloudFormation utilisateur.
Restrictions et considérations
Lors de la création de buckets dans l'espace de noms global partagé, les considérations suivantes s'appliquent :
-
Un nom de bucket dans l'espace de noms global partagé ne peut pas être utilisé par un autre AWS compte de la même partition tant que le bucket n'est pas supprimé. Après avoir supprimé un bucket dans l'espace de noms global partagé, sachez qu'un autre AWS compte de la même partition peut utiliser le même nom de bucket pour un nouveau bucket et peut donc potentiellement recevoir des demandes destinées au bucket supprimé.
-
Lorsque vous créez des applications qui créeront des compartiments dans l'espace de noms global partagé, assurez-vous de tenir compte du fait que les noms de compartiment souhaités sont peut-être déjà utilisés par un autre compte et que d'autres comptes peuvent avoir des noms de compartiments similaires aux vôtres.
-
Dans la mesure où elle Amazon S3 identifie les compartiments en fonction de leur nom, une application qui utilise un nom de compartiment incorrect dans une demande peut par inadvertance effectuer des opérations sur un compartiment différent de celui prévu. Pour éviter les interactions de compartiments involontaires dans des situations comme celle-ci, vous pouvez utiliser la condition propriétaire du compartiment. Pour de plus amples informations, veuillez consulter Vérification de la propriété du compartiment avec la condition du propriétaire du compartiment.
Lorsque vous créez des buckets dans l'espace de noms régional de votre compte, les restrictions et considérations suivantes s'appliquent :
-
Toute tentative de recréation d'un bucket d'espace de noms régional de compte que vous possédez déjà dans une AWS région renverra une erreur HTTP 409 BucketAlreadyOwnedByYou .
-
Vous devez utiliser les points de terminaison régionaux S3 pour créer des buckets dans l'espace de noms régional de votre compte. Pour des raisons de rétrocompatibilité, vous pouvez utiliser l'ancien point de terminaison global pour créer des buckets dans l'espace de noms régional de votre compte dans la région USA Est (Virginie du Nord).
-
Le suffixe régional de votre compte est pris en compte dans le nombre maximum de 63 caractères autorisés dans les noms de compartiment à usage général. Donc, si le suffixe régional de votre compte est
-012345678910-us-east-1-an, 37 caractères sont disponibles pour le préfixe du nom de votre compartiment.
AWS Format du code de région
Pour créer un bucket dans l'espace de noms régional de votre compte, vous devez inclure la AWS région dans le suffixe où vous souhaitez créer le bucket à usage général. Vous devez spécifier le code de AWS région complet (par exemple,us-west-2) dans le suffixe. Voir AWS Régions pour une liste complète des codes de AWS région. Les noms de compartiments suivants présentent deux exemples du format de code de AWS région que vous devez utiliser lors de la création de compartiments dans l'espace de noms régional de votre compte :
-
amzn-s3-demo-bucket-012345678910-ap-southeast-1-an -
amzn-s3-demo-bucket-987654321012-eu-north-1-an
Exiger la création de buckets dans l'espace de noms régional de votre compte
Vous pouvez obliger vos IAM principaux à créer des buckets uniquement dans l'espace de noms régional de votre compte. Utilisez la clé de s3:x-amz-bucket-namespace condition. Les exemples suivants montrent comment appliquer la création de compartiments régionaux de comptes dans une IAM politique, une politique de contrôle des ressources ou une politique de contrôle des services.
IAM politique
La IAM politique suivante refuse l'CreateBucket autorisation s3 : au IAM principal si la demande n'inclut pas l' x-amz-bucket-namespaceen-tête défini sur account-regional.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireAccountRegionalBucketCreation", "Effect": "Deny", "Action": "s3:CreateBucket", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-bucket-namespace": "account-regional" } } } ] }
Politique de contrôle des ressources
La politique de contrôle des ressources suivante refuse l'CreateBucket autorisation s3 : à tout le monde si la demande n'inclut pas l' x-amz-bucket-namespaceen-tête défini sur account-regional.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "OnlyCreateBucketsInAccountRegionalNamespace", "Effect": "Deny", "Principal": "*", "Action": "s3:CreateBucket", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-bucket-namespace": "account-regional" } } } ] }
Stratégie de contrôle de service
La politique de contrôle des services suivante refuse l'CreateBucket autorisation s3 : à tout le monde si la demande n'inclut pas l' x-amz-bucket-namespaceen-tête défini sur account-regional.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireAccountRegionalBucketCreation", "Effect": "Deny", "Action": "s3:CreateBucket", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-bucket-namespace": "account-regional" } } } ] }
Création d'un bucket dans l'espace de noms régional de votre compte
Les exemples suivants vous montrent comment créer un bucket à usage général dans l'espace de noms régional de votre compte.
À l'aide du AWS CLI
L' AWS CLI exemple suivant crée un compartiment à usage général dans l'espace de noms régional du compte pour le AWS compte 012345678910 dans la région USA Ouest (Californie du Nord) (us-west-1). Pour utiliser cet exemple de commande, remplacez user input placeholders par vos propres informations.
aws s3api create-bucket \ --bucketamzn-s3-demo-bucket-012345678910-us-west-1-an\ --bucket-namespace account-regional --regionus-west-1\ --create-bucket-configuration LocationConstraint=us-west-1