Analyse d'objets Amazon S3 chiffrés avec Amazon Macie - Amazon Macie

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.

Analyse d'objets Amazon S3 chiffrés avec Amazon Macie

Lorsque vous activez Amazon Macie pour votre compteCompte AWS, Macie crée un rôle lié à un service qui lui accorde les autorisations nécessaires pour appeler Amazon Simple Storage Service (Amazon S3) et d'autres personnes en votre nom. Services AWS Un rôle lié à un service simplifie le processus de configuration Service AWS car vous n'avez pas à ajouter manuellement des autorisations pour que le service puisse effectuer des actions en votre nom. Pour en savoir plus sur ce type de rôle, consultez la section Utilisation des rôles liés à un service dans le Guide de l'AWS Identity and Access Managementutilisateur.

La politique d'autorisation pour le rôle lié au service Macie (AWSServiceRoleForAmazonMacie) permet à Macie d'effectuer des actions qui incluent la récupération d'informations sur vos compartiments et objets S3, ainsi que la récupération et l'analyse d'objets dans vos compartiments S3. Si votre compte est le compte administrateur Macie d'une organisation, la politique permet également à Macie d'effectuer ces actions en votre nom pour les comptes des membres de votre organisation.

Si un objet S3 est chiffré, la politique d'autorisation pour le rôle lié au service Macie accorde généralement à Macie les autorisations dont il a besoin pour déchiffrer l'objet. Cela dépend toutefois du type de chiffrement utilisé. Cela peut également dépendre de l'autorisation de Macie à utiliser la clé de chiffrement appropriée.

Options de chiffrement pour les objets Amazon S3

Amazon S3 prend en charge plusieurs options de chiffrement pour les objets S3. Pour la plupart de ces options, Amazon Macie peut déchiffrer un objet en utilisant le rôle lié au service Macie pour votre compte. Cela dépend toutefois du type de chiffrement utilisé pour chiffrer un objet.

Chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3)

Si un objet est chiffré à l'aide d'un chiffrement côté serveur avec une clé gérée Amazon S3 (SSE-S3), Macie peut déchiffrer l'objet.

Pour en savoir plus sur ce type de chiffrement, consultez la section Utilisation du chiffrement côté serveur avec des clés gérées par Amazon S3 dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Chiffrement côté serveur avec AWS KMS keys (DSSE-KMS et SSE-KMS)

Si un objet est chiffré à l'aide d'un chiffrement double couche côté serveur ou d'un chiffrement côté serveur avec un système AWS géré AWS KMS key (DSSE-KMS ou SSE-KMS), Macie peut déchiffrer l'objet.

Si un objet est chiffré à l'aide d'un chiffrement double couche côté serveur ou d'un chiffrement côté serveur géré par le client AWS KMS key (DSSE-KMS ou SSE-KMS), Macie ne peut déchiffrer l'objet que si vous autorisez Macie à utiliser la clé. C'est le cas pour les objets chiffrés avec des clés KMS entièrement gérées dans un magasin de clés externe AWS KMS et des clés KMS dans un magasin de clés externe. Si Macie n'est pas autorisé à utiliser la clé KMS applicable, Macie peut uniquement stocker et signaler les métadonnées de l'objet.

Pour en savoir plus sur ces types de chiffrement, consultez les sections Utilisation du chiffrement double couche côté serveur avec AWS KMS keys et Utilisation du chiffrement côté serveur avec dans AWS KMS keys le guide de l'utilisateur d'Amazon Simple Storage Service.

Astuce

Vous pouvez générer automatiquement une liste de tous les clients gérés AWS KMS keys auxquels Macie doit accéder pour analyser les objets contenus dans les compartiments S3 de votre compte. Pour ce faire, exécutez le script AWS KMS Permission Analyzer, disponible dans le référentiel Amazon Macie Scripts sur. GitHub Le script peut également générer un script supplémentaire de commandes AWS Command Line Interface (AWS CLI). Vous pouvez éventuellement exécuter ces commandes pour mettre à jour les paramètres de configuration et les politiques requis pour les clés KMS que vous spécifiez.

