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.
Stockage S3 | Créer
Créez un compartiment Amazon S3 pour le stockage dans le cloud.
Classification complète : Déploiement | Composants de pile avancés | Stockage S3 | Création
Détails du type de modification
Modifier l'identifiant du type |
ct-1a68ck03fn98r |
Version actuelle |
5.0 |
Durée d'exécution prévue |
60 minutes |
Approbation AWS |
Obligatoire |
Approbation du client |
Facultatif |
Mode d'exécution |
Automatisé |
Informations supplémentaires
Création d'un espace de stockage S3
Capture d'écran de ce type de modification dans la console AMS :
Comment cela fonctionne :
Accédez à la page Créer une RFC : Dans le volet de navigation de gauche de la console AMS, cliquez RFCspour ouvrir la page de RFCs liste, puis cliquez sur Créer une RFC.
Choisissez un type de modification (CT) populaire dans la vue Parcourir les types de modification par défaut, ou sélectionnez un CT dans la vue Choisir par catégorie.
Parcourir par type de modification : vous pouvez cliquer sur un CT populaire dans la zone de création rapide pour ouvrir immédiatement la page Run RFC. Notez que vous ne pouvez pas choisir une ancienne version CT avec création rapide.
Pour trier CTs, utilisez la zone Tous les types de modifications dans l'affichage Carte ou Tableau. Dans l'une ou l'autre vue, sélectionnez un CT, puis cliquez sur Créer une RFC pour ouvrir la page Exécuter une RFC. Le cas échéant, une option Créer avec une ancienne version apparaît à côté du bouton Créer une RFC.
Choisissez par catégorie : sélectionnez une catégorie, une sous-catégorie, un article et une opération et la zone de détails du CT s'ouvre avec une option permettant de créer avec une ancienne version, le cas échéant. Cliquez sur Créer une RFC pour ouvrir la page Exécuter une RFC.
Sur la page Run RFC, ouvrez la zone de nom du CT pour voir la boîte de détails du CT. Un sujet est requis (il est renseigné pour vous si vous choisissez votre CT dans la vue Parcourir les types de modification). Ouvrez la zone de configuration supplémentaire pour ajouter des informations sur le RFC.
Dans la zone Configuration de l'exécution, utilisez les listes déroulantes disponibles ou entrez des valeurs pour les paramètres requis. Pour configurer les paramètres d'exécution facultatifs, ouvrez la zone de configuration supplémentaire.
Lorsque vous avez terminé, cliquez sur Exécuter. S'il n'y a aucune erreur, la page RFC créée avec succès s'affiche avec les détails de la RFC soumise et le résultat d'exécution initial.
Ouvrez la zone Paramètres d'exécution pour voir les configurations que vous avez soumises. Actualisez la page pour mettre à jour l'état d'exécution de la RFC. Vous pouvez éventuellement annuler la RFC ou en créer une copie à l'aide des options en haut de la page.
Comment cela fonctionne :
Utilisez soit le Inline Create (vous émettez une
create-rfccommande avec tous les paramètres RFC et d'exécution inclus), soit le Template Create (vous créez deux fichiers JSON, un pour les paramètres RFC et un pour les paramètres d'exécution) et émettez lacreate-rfccommande avec les deux fichiers en entrée. Les deux méthodes sont décrites ici.Soumettez la
aws amscm submit-rfc --rfc-idcommande RFC : avec l'ID RFC renvoyé.IDSurveillez la
aws amscm get-rfc --rfc-idcommande RFC :.ID
Pour vérifier la version du type de modification, utilisez cette commande :
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
CRÉATION EN LIGNE :
Émettez la commande create RFC avec les paramètres d'exécution fournis en ligne (évitez les guillemets lorsque vous fournissez des paramètres d'exécution en ligne), puis soumettez l'ID RFC renvoyé. Par exemple, vous pouvez remplacer le contenu par quelque chose comme ceci :
Exemple avec uniquement les paramètres obligatoires, version 5.0 :
aws amscm create-rfc --title "my-s3-bucket" --change-type-id "ct-1a68ck03fn98r" --change-type-version "5.0" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-CreateBucket\",\"Region\":\"us-east-1\",\"Parameters\":{\"BucketName\":\"amzn-s3-demo-bucket\"}}"
Exemple avec tous les paramètres, version 5.0 :
aws amscm create-rfc --title "My S3 Bucket" --change-type-id "ct-1a68ck03fn98r" --change-type-version "5.0" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-CreateBucket\",\"Region\":\"us-east-1\",\"Parameters\":{\"BucketName\":\"amzn-s3-demo-bucket\",\"ServerSideEncryption\":\"KmsManagedKeys\",\"KMSKeyId\":\"arn:aws:kms:ap-southeast-2:123456789012:key/9d5948f1-2082-4c07-a183-eb829b8d81c4\",\"Versioning\":\"Enabled\",\"IAMPrincipalsRequiringReadObjectAccess\":[\"arn:aws:iam::123456789012:user/myuser\",\"arn:aws:iam::123456789012:role/myrole\"],\"IAMPrincipalsRequiringWriteObjectAccess\":[\"arn:aws:iam::123456789012:user/myuser\",\"arn:aws:iam::123456789012:role/myrole\"],\"ServicesRequiringReadObjectAccess\":[\"rds.amazonaws.com\",\"ec2.amazonaws.com\",\"logs.ap-southeast-2.amazonaws.com\"],\"ServicesRequiringWriteObjectAccess\":[\"rds.amazonaws.com\",\"ec2.amazonaws.com\",\"logs.ap-southeast-2.amazonaws.com\"],\"EnforceSecureTransport\":true,\"AccessAllowedIpRanges\":[\"1.0.0.0/24\",\"2.0.0.0/24\"]}}"
CRÉATION D'UN MODÈLE :
Afficher le schéma JSON des paramètres d'exécution pour ce type de modification dans un fichier ; cet exemple le nomme CreateBucketParams .json.
aws amscm get-change-type-version --change-type-id "ct-1a68ck03fn98r" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateBucketParams.jsonModifiez et enregistrez le CreateBucketParams fichier. Notez que vous n'avez pas besoin d'utiliser votre identifiant de compte dans le
BucketName, mais cela peut faciliter la recherche du compartiment (n'oubliez pas que les noms des compartiments doivent être uniques dans le compte dans toutes les régions et ne peuvent pas comporter de majuscules). Si vous l'utilisez pour créer un tier-and-tie WordPress site, vous souhaiterez peut-être indiquer cet objectif lors de la configuration duBucketName.Exemple avec accès en lecture :
{ "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "IAMPrincipalsWithReadObjectAccess": [ "arn:aws:iam::123456789123:role/roleA", "arn:aws:iam::987654321987:role/roleB" ] } }Exemple avec accès en écriture :
{ "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "IAMPrincipalsRequiringWriteObjectAccess": [ "arn:aws:iam::123456789123:role/roleA", "arn:aws:iam::987654321987:role/roleB" ] } }Pour la politique qui en résulte, voirAccorde l'accès READ à un utilisateur ou à un rôle IAM.
Exemple avec accès en lecture au service :
{ "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "ServicesRequiringWriteObjectAccess": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] } }Pour la politique qui en résulte, voirAccorde l'accès WRITE à un utilisateur ou à un rôle IAM.
Exemple avec accès en écriture au service :
{ "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "ServicesRequiringWriteObjectAccess": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] } }Exemple d'application d'un transport sécurisé :
{ "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "EnforceSecureTransport": "true" } }Pour la politique qui en résulte, voirUtilisations EnforceSecureTransport.
Exemple de limite d'accès au bucket à partir d'un ensemble de plages d'adresses IP :
{ "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "AccessAllowedIpRanges": [ "1.2.3.0/24", "2.3.4.0/24" ] } }Pour la politique qui en résulte, voirLimite l'accès à la plage d'adresses IP.
Exportez le fichier JSON du modèle RFC dans un fichier nommé CreateBucketRfc .json :
aws amscm create-rfc --generate-cli-skeleton > CreateBucketRfc.jsonModifiez et enregistrez le fichier CreateBucketRfc .json. Par exemple, vous pouvez remplacer le contenu par quelque chose comme ceci :
{ "ChangeTypeVersion": "5.0", "ChangeTypeId": "ct-1a68ck03fn98r", "Title": "S3-Bucket-Create-RFC", "RequestedStartTime": "2016-12-05T14:20:00Z", "RequestedEndTime": "2016-12-05T16:20:00Z" }Créez la RFC en spécifiant le CreateBucketRfc fichier et le CreateBucketParams fichier :
aws amscm create-rfc --cli-input-json file://CreateBucketRfc.json --execution-parameters file://CreateBucketParams.jsonVous recevez l'identifiant de la nouvelle RFC dans la réponse et vous pouvez l'utiliser pour soumettre et surveiller la RFC. Tant que vous ne l'avez pas soumise, la RFC reste en cours d'édition et ne démarre pas.
Pour afficher le compartiment S3 ou y charger des objets, consultez le résultat de l'exécution : utilisez le
stack_idpour afficher le compartiment dans la console Cloud Formation, utilisez le nom du compartiment S3 pour afficher le compartiment dans la console S3.Note
Lorsque vous téléchargez des objets depuis un compte non propriétaire, il est obligatoire de spécifier l'
bucket-owner-full-controlACL, qui accorde au compte propriétaire du compartiment le contrôle total sur tous les objets du compartiment. Exemple :aws s3api put-object --aclbucket-owner-full-control--bucketamzn-s3-demo-bucket--keydata.txt--body/tmp/data.txt
Note
Cette procédure pas à pas décrit et fournit des exemples de commandes pour la création d'un compartiment de stockage Amazon S3 à l'aide de la version 5.0 du type de modification (ct-1a68ck03fn98r). Cette version ne vous permet pas de créer un compartiment S3 public, seul le compartiment privé est autorisé. Pour créer un compartiment de stockage S3 public, utilisez une version précédente du type de modification et spécifiez PublicReadle AccessControlparamètre.
De plus, cette procédure pas à pas n'accorde pas les autorisations nécessaires pour supprimer des objets versionnés.
Pour en savoir plus sur Amazon S3, consultez la documentation Amazon Simple Storage Service
Le compartiment de stockage S3 crée un exemple de politiques résultantes
En fonction de la façon dont vous avez créé votre compartiment de stockage Amazon S3, vous avez créé des politiques. Ces exemples de politiques correspondent aux différents scénarios de création Amazon S3 fournis dansCréation d'un compartiment S3 avec la CLI.
Accorde l'accès READ à un utilisateur ou à un rôle IAM
L'exemple de politique qui en résulte accorde un accès READ aux objets du compartiment pour un utilisateur ou un rôle IAM :
{ "Sid": "AllowBucketReadActionsForArns", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789123:role/roleA”, "arn:aws:iam::987654321987:role/roleB” ] }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.BUCKET_NAME" }, { "Sid": "AllowObjectReadActionsForArns", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789123:role/roleA”, "arn:aws:iam::987654321987:role/roleB” ] }, "Action": [ "s3:GetObject", "s3:ListMultipartUploadParts" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }
Pour les paramètres d'exécution permettant de créer cette politique avec le type de création de modification du compartiment de stockage S3, voir Création d'un compartiment S3 avec la CLI
Accorde l'accès WRITE à un utilisateur ou à un rôle IAM
L'exemple de politique qui en résulte accorde un accès WRITE aux objets du compartiment pour un utilisateur ou un rôle IAM. Cette politique n'accorde pas les autorisations nécessaires pour supprimer des objets versionnés.
{ "Sid": "AllowObjectWriteActionsForArns", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789123:role/roleA”, "arn:aws:iam::987654321987:role/roleB” ] }, "Action": [ "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }
Pour les paramètres d'exécution permettant de créer cette politique avec le type de création de modification du compartiment de stockage S3, voir Création d'un compartiment S3 avec la CLI
Accorde l'accès READ à un service AWS
L'exemple de politique qui en résulte accorde un accès READ aux objets du compartiment pour un service AWS :
{ "Sid": "AllowBucketReadActionsForServcices", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }, { "Sid": "AllowObjectReadActionsForServcices", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] }, "Action": [ "s3:GetObject", "s3:ListMultipartUploadParts" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }
Pour les paramètres d'exécution permettant de créer cette politique avec le type de création de modification du compartiment de stockage S3, voir Création d'un compartiment S3 avec la CLI
Accorde l'accès WRITE à un service AWS
L'exemple de politique qui en résulte accorde l'accès WRITE aux objets du compartiment pour un service AWS. Cette politique n'accorde pas les autorisations nécessaires pour supprimer des objets versionnés.
{ "Sid": "AllowObjectWriteActionsForServcices", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] }, "Action": [ "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }
Pour les paramètres d'exécution permettant de créer cette politique avec le type de création de modification du compartiment de stockage S3, voir Création d'un compartiment S3 avec la CLI
Utilisations EnforceSecureTransport
Exemple de politique garantissant le transport sécurisé qui en résulte :
{ "Sid": "EnforceSecureTransport", "Effect": "Deny", "Principal": "*", "Action": "*", "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } }
Pour les paramètres d'exécution permettant de créer cette politique avec le type de création de modification du compartiment de stockage S3, voir Création d'un compartiment S3 avec la CLI
Limite l'accès à la plage d'adresses IP
Exemple de politique limitant l'accès au bucket à partir d'un ensemble de plages d'adresses IP :
{ "Sid": "RestrictBasedOnIPRanges", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ “1.2.3.0/24", “2.3.4.0/24" ] } } }
Pour les paramètres d'exécution permettant de créer cette politique avec le type de création de modification du compartiment de stockage S3, voir Création d'un compartiment S3 avec la CLI
Paramètres d'entrée d'exécution
Pour des informations détaillées sur les paramètres d'entrée d'exécution, consultezSchéma pour le type de modification ct-1a68ck03fn98r.
Exemple : paramètres obligatoires
{ "DocumentName" : "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "mybucket" } }
Exemple : tous les paramètres
{ "DocumentName" : "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "mybucket", "ServerSideEncryption": "KmsManagedKeys", "KMSKeyId": "arn:aws:kms:ap-southeast-2:123456789012:key/9d5948f1-2082-4c07-a183-eb829b8d81c4", "Versioning": "Enabled", "IAMPrincipalsRequiringReadObjectAccess": [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole" ], "IAMPrincipalsRequiringWriteObjectAccess": [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole" ], "ServicesRequiringReadObjectAccess": [ "rds.amazonaws.com", "ec2.amazonaws.com", "logs.ap-southeast-2.amazonaws.com" ], "ServicesRequiringWriteObjectAccess": [ "rds.amazonaws.com", "ec2.amazonaws.com", "logs.ap-southeast-2.amazonaws.com" ], "EnforceSecureTransport": true, "AccessAllowedIpRanges": [ "1.0.0.0/24", "2.0.0.0/24" ], "Tags": [ "{\"Key\": \"foo\", \"Value\": \"bar\"}", "{ \"Key\": \"testkey\",\"Value\": \"testvalue\" }" ] } }