Comment autoriser un utilisateur appartenant à un autre compte AWS à charger des objets dans mon compartiment Amazon S3 ?

Lecture de 2 minute(s)
0

Je souhaite accorder à un utilisateur AWS Identity and Access Management (IAM) d'un autre compte l'accès à mon compartiment Amazon Simple Storage Service (Amazon S3). Je souhaite également accorder un accès intercompte afin que l'utilisateur puisse charger des objets dans mon compartiment Amazon S3.

Résolution

Pour autoriser un utilisateur IAM appartenant au compte A à charger des objets dans un compartiment S3 appartenant au compte B, vous devez suivre ces étapes :

  1. À partir du compte A, attachez une politique à l'utilisateur IAM. Cette politique doit autoriser l'utilisateur à exécuter les actions s3:PutObject et s3:PutObjectAcl dans le compartiment du compte B :

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:PutObject",
            "s3:PutObjectAcl"
          ],
          "Resource": [
            "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
            "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
          ]
        }
      ]
    }

    Remarque : avant de spécifier une liste de contrôle d'accès (ACL) dans le cadre du chargement des objets, vous devez disposer de l'autorisation s3:PutObjectAcl. Dans le cas contraire, vous obtiendrez le message d'erreur Accès refusé lors du chargement d’un objet avec une ACL telle que bucket-owner-full control.

  2. Dans le compte A, prenez note de la valeur Amazon Resource Name (ARN) de l'utilisateur IAM.

  3. Dans le compte B, attachez une politique de compartiment qui autorise l'utilisateur IAM du compte A à exécuter les actions s3:PutObject et s3:PutObjectAcl :

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "DelegateS3Access",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::999999999999:user/UploadData"
          },
          "Action": [
            "s3:PutObject",
            "s3:PutObjectAcl"
          ],
          "Resource": [
            "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
            "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
          ]
        }
      ]
    }

    Important : vous devez renseigner l'ARN de l'utilisateur IAM du compte A dans le champ Principal.

L'utilisateur IAM peut désormais charger des objets dans Amazon S3.

Informations connexes

Exemple 2 : propriétaire d'un compartiment accordant des autorisations intercomptes sur un compartiment

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an