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.
Exemple 1 : propriétaire d'un compartiment accordant à ses utilisateurs des autorisations sur un compartiment
Important
Il est préférable d'accorder des autorisations à IAM des rôles plutôt que d'accorder des autorisations à des utilisateurs individuels. Pour plus d'informations sur la façon d'accorder des autorisations à des IAM rôles, consultez. Comprendre les autorisations entre comptes et utiliser les rôles IAM
Rubriques
Dans cette procédure pas à pas, un Compte AWS possède un bucket et le compte inclut un IAM utilisateur. Par défaut, l'utilisateur n'a aucune autorisation. Le compte parent doit accorder des autorisations à l'utilisateur pour que celui-ci puisse exécuter des tâches. Le propriétaire du compartiment et le compte parent sont identiques. Par conséquent, pour accorder à l'utilisateur des autorisations sur le compartiment, Compte AWS peut utiliser une politique de compartiment, une politique utilisateur ou les deux. Le propriétaire du compte accorde certaines autorisations grâce à une stratégie de compartiment et d'autres autorisations grâce à une stratégie d'utilisateur.
Les étapes suivantes résument la procédure :
-
L'administrateur du compte crée une stratégie de compartiment qui accorde un ensemble d'autorisations à l'utilisateur.
-
L'administrateur du compte attache une stratégie d'utilisateur à l'utilisateur en accordant des autorisations supplémentaires.
-
L'utilisateur essaie ensuite les autorisations accordées via la stratégie de compartiment et utilisateur.
Pour cet exemple, vous aurez besoin d'un Compte AWS. Au lieu d'utiliser les informations d'identification de l'utilisateur root du compte, vous allez créer un utilisateur administrateur (voirUtilisation d'un utilisateur administrateur pour créer des ressources et accorder des autorisations). Nous nous référons au Compte AWS et l'utilisateur administrateur, comme indiqué dans le tableau suivant.
ID de compte | Compte désigné comme | Utilisateur administrateur du compte |
---|---|---|
|
Compte A |
AccountAadmin |
Note
Dans cet exemple, l'utilisateur administrateur est AccountAadmin, ce qui fait référence au compte A, et non AccountAdmin.
Toutes les tâches de création d'utilisateurs et d'octroi d'autorisations sont effectuées dans AWS Management Console. Pour vérifier les autorisations, la procédure pas à pas utilise les outils de ligne de commande AWS Command Line Interface (AWS CLI) et AWS Tools for Windows PowerShell, vous n'avez donc pas besoin d'écrire de code.
Préparation de la procédure détaillée
-
Assurez-vous d'avoir un Compte AWS et qu'il dispose d'un utilisateur doté de privilèges d'administrateur.
-
Inscrivez-vous pour un Compte AWS, si nécessaire. Nous appelons ce compte : Compte A.
-
Accédez à https://aws.amazon.com/s3
et choisissez Create an AWS compte. -
Suivez les instructions à l'écran.
AWS vous informera par e-mail lorsque votre compte sera actif et que vous pourrez l'utiliser.
-
-
Dans le compte A, créez un utilisateur administrateur
AccountAadmin
. À l'aide des informations d'identification du compte A, connectez-vous à la IAMconsoleet procédez comme suit : -
Créez un utilisateur
AccountAadmin
et notez les informations d'identification de sécurité de l'utilisateur.Pour obtenir des instructions, voir Création d'un IAM utilisateur dans votre Compte AWS dans le guide de l'utilisateur IAM.
-
Accordez des privilèges d'administrateur à AccountAadminen joignant une politique utilisateur donnant un accès complet.
Pour obtenir des instructions, reportez-vous à la section Gestion des IAM politiques dans le guide de IAM l'utilisateur.
-
Notez le nom de connexion de IAM l'utilisateur URL pour AccountAadmin. Vous devrez l'utiliser URL lorsque vous vous connecterez au AWS Management Console. Pour plus d'informations sur l'endroit où se trouve la connexionURL, voir Se connecter au AWS Management Console en tant qu'IAMutilisateur dans le Guide de IAM l'utilisateur. Notez le URL pour chacun des comptes.
-
-
-
Configurez soit le AWS CLI ou le AWS Tools for Windows PowerShell. Assurez-vous d'enregistrer les informations d'identification de l'utilisateur administrateur comme suit :
-
Si vous utilisez le AWS CLI, créez un profil
AccountAadmin
, dans le fichier de configuration. -
Si vous utilisez le AWS Tools for Windows PowerShell, assurez-vous de stocker les informations d'identification de la session sous le nom
AccountAadmin
.
Pour obtenir des instructions, consultez Configuration des outils pour les visites guidées.
-
Étape 1 : créer des ressources dans le compte A et accorder des autorisations
À l'aide des informations d'identification de l'utilisateur AccountAadmin
dans le compte A et de la connexion spéciale de IAM l'utilisateurURL, connectez-vous au AWS Management Console et procédez comme suit :
-
Création des ressources d'un bucket et d'un IAM utilisateur
-
Dans la console Amazon S3, créez un compartiment. Notez le Région AWS dans lequel vous avez créé le bucket. Pour obtenir des instructions, consultez Créer un compartiment.
-
Dans la IAMconsole
, effectuez les opérations suivantes : -
Créez un utilisateur nommé Dave.
Pour step-by-step obtenir des instructions, consultez la section Création d'IAMutilisateurs (console) dans le guide de IAM l'utilisateur.
-
Notez les
UserDave
informations d'identification. -
Notez le nom de ressource Amazon (ARN) de l'utilisateur Dave. Dans la IAMconsole
, sélectionnez l'utilisateur, et l'onglet Résumé indique l'utilisateurARN.
-
-
-
Accordez des autorisations.
Étant donné que le propriétaire du compartiment et le compte parent auquel appartient l'utilisateur sont identiques, le Compte AWS peut accorder des autorisations aux utilisateurs à l'aide d'une politique de compartiment, d'une politique utilisateur ou des deux. Dans cet exemple, vous faites les deux. Si l'objet appartient également au même compte, le propriétaire du compartiment peut accorder des autorisations à l'objet dans la politique du compartiment (ou dans une IAM politique).
-
Dans la console Amazon S3, associez la politique de compartiment suivante à
awsexamplebucket1
.La stratégie possède deux énoncés.
-
Le premier énoncé accorde à Dave les autorisations d'opération sur le compartiment
s3:GetBucketLocation
ets3:ListBucket
. -
Le second énoncé accorde l'autorisation
s3:GetObject
. Etant donné que le Compte A détient l'objet, l'administrateur du compte peut accorder l'autorisations3:GetObject
.
Dans la
Principal
déclaration, Dave est identifié par son utilisateurARN. Pour en savoir plus sur les éléments de la stratégie, consultez Politiques et autorisations dans Amazon S3.{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
AccountA-ID
:user/Dave" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1
" ] }, { "Sid": "statement2", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AccountA-ID
:user/Dave" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1
/*" ] } ] } -
-
Créez une stratégie intégrée pour l'utilisateur Dave à l'aide de la stratégie suivante. La stratégie accorde à Dave l'autorisation
s3:PutObject
. Vous devez mettre à jour la stratégie en fournissant le nom du compartiment.{ "Version": "2012-10-17", "Statement": [ { "Sid": "PermissionForObjectOperations", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::
awsexamplebucket1
/*" ] } ] }Pour obtenir des instructions, reportez-vous IAMpolicies à la section Gestion du guide de IAM l'utilisateur. Notez que vous devez vous connecter sur la console grâce aux autorisations du Compte A.
-
Étape 2 : testez les autorisations
À l'aide des autorisations de Dave, vérifiez que les autorisations fonctionnent. Vous pouvez utiliser l'une des deux procédures suivantes.
Testez les autorisations à l'aide du AWS CLI
-
Mettez à jour le AWS CLI fichier de configuration en ajoutant le
UserDaveAccountA
profil suivant. Pour de plus amples informations, veuillez consulter Configuration des outils pour les visites guidées.[profile UserDaveAccountA] aws_access_key_id =
access-key
aws_secret_access_key =secret-access-key
region =us-east-1
-
Vérifiez que Dave peut exécuter les opérations telles qu'elles sont accordées dans la stratégie d'utilisateur. Téléchargez un exemple d'objet à l'aide de ce qui suit AWS CLI
put-object
commande.Le paramètre
--body
de la commande identifie le fichier source à charger. Par exemple, si le fichier se trouve à la racine du lecteur C : sur un Windows machine, à vous de spécifierc:\HappyFace.jpg
. Le paramètre--key
fournit le nom de clé de l'objet.aws s3api put-object --bucket
awsexamplebucket1
--keyHappyFace.jpg
--bodyHappyFace.jpg
--profile UserDaveAccountAExécutez ce qui suit AWS CLI commande pour obtenir l'objet.
aws s3api get-object --bucket awsexamplebucket1 --key
HappyFace.jpg
OutputFile.jpg
--profile UserDaveAccountA
Testez les autorisations à l'aide du AWS Tools for Windows PowerShell
-
Conservez les informations d'identification de Dave sous le nom
AccountADave
. Vous utilisez ensuite ces informations d'identification pourPUT
ajouterGET
un objet.set-awscredentials -AccessKey
AccessKeyID
-SecretKeySecretAccessKey
-storeas AccountADave -
Téléchargez un exemple d'objet à l'aide du AWS Tools for Windows PowerShell
Write-S3Object
commande utilisant les informations d'identification enregistrées par l'utilisateur Dave.Write-S3Object -bucketname
awsexamplebucket1
-keyHappyFace.jpg
-fileHappyFace.jpg
-StoredCredentials AccountADaveTéléchargez l'objet précédemment chargé.
Read-S3Object -bucketname
awsexamplebucket1
-keyHappyFace.jpg
-fileOutput.jpg
-StoredCredentials AccountADave