Exemple 1 : propriétaire d'un compartiment accordant à ses utilisateurs des autorisations sur un compartiment - Amazon Simple Storage Service

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 aux rôles IAM plutôt que d'accorder des autorisations à des utilisateurs individuels. Pour plus d'informations sur la façon d'accorder des autorisations aux rôles IAM, consultez. Comprendre les autorisations entre comptes et utiliser les rôles IAM

Dans cette procédure pas à pas, un utilisateur Compte AWS possède un bucket et le compte inclut un utilisateur IAM. 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, il 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 :

Schéma illustrant un AWS compte octroyant des autorisations.
  1. L'administrateur du compte crée une stratégie de compartiment qui accorde un ensemble d'autorisations à l'utilisateur.

  2. L'administrateur du compte attache une stratégie d'utilisateur à l'utilisateur en accordant des autorisations supplémentaires.

  3. 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 d'utilisateur root du compte, vous créez un utilisateur administrateur (consultez Utilisation d'un utilisateur administrateur pour créer des ressources et accorder des autorisations). Nous faisons référence à l'utilisateur Compte AWS et à l'utilisateur administrateur comme indiqué dans le tableau suivant.

ID de compte Compte désigné comme Utilisateur administrateur du compte

1111-1111-1111

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 la 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

  1. Assurez-vous que vous disposez d'un Compte AWS et qu'il possède un utilisateur doté de privilèges d'administrateur.

    1. Inscrivez-vous pour un Compte AWS, si nécessaire. Nous appelons ce compte : Compte A.

      1. Accédez à https://aws.amazon.com/s3 et choisissez Créer un AWS compte.

      2. Suivez les instructions à l'écran.

        AWS vous informera par e-mail lorsque votre compte sera actif et que vous pourrez l'utiliser.

    2. Dans le compte A, créez un utilisateur administrateurAccountAadmin. En utilisant les autorisations du Compte A, connectez-vous à la console IAM et procédez comme suit :

      1. Créez un utilisateur AccountAadmin et notez les informations d'identification de sécurité de l'utilisateur.

        Pour obtenir des instructions, reportez-vous à la section Création d'un utilisateur IAM Compte AWS dans votre guide de l'utilisateur IAM.

      2. Accordez des privilèges d'administrateur à AccountAadminen joignant une politique utilisateur donnant un accès complet.

        Pour obtenir des instructions, veuillez consulter la section Gestion des stratégies IAM dans le Guide de l'utilisateur IAM.

      3. Notez l'URL de connexion de l'utilisateur IAM pour. AccountAadmin Vous devez utiliser cette URL pour vous connecter sur la AWS Management Console. Pour plus d'informations sur l'emplacement de l'URL de connexion, voir Se connecter en AWS Management Console tant qu'utilisateur IAM dans le guide de l'utilisateur IAM. Notez l'URL de chacun des comptes.

  2. Configurez 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 dans le fichier de configuration. AccountAadmin

    • Si vous utilisez le AWS Tools for Windows PowerShell, assurez-vous de stocker les informations d'identification de la session sous le nomAccountAadmin.

    Pour obtenir des instructions, veuillez consulter Configuration des outils pour les procédures pas à pas.

Étape 1 : créer des ressources dans le compte A et accorder des autorisations

À l'aide des informations d'identification de l'utilisateur figurant AccountAadmin dans le compte A et de l'URL de connexion spéciale de l'utilisateur IAM, connectez-vous au AWS Management Console et procédez comme suit :

  1. Création des ressources d'un bucket et d'un utilisateur IAM

    1. Dans la console Amazon S3, créez un compartiment. Notez l'endroit Région AWS dans lequel vous avez créé le bucket. Pour obtenir des instructions, veuillez consulter Créer un compartiment.

    2. Dans la console IAM, procédez comme suit :

      1. Créez un utilisateur nommé Dave.

        Pour step-by-step obtenir des instructions, consultez la section Création d'utilisateurs IAM (console) dans le guide de l'utilisateur IAM.

      2. Notez les UserDave informations d'identification.

      3. Notez le nom de ressource Amazon (ARN) de l'utilisateur Dave. Dans la console IAM, sélectionnez l'utilisateur, et l'onglet Résumé fournit l'ARN de l'utilisateur.

  2. Accordez des autorisations.

    Étant donné que le propriétaire du compartiment et le compte parent auquel appartient l'utilisateur sont identiques, ils Compte AWS peuvent accorder des autorisations à l'utilisateur en utilisant une politique de compartiment, une politique utilisateur ou les deux. Dans cet exemple, vous faites les deux. Si l'objet est également détenu par le même compte, le propriétaire du compartiment peut accorder des autorisations d'objet dans la stratégie de compartiment (ou une stratégie IAM).

    1. Dans la console Amazon S3, attachez la stratégie de compartiment suivante au compartiment awsexamplebucket1.

      La stratégie possède deux énoncés.

      • Le premier énoncé accorde à Dave les autorisations d'opération sur le compartiment s3:GetBucketLocation et s3: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'autorisation s3:GetObject.

      Dans l'énoncé Principal, Dave est identifié par son ARN utilisateur. 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/*" ] } ] }
    2. 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 à la section Gestion des politiques IAM dans le guide de l'utilisateur d'IAM. 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
  1. Mettez à jour le fichier de AWS CLI configuration en ajoutant le UserDaveAccountA profil suivant. Pour plus d’informations, consultez Configuration des outils pour les procédures pas à pas.

    [profile UserDaveAccountA] aws_access_key_id = access-key aws_secret_access_key = secret-access-key region = us-east-1
  2. 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 la AWS CLI put-object commande suivante.

    Le paramètre --body de la commande identifie le fichier source à charger. Par exemple, si le fichier se trouve à la racine du lecteur C : d'une Windows machine, vous devez le spécifierc:\HappyFace.jpg. Le paramètre --key fournit le nom de clé de l'objet.

    aws s3api put-object --bucket awsexamplebucket1 --key HappyFace.jpg --body HappyFace.jpg --profile UserDaveAccountA

    Exécutez la AWS CLI commande suivante 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
  1. Conservez les informations d'identification de Dave sous le nomAccountADave. Vous utilisez ensuite ces informations d'identification pour PUT ajouter GET un objet.

    set-awscredentials -AccessKey AccessKeyID -SecretKey SecretAccessKey -storeas AccountADave
  2. Téléchargez un exemple d'objet à l'aide de la AWS Tools for Windows PowerShell Write-S3Object commande en utilisant les informations d'identification enregistrées par l'utilisateur Dave.

    Write-S3Object -bucketname awsexamplebucket1 -key HappyFace.jpg -file HappyFace.jpg -StoredCredentials AccountADave

    Téléchargez l'objet précédemment chargé.

    Read-S3Object -bucketname awsexamplebucket1 -key HappyFace.jpg -file Output.jpg -StoredCredentials AccountADave