Dois-je spécifier la clé AWS KMS lorsque je télécharge un objet chiffré par KMS depuis Amazon S3 ?

Lecture de 3 minute(s)
0

Je souhaite télécharger des objets stockés depuis Amazon Simple Storage Service (Amazon S3) qui utilisent le chiffrement côté serveur à l'aide de clés gérées par AWS Key Management Service (SSE-KMS).

Résolution

Il n'est pas nécessaire de spécifier l'identifiant de clé AWS Key Management Service (AWS KMS) lorsque vous téléchargez un objet chiffré SSE-KMS depuis un compartiment S3. En revanche, vous devez être autorisé à déchiffrer la clé AWS KMS.

Lorsqu'un utilisateur envoie une demande GET, Amazon S3 doit vérifier l'autorisation appropriée. Amazon S3 vérifie si l'utilisateur ou le rôle AWS Identity and Access Management (IAM) qui ont envoyé la demande sont autorisés à déchiffrer la clé de l'objet. Si l'utilisateur ou le rôle IAM et la clé appartiennent au même compte AWS, les autorisations de déchiffrement doivent être accordées conformément à la stratégie de clé.

**Remarque :**lorsque l'utilisateur ou le rôle IAM et la clé KMS se trouvent dans le même compte, vous pouvez utiliser des stratégies IAM pour contrôler l'accès à la clé. Toutefois, vous devez modifier la stratégie de clé pour activer explicitement les stratégies IAM afin d'autoriser l'accès à la clé. Pour en savoir plus, consultez la rubrique Utilisation des stratégies IAM avec AWS KMS.

Si l'utilisateur ou le rôle et la clé IAM appartiennent à des comptes différents, vous devez accorder des autorisations de déchiffrement sur la stratégie de l’utilisateur IAM et sur la stratégie de la clé.

L’exemple suivant porte sur une stratégie IAM qui permet à l'utilisateur de déchiffrer la clé AWS KMS et de la télécharger depuis le compartiment S3 :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:kms:example-region-1:123456789012:key/example-key-id",
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
      ]
    }
  ]
}

L’exemple suivant illustre une déclaration de stratégie de clé qui permet à l'utilisateur de déchiffrer la clé :

{
  "Sid": "Allow decryption of the key",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "arn:aws:iam::123456789012:user/Bob"
    ]
  },
  "Action": [
    "kms:Decrypt"
  ],
  "Resource": "*"
}

**Remarque :**pour les utilisateurs ou les rôles IAM qui appartiennent à un compte différent de celui du compartiment, la stratégie de compartiment doit également accorder à l'utilisateur l'accès aux objets. Par exemple, si l'utilisateur doit effectuer un téléchargement depuis le compartiment, il doit être autorisé à exécuter l'action s3:GetObject dans la stratégie de compartiment.

Une fois autorisé à déchiffrer la clé, vous pouvez télécharger des objets S3 chiffrés avec la clé à l'aide de l'interface de la ligne de commande AWS (AWS CLI). Exécutez une commande similaire à la suivante :

aws s3api get-object --bucket DOC-EXAMPLE-BUCKET --key dir/example-object-name example-object-name

**Remarque :**si des erreurs surviennent lors de l'exécution des commandes de l'AWS CLI, vérifiez que vous utilisez la version la plus récente de l'AWS CLI.

Informations connexes

GetObject

get-object

Protection des données à l'aide du chiffrement côté serveur avec des CMK stockées dans AWS Key Management Service (SSE-KMS)

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