Chiffrement côté serveur avec des clés fournies par le client (SSE-C)

Si un objet est chiffré à l'aide d'un chiffrement côté serveur avec une clé fournie par le client (SSE-C), Macie ne peut pas déchiffrer l'objet. Macie peut uniquement stocker et rapporter les métadonnées de l'objet.

Pour en savoir plus sur ce type de chiffrement, consultez la section Utilisation du chiffrement côté serveur avec des clés fournies par le client dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Chiffrement côté client

Si un objet est chiffré à l'aide du chiffrement côté client, Macie ne peut pas le déchiffrer. Macie peut uniquement stocker et rapporter les métadonnées de l'objet. Par exemple, Macie peut indiquer la taille de l'objet et les balises associées à l'objet.

Pour en savoir plus sur ce type de chiffrement dans le contexte d'Amazon S3, consultez la section Protection des données à l'aide du chiffrement côté client dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Vous pouvez filtrer l'inventaire de vos compartiments dans Macie afin de déterminer quels compartiments S3 stockent des objets utilisant certains types de chiffrement. Vous pouvez également déterminer quels compartiments utilisent certains types de chiffrement côté serveur par défaut lors du stockage de nouveaux objets. Le tableau suivant fournit des exemples de filtres que vous pouvez appliquer à votre inventaire de compartiments pour trouver ces informations.

Pour montrer des seaux qui... Appliquer ce filtre...
Stockez les objets qui utilisent le chiffrement SSE-C Le nombre d'objets par chiffrement est fourni par le client et From = 1
Stockez les objets qui utilisent le chiffrement DSSE-KMS ou SSE-KMS Le nombre d'objets par chiffrement est AWS KMSgéré et From = 1
Stockez les objets qui utilisent le chiffrement SSE-S3 Le nombre d'objets par chiffrement est géré par Amazon S3 et From = 1
Stockez les objets qui utilisent le chiffrement côté client (ou qui ne sont pas chiffrés) Le nombre d'objets par chiffrement est « Aucun chiffrement » et « From » = 1
Chiffrez les nouveaux objets par défaut à l'aide du chiffrement DSSE-KMS Chiffrement par défaut = aws:kms:dsse
Chiffrez les nouveaux objets par défaut à l'aide du chiffrement SSE-KMS Chiffrement par défaut = aws:kms
Chiffrez les nouveaux objets par défaut à l'aide du chiffrement SSE-S3 Chiffrement par défaut = AES256

Si un bucket est configuré pour chiffrer de nouveaux objets par défaut à l'aide du chiffrement DSSE-KMS ou SSE-KMS, vous pouvez également déterminer lequel est utilisé. AWS KMS key Pour ce faire, choisissez le compartiment sur la page des compartiments S3. Dans le panneau des détails du bucket, sous Chiffrement côté serveur, reportez-vous au AWS KMS keychamp. Ce champ indique le nom de ressource Amazon (ARN) ou l'identifiant unique (ID de clé) de la clé.

Autoriser Amazon Macie à utiliser un service géré par le client AWS KMS key

Si un objet Amazon S3 est chiffré à l'aide d'un chiffrement double couche côté serveur ou d'un chiffrement côté serveur géré par le client AWS KMS key (DSSE-KMS ou SSE-KMS), Amazon Macie ne peut déchiffrer l'objet que s'il est autorisé à utiliser la clé. La manière de fournir cet accès dépend du fait que le compte propriétaire de la clé possède également le compartiment S3 qui stocke l'objet :

  • Si le même compte possède le bucket AWS KMS key et le bucket, un utilisateur du compte doit mettre à jour la politique de la clé.

  • Si un compte possède le bucket AWS KMS key et qu'un autre compte possède le bucket, un utilisateur du compte propriétaire de la clé doit autoriser l'accès entre comptes à la clé.

