

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.

# Configuration de l’accès intercompte aux compartiments Amazon S3 dans Athena
<a name="cross-account-permissions"></a>

Un scénario courant d'Amazon Athena consiste à accorder l'accès à des utilisateurs dans un compte différent de celui du propriétaire du compartiment afin qu'ils puissent effectuer des requêtes. Dans ce cas, utilisez une politique de compartiment pour accorder l'accès.

**Note**  
Pour plus d'informations sur l'accès entre comptes aux catalogues de AWS Glue données d'Athena, consultez. [Configuration de l'accès entre comptes aux catalogues de AWS Glue données](security-iam-cross-account-glue-catalog-access.md)

L'exemple suivant de politique de compartiment, créée et appliquée au compartiment `s3://amzn-s3-demo-bucket` par le propriétaire du compartiment, accorde l'accès à tous les utilisateurs du compte `123456789123`, qui est un compte différent.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "MyPolicyID",
   "Statement": [
      {
          "Sid": "MyStatementSid",
          "Effect": "Allow",
          "Principal": {
             "AWS": "arn:aws:iam::123456789123:root"
          },
          "Action": [
             "s3:GetBucketLocation",
             "s3:GetObject",
             "s3:ListBucket",
             "s3:ListBucketMultipartUploads",
             "s3:ListMultipartUploadParts",
             "s3:AbortMultipartUpload"
          ],
          "Resource": [
             "arn:aws:s3:::amzn-s3-demo-bucket",
             "arn:aws:s3:::amzn-s3-demo-bucket/*"
          ]
       }
    ]
 }
```

------

Pour accorder l'accès à un utilisateur particulier d'un compte, remplacez la clé `Principal` par une clé qui spécifie l'utilisateur à la place de `root`. Par exemple, pour le profil utilisateur `Dave`, utilisez `arn:aws:iam::123456789123:user/Dave`.

## Configurer l'accès entre comptes à un compartiment chiffré à l'aide d'une clé personnalisée AWS KMS
<a name="cross-account-permissions-kms"></a>

Si vous possédez un compartiment Amazon S3 chiffré à l'aide d'une clé custom AWS Key Management Service (AWS KMS), vous devrez peut-être autoriser l'accès à celui-ci aux utilisateurs d'un autre compte Amazon Web Services.

L'accès à un compartiment AWS KMS chiffré du compte A à un utilisateur du compte B nécessite les autorisations suivantes :
+ La politique de compartiment du compte A doit accorder l'accès au rôle assumé par le compte B.
+ La politique AWS KMS clé du compte A doit accorder l'accès au rôle assumé par l'utilisateur dans le compte B.
+ Le rôle Gestion des identités et des accès AWS (IAM) assumé par le compte B doit accorder l'accès au bucket et à la clé du compte A.

Les procédures suivantes décrivent comment accorder chacune de ces autorisations.

**Pour accorder l'accès au compartiment dans le compte A à l'utilisateur dans le compte B**
+ Dans le compte A, [consultez la politique de compartiment S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html) et confirmez qu'il existe une instruction qui autorise l'accès à partir de l'ID de compte du compte B.

  Par exemple, la politique de compartiment suivante permet à `s3:GetObject` d'accéder à l'ID de compte `111122223333` :

------
#### [ JSON ]

****  

  ```
  {
    "Id": "ExamplePolicy1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "ExampleStmt1",
        "Action": [
          "s3:GetObject"
        ],
        "Effect": "Allow",
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
        "Principal": {
          "AWS": [
            "111122223333"
          ]
        }
      }
    ]
  }
  ```

------

**Pour accorder l'accès à l'utilisateur du compte b à partir de la politique AWS KMS clé du compte a**

1. Dans la politique AWS KMS clé du compte A, accordez au rôle assumé par le compte B des autorisations pour les actions suivantes :
   +  `kms:Encrypt` 
   +  `kms:Decrypt` 
   +  `kms:ReEncrypt*` 
   +  `kms:GenerateDataKey*` 
   +  `kms:DescribeKey` 

   L'exemple suivant accorde l'accès à la clé à un seul rôle IAM.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowUseOfTheKey",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/role_name"
               },
               "Action": [
                   "kms:Encrypt",
                   "kms:Decrypt",
                   "kms:ReEncrypt*",
                   "kms:GenerateDataKey*",
                   "kms:DescribeKey"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. À partir du compte A, passez en revue la politique clé [à l'aide de la vue des AWS Management Console politiques](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-how-to-console-policy-view).

1. Dans la politique de clé, vérifiez que l'instruction suivante indique le compte B en tant que principal.

   ```
   "Sid": "Allow use of the key" 
   ```

1. Si l'instruction `"Sid": "Allow use of the key"` n'est pas présente, effectuez les opérations suivantes :

   1. Basculez pour afficher la politique de clé [à l'aide de la vue par défaut de la console](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-how-to-console-default-view). 

   1.  Ajoutez l'ID de compte du compte B en tant que compte externe avec accès à la clé.

**Accorder l'accès au compartiment et à la clé du compte A à partir du rôle IAM assumé par le compte B**

1. À partir du compte B, ouvrez la console IAM à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Ouvrez le rôle IAM associé à l'utilisateur dans le compte B.

1. Consultez la liste des politiques d'autorisation appliquées au rôle IAM.

1. Assurez-vous qu'une politique est appliquée qui accorde l'accès au compartiment.

   L'exemple d'instruction suivant accorde au rôle IAM l'accès aux opérations `s3:GetObject` et `s3:PutObject` dans le compartiment `amzn-s3-demo-bucket` :

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "ExampleStmt2",
         "Action": [
           "s3:GetObject",
           "s3:PutObject"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
       }
     ]
   }
   ```

------

1. Assurez-vous qu'une politique est appliquée qui accorde l'accès à la clé.
**Note**  
Si le rôle IAM assumé par le compte B dispose déjà d'un [accès administrateur](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html), il n'est pas nécessaire d'accorder l'accès à la clé à partir des politiques IAM de l'utilisateur.

   L'exemple d'instruction suivant accorde au rôle IAM l'accès à la clé `arn:aws:kms:us-west-2:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "ExampleStmt3",
         "Action": [
           "kms:Decrypt",
           "kms:DescribeKey",
           "kms:Encrypt",
           "kms:GenerateDataKey",
           "kms:ReEncrypt*"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:kms:us-west-2:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd"
       }
     ]
   }
   ```

------

## Configuration de l’accès intercompte aux objets de compartiment
<a name="cross-account-permissions-objects"></a>

Les objets chargés par un compte (compte C) autre que le compte propriétaire du bucket (compte A) peuvent nécessiter un niveau d'objet explicite ACLs qui accorde un accès en lecture au compte demandeur (compte B). Pour éviter cette exigence, le compte C doit assumer un rôle dans le compte A avant de placer des objets dans le compartiment de ce dernier. Pour plus d'informations, consultez [Comment puis-je fournir un accès inter-comptes aux objets stockés dans des compartiments Simple Storage Service (Amazon S3) ?](https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/).