Collecter les journaux AWS Key Management Service
Ce document explique comment ingérer les journaux AWS Key Management Service (KMS) dans Google Security Operations. AWS KMS est un service entièrement géré qui vous permet de créer et de contrôler les clés de chiffrement utilisées pour chiffrer vos données. Cette intégration permet de surveiller et d'auditer l'utilisation des clés de chiffrement.
Avant de commencer
Assurez-vous de remplir les conditions préalables suivantes :
- Instance Google SecOps
- Accès privilégié à AWS
Configurer Amazon S3 et IAM
- Créez un bucket Amazon S3 en suivant ce guide de l'utilisateur : Créer un bucket.
- Enregistrez le nom et la région du bucket pour une utilisation ultérieure.
- Créez un utilisateur en suivant ce guide : Créer un utilisateur IAM.
- Sélectionnez l'utilisateur créé.
- Sélectionnez l'onglet Informations d'identification de sécurité.
- Cliquez sur Créer une clé d'accès dans la section Clés d'accès.
- Sélectionnez Service tiers comme Cas d'utilisation.
- Cliquez sur Suivant.
- Facultatif : ajoutez un tag de description.
- Cliquez sur Créer une clé d'accès.
- Cliquez sur Télécharger le fichier CSV pour enregistrer la clé d'accès et la clé d'accès secrète pour une utilisation ultérieure.
- Cliquez sur OK.
- Sélectionnez l'onglet Autorisations.
- Cliquez sur Ajouter des autorisations dans la section Règles d'autorisation.
- Sélectionnez Ajouter des autorisations.
- Sélectionnez Joindre directement des règles.
- Recherchez et sélectionnez la règle AmazonS3FullAccess.
- Cliquez sur Suivant.
- Cliquez sur Ajouter des autorisations.
Configurer CloudTrail pour AWS KMS
- Connectez-vous à l'AWS Management Console.
- Dans la barre de recherche, saisissez CloudTrail et sélectionnez-le dans la liste des services.
- Cliquez sur Créer un parcours.
- Indiquez un nom de journal d'audit (par exemple, KMS-Activity-Trail).
- Cochez la case Activer pour tous les comptes de mon organisation.
- Saisissez l'URI du bucket S3 créé précédemment (au format
s3://your-log-bucket-name/
) ou créez-en un. - Si SSE-KMS est activé, indiquez un nom pour l'alias AWS KMS ou choisissez une clé AWS KMS existante.
- Vous pouvez conserver les autres paramètres par défaut.
- Cliquez sur Suivant.
- Sous Types d'événements, sélectionnez Événements de gestion et Événements de données.
- Cliquez sur Suivant.
- Vérifiez les paramètres dans Vérifier et créer.
- Cliquez sur Créer un parcours.
- Facultatif : Si vous avez créé un bucket, suivez la procédure suivante :
- Accédez à S3.
- Identifiez et sélectionnez le bucket de journaux que vous venez de créer.
- Sélectionnez le dossier AWSLogs.
- Cliquez sur Copier l'URI S3 et enregistrez-le.
Configurer des flux
Il existe deux points d'entrée différents pour configurer les flux dans la plate-forme Google SecOps :
- Paramètres SIEM> Flux > Ajouter un flux
- Plate-forme de contenu> Packs de contenu> Premiers pas
Configurer le flux AWS Key Management Service
- Cliquez sur le pack Amazon Cloud Platform.
- Recherchez le type de journal AWS Key Management Service.
Spécifiez les valeurs des champs suivants.
- Type de source : Amazon SQS V2
- Nom de la file d'attente : nom de la file d'attente SQS à partir de laquelle lire les données
- URI S3 : URI du bucket.
s3://your-log-bucket-name/
- Remplacez
your-log-bucket-name
par le nom réel de votre bucket S3.
- Remplacez
Options de suppression de la source : sélectionnez l'option de suppression en fonction de vos préférences d'ingestion.
Âge maximal des fichiers : incluez les fichiers modifiés au cours des derniers jours. La valeur par défaut est de 180 jours.
ID de clé d'accès à la file d'attente SQS : clé d'accès au compte, qui est une chaîne alphanumérique de 20 caractères.
Clé d'accès secrète à la file d'attente SQS : clé d'accès au compte, qui est une chaîne alphanumérique de 40 caractères.
Options avancées
- Nom du flux : valeur préremplie qui identifie le flux.
- Espace de noms de l'élément : espace de noms associé au flux.
- Libellés d'ingestion : libellés appliqués à tous les événements de ce flux.
Cliquez sur Créer un flux.
Pour en savoir plus sur la configuration de plusieurs flux pour différents types de journaux dans cette famille de produits, consultez Configurer des flux par produit.
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
data.detail.awsRegion | principal.location.country_or_region | Directement mappé à partir du champ data.detail.awsRegion dans le journal brut. |
data.detail.eventCategory | security_result.category_details | Directement mappé à partir du champ data.detail.eventCategory dans le journal brut. |
data.detail.eventName | metadata.product_event_type | Directement mappé à partir du champ data.detail.eventName dans le journal brut. Ce champ détermine la valeur metadata.event_type en fonction de la logique suivante : si eventName est "Decrypt" ou "Encrypt", event_type est "USER_RESOURCE_ACCESS" ; si eventName est "GenerateDataKey", event_type est "USER_RESOURCE_CREATION" ; sinon, event_type est "GENERIC_EVENT". |
data.detail.requestID | additional.fields.key | La valeur est codée en dur sur "requestID" dans le code du parseur. |
data.detail.requestID | additional.fields.value.string_value | Directement mappé à partir du champ data.detail.requestID dans le journal brut. |
data.detail.requestParameters.encryptionAlgorithm | security_result.detection_fields.key | La valeur est codée en dur sur "encryptionAlgorithm" dans le code du parseur. |
data.detail.requestParameters.encryptionAlgorithm | security_result.detection_fields.value | Directement mappé à partir du champ data.detail.requestParameters.encryptionAlgorithm dans le journal brut. |
data.detail.resources.ARN | target.resource.id | Directement mappé à partir du champ data.detail.resources.ARN dans le journal brut. |
data.detail.resources.type | target.resource.resource_subtype | Directement mappé à partir du champ data.detail.resources.type dans le journal brut. |
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated | principal.user.attribute.labels.key | La valeur est codée en dur sur "mfaAuthenticated" dans le code du parseur. |
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated | principal.user.attribute.labels.value | Directement mappé à partir du champ data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated dans le journal brut. |
data.detail.userIdentity.sessionContext.sessionIssuer.principalId | principal.user.userid | Directement mappé à partir du champ data.detail.userIdentity.sessionContext.sessionIssuer.principalId dans le journal brut. |
data.detail.userIdentity.sessionContext.sessionIssuer.userName | principal.user.user_display_name | Directement mappé à partir du champ data.detail.userIdentity.sessionContext.sessionIssuer.userName dans le journal brut. |
data.detail.userIdentity.type | principal.user.attribute.roles.name | Directement mappé à partir du champ data.detail.userIdentity.type dans le journal brut. |
data.id | metadata.product_log_id | Directement mappé à partir du champ data.id dans le journal brut. |
data.time | metadata.event_timestamp.seconds | Valeur en secondes de l'horodatage analysé à partir du champ data.time du journal brut. |
N/A | metadata.event_type | Ce champ est dérivé de la logique du parseur en fonction de la valeur de data.detail.eventName : si eventName est "Decrypt" ou "Encrypt", event_type est "USER_RESOURCE_ACCESS" ; si eventName est "GenerateDataKey", event_type est "USER_RESOURCE_CREATION" ; sinon, event_type est "GENERIC_EVENT". |
N/A | metadata.log_type | La valeur est codée en dur sur "AWS_KMS" dans le code du parseur. |
N/A | metadata.product_name | La valeur est codée en dur sur "AWS Key Management Service" dans le code du parser. |
N/A | metadata.vendor_name | La valeur est codée en dur sur "AMAZON" dans le code du parseur. |
N/A | principal.asset.attribute.cloud.environment | La valeur est codée en dur sur "AMAZON_WEB_SERVICES" dans le code du parseur. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.