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 chinoises), aws-us-gov (AWS GovCloud (États-Unis)) et aws-eusc (European Sovereign Cloud). Lorsque vous créez un compartiment à usage général, vous pouvez choisir de créer un compartiment dans l'espace de noms global partagé. Vous pouvez également choisir de créer un compartiment 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 laquelle seul votre compte peut créer des compartiments.
Rubriques
Seaux à usage général mondiaux
Par défaut, vous créez des compartiments globaux à usage général dans l'espace de noms global partagé. Après avoir créé un compartiment à usage général dans l'espace de noms global partagé, personne d'autre ne peut créer ce nom de compartiment dans la partition. Lorsque vous supprimez un bucket global à usage général, le nom du bucket redevient disponible dans l'espace de noms global pour que tout le monde puisse le recréer.
Lorsque vous créez des compartiments globaux à usage général, vous pouvez demander n'importe quel nom qui respecte les règles de dénomination des compartiments. Ces règles incluent la spécification d'un nom compris 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 compartiment 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 qui 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 compartiments généraux généraux pour bénéficier d'une flexibilité maximale dans la sélection des noms de compartiments que vous souhaitez. Comme il s'agit d'un espace de noms global partagé, d'autres comptes peuvent créer des noms de compartiment similaires. D'autres comptes peuvent également recréer les noms de bucket que vous avez supprimés précédemment. 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. Une méthode pour créer des noms de compartiment qui ne sont pas prévisibles consiste à ajouter un identificateur 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.
Compartiments à usage général de l'espace de nommage régional du compte
Bien que des compartiments à usage Amazon S3 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 du bucket global. Seul votre compte peut créer des compartiments à 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 AWS services S3 que les compartiments à usage général de l'espace de noms global partagé prennent déjà en charge. Vos applications n'ont pas besoin d'être modifiées pour interagir avec les compartiments de l'espace de noms régional de votre compte.
Note
Vous pouvez créer des compartiments 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 constitue 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 pour créer 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 compartiment dans votre espace de noms. Si un autre compte tente de créer un compartiment avec le suffixe régional de votre compte, la CreateBucket demande sera rejetée.
Convention de dénomination des espaces de noms régionaux des comptes
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 AWS compte 111122223333 dans la région us-west-2 :
amzn-s3-demo-bucket-111122223333-us-west-2-an
Pour créer un compartiment 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 le nom de compartiment au format de l'espace de noms régional d'un compte :. <customer-chosen-name>-<AWS-Account-ID>-<AWS-Region>-an
Note
Lorsque vous créez un compartiment à 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 compartiment que vous fournissez. Ce suffixe inclut votre identifiant de AWS compte et la AWS région que vous avez sélectionnée pour créer votre bucket. Lorsque vous créez un compartiment à 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 dans votre demande. Pour obtenir la liste des codes de AWS région, consultezAWS Format de code de région.
Intégrer l'espace de noms régional du compte à votre CloudFormation modèles
Vous pouvez mettre à jour vos outils d'infrastructure en tant que code, 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 qui créent 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 utilisant 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 la BucketNamePrefix propriété pour mettre à jour votre CloudFormation modèle. Cela vous BucketNamePrefix permet de fournir simplement la partie définie par le client du nom du compartiment. Il ajoute ensuite automatiquement le suffixe de l'espace de noms régional du compte en fonction du AWS compte demandeur et de la AWS région 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 compartiments dans l'espace de noms global partagé, les considérations suivantes s'appliquent :
-
Un nom de compartiment dans l'espace de noms global partagé ne peut pas être utilisé par un autre AWS compte sur la même partition tant que le compartiment n'est pas supprimé. Après avoir supprimé un compartiment 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 compartiment pour un nouveau compartiment et peut donc potentiellement recevoir des demandes destinées au compartiment supprimé.
-
Lorsque vous créez des applications qui créeront des compartiments dans l'espace de noms global partagé, assurez-vous 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.
-
Étant donné Amazon S3 que les compartiments sont identifiés en fonction de leur nom, une application utilisant un nom de compartiment incorrect dans une demande pourrait effectuer par inadvertance 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 compartiments dans l'espace de noms régional de votre compte, les restrictions et considérations suivantes s'appliquent :
-
Toute tentative de recréer un compartiment d'espace de noms régional de compte que vous possédez déjà dans n'importe quelle AWS région renverra une erreur HTTP 409 BucketAlreadyOwnedByYou .
-
Vous devez utiliser les points de terminaison régionaux S3 pour créer des compartiments 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 compartiments 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 compte dans le nombre maximum de 63 caractères autorisés dans les noms de compartiment à usage général. Ainsi, si le suffixe régional de votre compte est
-012345678910-us-east-1-an, vous disposez de 37 caractères pour le préfixe du nom de votre compartiment.
AWS Format de code de région
Pour créer un compartiment 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 compartiment à usage général. Vous devez spécifier le code de AWS région complet (par exemple,us-west-2) dans le suffixe. Consultez la section AWS Régions pour obtenir la 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 lorsque vous créez des 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 compartiments dans l'espace de noms régional de votre compte
Vous pouvez faire en sorte que vos administrateurs IAM ne créent des compartiments que 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 vous pouvez 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 policy
La IAM politique suivante refuse l'CreateBucket autorisation s3 : au IAM principal si la demande n'inclut pas l'en-tête x-amz-bucket-namespace 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'en-tête x-amz-bucket-namespace 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'en-tête x-amz-bucket-namespace 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 compartiment dans l'espace de noms régional de votre compte
Les exemples suivants vous montrent comment créer un compartiment à usage général dans l'espace de noms régional de votre compte.
Utilisation de 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