Accès au bucket entre comptes - Studio de recherche et d'ingénierie

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.

Accès au bucket entre comptes

RES est capable de monter des buckets à partir d'autres AWS comptes, à condition que ces buckets disposent des autorisations appropriées. Dans le scénario suivant, un environnement RES du compte A souhaite monter un compartiment S3 dans le compte B.

Étape 1 : Créez un rôle IAM dans le compte dans lequel RES est déployé (ce rôle sera appelé compte A) :
  1. Connectez-vous à la console AWS de gestion du compte RES qui doit accéder au compartiment S3 (compte A).

  2. Ouvrez la console IAM :

    1. Accédez au tableau de bord IAM.

    2. Dans le volet de navigation, choisissez Politiques.

  3. Créez une politique :

    1. Choisissez Create Policy (Créer une politique).

    2. Sélectionnez l'onglet JSON.

    3. Collez la politique JSON suivante (<BUCKET-NAME>remplacez-la par le nom du compartiment S3 situé dans le compte B) :

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::<BUCKET-NAME>", "arn:aws:s3:::<BUCKET-NAME>/*" ] } ] }
    4. Choisissez Suivant.

  4. Passez en revue et créez la politique :

    1. Donnez un nom à la politique (par exemple, AccessPolicy « S3 »).

    2. Ajoutez une description facultative pour expliquer l'objectif de la politique.

    3. Passez en revue la politique et choisissez Créer une politique.

  5. Ouvrez la console IAM :

    1. Accédez au tableau de bord IAM.

    2. Dans le panneau de navigation, choisissez Roles (Rôles).

  6. Créez un rôle :

    1. Choisissez Créer un rôle.

    2. Choisissez Politique de confiance personnalisée comme type d'entité de confiance.

    3. Collez la politique JSON suivante (<ACCOUNT_ID>remplacez-la par l'ID de compte réel du compte A, <ENVIRONMENT_NAME> par le nom de l'environnement du déploiement de RES et <REGION> par la AWS région dans laquelle RES est déployé) :

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<ACCOUNT_ID>:role/<ENVIRONMENT_NAME>-custom-credential-broker-lambda-role-<REGION>" }, "Action": "sts:AssumeRole" } ] }
    4. Choisissez Suivant.

  7. Joindre des politiques d'autorisation :

    1. Recherchez et sélectionnez la politique que vous avez créée précédemment.

    2. Choisissez Suivant.

  8. Marquez, révisez et créez le rôle :

    1. Entrez un nom de rôle (par exemple, AccessRole « S3 »).

    2. À l'étape 3, choisissez Ajouter une étiquette, puis entrez la clé et la valeur suivantes :

      • Clé : res:Resource

      • Valeur : s3-bucket-iam-role

    3. Passez en revue le rôle et choisissez Créer un rôle.

  9. Utilisez le rôle IAM dans RES :

    1. Copiez l'ARN du rôle IAM que vous avez créé.

    2. Connectez-vous à la console RES.

    3. Dans le volet de navigation de gauche, choisissez S3 Bucket.

    4. Choisissez Ajouter un compartiment et remplissez le formulaire avec l'ARN du compartiment S3 multi-comptes.

    5. Choisissez le menu déroulant Paramètres avancés - facultatif.

    6. Entrez l'ARN du rôle dans le champ ARN du rôle IAM.

    7. Choisissez Ajouter un compartiment.

Étape 2 : Modifier la politique de compartiment dans le compte B
  1. Connectez-vous à la console AWS de gestion du compte B.

  2. Ouvrez la console S3 :

    1. Accédez au tableau de bord S3.

    2. Sélectionnez le bucket auquel vous souhaitez accorder l'accès.

  3. Modifiez la politique relative aux compartiments :

    1. Sélectionnez l'onglet Permissions, puis choisissez Bucket policy.

    2. Ajoutez la politique suivante pour accorder au rôle IAM depuis le compte A l'accès au compartiment (remplacez-le <AccountA_ID> par l'ID de compte réel du compte A et <BUCKET-NAME> par le nom du compartiment S3) :

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/S3AccessRole" }, "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::<BUCKET-NAME>", "arn:aws:s3:::<BUCKET-NAME>/*" ] } ] }
    3. Choisissez Enregistrer.