Cette rubrique décrit comment effectuer ces tâches et fournit des exemples pour les deux scénarios. Pour en savoir plus sur l'autorisation d'accès aux services gérés par le clientAWS KMS keys, consultez la section Authentification et contrôle d'accès AWS KMS dans le guide du AWS Key Management Service développeur.

Permettre à un même compte d'accéder à une clé gérée par le client

Si le même compte possède à la fois le compartiment S3 AWS KMS key et le compartiment S3, un utilisateur du compte doit ajouter une déclaration à la politique relative à la clé. La déclaration supplémentaire doit autoriser le rôle lié au service Macie du compte à déchiffrer les données à l'aide de la clé. Pour obtenir des informations détaillées sur la mise à jour d'une politique clé, consultez la section Modification d'une politique clé dans le Guide du AWS Key Management Service développeur.

Dans la déclaration :

  • L'Principalélément doit spécifier le nom de ressource Amazon (ARN) du rôle lié au service Macie pour le compte propriétaire du compartiment AWS KMS key et du compartiment S3.

    Si le compte est opt-inRégion AWS, l'ARN doit également inclure le code de région approprié pour la région. Par exemple, si le compte se trouve dans la région Moyen-Orient (Bahreïn), dont le code de région est me-south-1, l'Principalélément doit spécifierarn:aws:iam::123456789012:role/aws-service-role/macie.me-south-1.amazonaws.com/AWSServiceRoleForAmazonMacie, où 123456789012 est l'identifiant du compte. Pour obtenir la liste des codes régionaux des régions dans lesquelles Macie est actuellement disponible, consultez la section Points de terminaison et quotas Amazon Macie dans le. Références générales AWS

  • Le Action tableau doit spécifier l'kms:Decryptaction. C'est la seule AWS KMS action que Macie doit être autorisée à effectuer pour déchiffrer un objet S3 chiffré avec la clé.

Voici un exemple de déclaration à ajouter à la politique pour unAWS KMS key.

{ "Sid": "Allow the Macie service-linked role to use the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie" }, "Action": [ "kms:Decrypt" ], "Resource": "*" }

Dans l'exemple précédent :

  • Le AWS champ de l'Principalélément indique l'ARN du rôle lié au service Macie (AWSServiceRoleForAmazonMacie) pour le compte. Il permet au rôle lié au service Macie d'effectuer l'action spécifiée par la déclaration de politique. 123456789012 est un exemple d'ID de compte. Remplacez cette valeur par l'ID de compte du compte propriétaire de la clé KMS et du compartiment S3.

  • Le Action tableau indique l'action que le rôle lié au service Macie est autorisé à effectuer à l'aide de la clé KMS : déchiffrer le texte chiffré avec la clé.

L'endroit où vous ajoutez cette déclaration à une politique clé dépend de la structure et des éléments que la stratégie contient actuellement. Lorsque vous ajoutez l'instruction, assurez-vous que la syntaxe est valide. Les politiques clés utilisent le format JSON. Cela signifie que vous devez également ajouter une virgule avant ou après la déclaration, selon l'endroit où vous ajoutez la déclaration à la politique.

Autoriser l'accès entre comptes à une clé gérée par le client

Si un compte possède le AWS KMS key (propriétaire de la clé) et qu'un autre compte possède le compartiment S3 (propriétaire du compartiment), le propriétaire de la clé doit fournir au propriétaire du compartiment un accès multicompte à la clé KMS. Pour ce faire, le propriétaire de la clé s'assure d'abord que la politique de la clé autorise le propriétaire du compartiment à utiliser la clé et à créer une autorisation pour la clé. Le propriétaire du compartiment crée ensuite une subvention pour la clé. Une subvention est un instrument de politique qui permet AWS aux principaux d'utiliser des clés KMS dans des opérations cryptographiques si les conditions spécifiées par la subvention sont remplies. Dans ce cas, la subvention délègue les autorisations pertinentes au rôle lié au service Macie pour le compte du propriétaire du bucket.

Pour obtenir des informations détaillées sur la mise à jour d'une politique clé, consultez la section Modification d'une politique clé dans le Guide du AWS Key Management Service développeur. Pour en savoir plus sur les subventions, consultez la section Subventions AWS KMS dans le guide du AWS Key Management Service développeur.

Étape 1 : Mettre à jour la politique clé

Dans la politique clé, le propriétaire de la clé doit s'assurer qu'elle inclut deux déclarations :

  • La première instruction permet au propriétaire du compartiment d'utiliser la clé pour déchiffrer les données.

  • La deuxième déclaration permet au propriétaire du compartiment de créer une subvention pour le rôle lié au service Macie pour son compte (celui du propriétaire du compartiment).

Dans la première instruction, l'Principalélément doit spécifier l'ARN du compte du propriétaire du bucket. Le Action tableau doit spécifier l'kms:Decryptaction. C'est la seule AWS KMS action que Macie doit être autorisée à effectuer pour déchiffrer un objet chiffré avec la clé. Voici un exemple de cette déclaration dans la politique d'unAWS KMS key.

{ "Sid": "Allow account 111122223333 to use the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "kms:Decrypt" ], "Resource": "*" }

Dans l'exemple précédent :

  • Le AWS champ de l'Principalélément indique l'ARN du compte du propriétaire du compartiment (111122223333). Il permet au propriétaire du compartiment d'effectuer l'action spécifiée par la déclaration de politique. 111122223333 est un exemple d'ID de compte. Remplacez cette valeur par l'ID du compte du propriétaire du compartiment.

  • Le Action tableau indique l'action que le propriétaire du compartiment est autorisé à effectuer à l'aide de la clé KMS : déchiffrer le texte chiffré avec la clé.

La deuxième déclaration de la politique clé permet au propriétaire du compartiment de créer une subvention pour le rôle lié au service Macie pour son compte. Dans cette déclaration, l'Principalélément doit spécifier l'ARN du compte du propriétaire du bucket. Le Action tableau doit spécifier l'kms:CreateGrantaction. Un Condition élément peut filtrer l'accès à l'kms:CreateGrantaction spécifiée dans l'instruction. Voici un exemple de cette déclaration dans la politique d'unAWS KMS key.

{ "Sid": "Allow account 111122223333 to create a grant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "kms:GranteePrincipal": "arn:aws:iam::111122223333:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie" } } }

Dans l'exemple précédent :

  • Le AWS champ de l'Principalélément indique l'ARN du compte du propriétaire du compartiment (111122223333). Il permet au propriétaire du compartiment d'effectuer l'action spécifiée par la déclaration de politique. 111122223333 est un exemple d'ID de compte. Remplacez cette valeur par l'ID du compte du propriétaire du compartiment.

  • Le Action tableau indique l'action que le propriétaire du compartiment est autorisé à effectuer sur la clé KMS : créer une autorisation pour la clé.

  • L'Conditionélément utilise l'opérateur de StringEquals condition et la clé de kms:GranteePrincipal condition pour filtrer l'accès à l'action spécifiée par la déclaration de politique. Dans ce cas, le propriétaire du bucket peut créer une subvention uniquement pour le paramètre spécifiéGranteePrincipal, à savoir l'ARN du rôle lié au service Macie associé à son compte. Dans cet ARN, 111122223333 est un exemple d'ID de compte. Remplacez cette valeur par l'ID du compte du propriétaire du compartiment.

    Si le compte du propriétaire du bucket est activéRégion AWS, incluez également le code de région approprié dans l'ARN du rôle lié au service Macie. Par exemple, si le compte se trouve dans la région Moyen-Orient (Bahreïn), dont le code de région est me-south-1, remplacez-le macie.amazonaws.com par macie.me-south-1.amazonaws.com dans l'ARN. Pour obtenir la liste des codes régionaux des régions dans lesquelles Macie est actuellement disponible, consultez la section Points de terminaison et quotas Amazon Macie dans le. Références générales AWS

L'endroit où le propriétaire de la clé ajoute ces déclarations à la politique clé dépend de la structure et des éléments que la politique contient actuellement. Lorsque le propriétaire de la clé ajoute les instructions, il doit s'assurer que la syntaxe est valide. Les politiques clés utilisent le format JSON. Cela signifie que le propriétaire de la clé doit également ajouter une virgule avant ou après chaque instruction, selon l'endroit où il ajoute l'instruction à la politique.

Étape 2 : Création d'une subvention

Une fois que le propriétaire de la clé a mis à jour la politique des clés si nécessaire, le propriétaire du compartiment doit créer une autorisation pour la clé. La subvention délègue les autorisations pertinentes au rôle lié au service Macie pour leur compte (celui du propriétaire du bucket). Avant que le propriétaire du bucket ne crée la subvention, il doit vérifier qu'il est autorisé à effectuer l'kms:CreateGrantaction pour son compte. Cette action leur permet d'ajouter une subvention à une subvention existante gérée par le clientAWS KMS key.

Pour créer la subvention, le propriétaire du bucket peut utiliser le CreateGrantfonctionnement de l'AWS Key Management ServiceAPI. Lorsque le propriétaire du bucket crée l'autorisation, il doit spécifier les valeurs suivantes pour les paramètres requis :

  • KeyId— L'ARN de la clé KMS. Pour un accès entre comptes à une clé KMS, cette valeur doit être un ARN. Il ne peut pas s'agir d'un identifiant clé.

  • GranteePrincipal— L'ARN du rôle lié au service Macie (AWSServiceRoleForAmazonMacie) pour leur compte. Cette valeur doit êtrearn:aws:iam::111122223333:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie, où 111122223333 est l'ID de compte du propriétaire du compartiment.

    Si leur compte se trouve dans une région optionnelle, l'ARN doit inclure le code de région approprié. Par exemple, si leur compte se trouve dans la région Moyen-Orient (Bahreïn), dont le code de région est me-south-1, l'ARN doit êtrearn:aws:iam::111122223333:role/aws-service-role/macie.me-south-1.amazonaws.com/AWSServiceRoleForAmazonMacie, où 111122223333 est l'identifiant du compte du propriétaire du compartiment.

  • Operations— L'action de AWS KMS déchiffrement (Decrypt). C'est la seule AWS KMS action que Macie doit être autorisée à effectuer pour déchiffrer un objet chiffré avec la clé KMS.

Pour créer une autorisation pour une clé KMS gérée par le client à l'aide de la AWS Command Line Interface (AWS CLI), exécutez la commande create-grant. L'exemple suivant montre comment procéder. L'exemple est formaté pour Microsoft Windows et utilise le caractère de continuation de ligne caret (^) pour améliorer la lisibilité.

C:\> aws kms create-grant ^ --key-id arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab ^ --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie ^ --operations "Decrypt"

Où :

  • key-idspécifie l'ARN de la clé KMS à laquelle appliquer l'autorisation.

  • grantee-principalspécifie l'ARN du rôle lié au service Macie pour le compte autorisé à effectuer l'action spécifiée par la subvention. Cette valeur doit correspondre à l'ARN spécifié par la kms:GranteePrincipal condition de la deuxième instruction de la politique clé.

  • operationsspécifie l'action que l'autorisation autorise le principal spécifié à effectuer : déchiffrer le texte chiffré avec la clé KMS.

Si la commande s'exécute correctement, vous recevez une sortie similaire à ce qui suit.

{ "GrantToken": "<grant token>", "GrantId": "1a2b3c4d2f5e69f440bae30eaec9570bb1fb7358824f9ddfa1aa5a0dab1a59b2" }

Où se GrantToken trouve une chaîne unique, non secrète, de longueur variable, codée en base64 qui représente la subvention créée et GrantId constitue l'identifiant unique de la subvention.