Collecter les journaux AWS IAM
Version de l'analyseur : 1.0
Ce document explique comment ingérer des données de configuration AWS Identity and Access Management (IAM) dans Google Security Operations à l'aide du flux d'API tiers.
L'analyseur IAM AWS transforme les données d'entité IAM (utilisateurs, groupes, rôles et règles) en modèle de données unifié (UDM) structuré, en extrayant des champs tels que les informations sur les utilisateurs, les informations sur les rôles, les autorisations et les codes temporels pour une analyse de sécurité cohérente.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps
- Accès privilégié à la console AWS
- Autorisations de créer des utilisateurs et des stratégies IAM
Obtenir les plages d'adresses IP Google SecOps
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Ajouter un flux.
- Notez les plages d'adresses IP affichées en haut de la page.
- Vous pouvez également récupérer les plages d'adresses IP de manière programmatique à l'aide de l'API Feed Management.
Créer un utilisateur IAM avec les autorisations requises
CRITIQUE : Pour permettre à Google SecOps de récupérer les données AWS IAM à l'aide de l'API, vous devez créer un utilisateur IAM disposant des autorisations de lecture appropriées.
Option A : Utiliser une stratégie gérée par AWS (recommandé)
- Créez un utilisateur en suivant les instructions de ce guide : Créer un utilisateur IAM.
- Sélectionnez l'utilisateur créé.
- Sélectionnez l'onglet Identifiants de sécurité.
- Cliquez sur Create Access Key (Créer une clé d'accès) dans la section Access Keys (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 l'ID de clé d'accès et la clé d'accès secrète pour référence 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 Associer directement les règles.
- Recherchez IAMReadOnlyAccess (stratégie gérée par AWS).
- Sélectionnez la règle.
- Cliquez sur Suivant.
- Cliquez sur Ajouter des autorisations.
Important : La stratégie IAMReadOnlyAccess inclut toutes les autorisations requises :
iam:GetUseriam:ListUsersiam:GetGroupiam:ListGroupsiam:GetPolicyiam:ListPoliciesiam:GetRoleiam:ListRolesiam:ListAttachedUserPoliciesiam:ListAttachedGroupPoliciesiam:ListAttachedRolePoliciesiam:GetAccountSummary
Option B : Créer une règle personnalisée (moindre privilège)
Si votre stratégie de sécurité exige des autorisations minimales au lieu de la stratégie gérée :
- Dans la console AWS, accédez à IAM > Policies > Create policy > JSON tab (IAM > Stratégies > Créer une stratégie > Onglet JSON).
Collez la règle suivante :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetUser", "iam:ListUsers", "iam:GetGroup", "iam:ListGroups", "iam:GetPolicy", "iam:ListPolicies", "iam:GetRole", "iam:ListRoles", "iam:ListAttachedUserPolicies", "iam:ListAttachedGroupPolicies", "iam:ListAttachedRolePolicies", "iam:GetAccountSummary" ], "Resource": "*" } ] }Cliquez sur Suivant.
Nommez la règle
chronicle-iam-api-read-policy.Cliquez sur Créer une règle.
Créez un utilisateur en suivant les instructions de ce guide : Créer un utilisateur IAM.
Sélectionnez l'utilisateur créé.
Sélectionnez l'onglet Identifiants de sécurité.
Cliquez sur Create Access Key (Créer une clé d'accès) dans la section Access Keys (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 l'ID de clé d'accès et la clé d'accès secrète pour référence 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 Associer directement les règles.
Recherchez et sélectionnez
chronicle-iam-api-read-policy.Cliquez sur Suivant.
Cliquez sur Ajouter des autorisations.
Configurer un flux dans Google SecOps pour ingérer les données de configuration IAM
Le flux AWS IAM collecte une liste d'entités IAM par flux, sélectionnée par le champ Type d'API (Utilisateurs, Rôles ou Groupes). Pour collecter toutes les entités IAM, créez un flux pour chaque type d'API, en utilisant le type de journal AWS IAM.
Utiliser le Hub de contenu (recommandé)
- Accédez à Plate-forme de contenu > Packs de contenu > Commencer.
- Cliquez sur le pack Amazon Cloud Platform.
- Recherchez le type de journal AWS IAM dans la liste.
- Sélectionnez API tierce dans le menu déroulant Type de source.
- Fournissez les informations de configuration suivantes :
- Nom d'utilisateur : ID de clé d'accès de l'utilisateur IAM créé précédemment.
- Secret : clé d'accès secrète de l'utilisateur IAM créé précédemment.
- Type d'API : sélectionnez la liste des entités IAM à collecter : Utilisateurs, Rôles ou Groupes.
- Nom du flux : valeur préremplie qui identifie le flux (par exemple,
AWS IAM Users). - Espace de noms des composants : 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.
Utiliser les paramètres SIEM
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Ajouter un flux.
- Sur la page suivante, cliquez sur Configurer un seul flux.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple,
AWS IAM API Configuration). - Sélectionnez API tierce comme type de source.
- Sélectionnez AWS IAM comme type de journal.
- Cliquez sur Suivant.
- Spécifiez les valeurs des paramètres d'entrée suivants :
- Nom d'utilisateur : ID de clé d'accès de l'utilisateur IAM créé précédemment.
- Secret : clé d'accès secrète de l'utilisateur IAM créé précédemment.
- Type d'API : sélectionnez la liste des entités IAM à collecter : Utilisateurs, Rôles ou Groupes.
- Espace de noms de l'élément : espace de noms de l'élément.
- Libellés d'ingestion : libellé à appliquer aux événements de ce flux.
- Cliquez sur Suivant.
- Vérifiez la configuration de votre nouveau flux sur l'écran Finaliser, puis cliquez sur Envoyer.
Table de mappage UDM
| Champ de journal | Mappage UDM | Logique |
|---|---|---|
Group.CreateDate |
entity.group.attribute.creation_time |
Analysé en tant que ISO8601 |
Group.Path |
entity.group.attribute.labels.value |
Mappage direct |
IsTruncated |
entity.group.attribute.labels.value |
Mappage direct |
Marker |
entity.group.attribute.labels.value |
Mappage direct |
Group.GroupName |
entity.group.email_addresses |
Fusionné |
Group.GroupName |
entity.group.group_display_name |
Mappé directement |
Group.GroupID |
entity.group.product_object_id |
Mappage direct |
RoleLastUsed.Region |
entity.location.name |
Mappage direct |
CreateDate |
entity.resource.attribute.creation_time |
Analysé en tant que ISO8601 |
MaxSessionDuration |
entity.resource.attribute.labels.value |
Mappage direct |
Path |
entity.resource.attribute.labels.value |
Mappage direct |
RoleLastUsed.LastUsedDate |
entity.resource.attribute.labels.value |
Mappage direct |
AssumeRolePolicyDocument |
entity.resource.attribute.permissions.name |
Mappage direct |
Description |
entity.resource.attribute.roles.description |
Mappage direct |
RoleName |
entity.resource.attribute.roles.name |
Mappage direct |
Arn |
entity.resource.name |
Mappage direct |
Group.Arn |
entity.resource.name |
Mappage direct |
RoleID |
entity.resource.product_object_id |
Mappage direct |
CreateDate |
entity.user.attribute.creation_time |
Analysé en tant que ISO8601 |
PasswordLastUsed |
entity.user.last_login_time |
Analysé en tant que ISO8601 |
UserID |
entity.user.product_object_id |
Mappage direct |
UserName |
entity.user.userid |
Mappage direct |
PermissionsBoundary.PermissionsBoundaryArn |
relations.entity.resource.attribute.labels.value |
Mappage direct |
PermissionsBoundary.PermissionsBoundaryType |
relations.entity.resource.attribute.labels.value |
Mappage direct |
user.PermissionsBoundary.PermissionsBoundaryArn |
relations.entity.resource.attribute.labels.value |
Mappage direct |
user.PermissionsBoundary.PermissionsBoundaryType |
relations.entity.resource.attribute.labels.value |
Mappage direct |
user.Arn |
relations.entity.resource.name |
Mappage direct |
user.CreateDate |
relations.entity.user.attribute.creation_time |
Analysé en tant que ISO8601 |
tag.Key |
relations.entity.user.attribute.labels.key |
Mappage direct |
Path |
relations.entity.user.attribute.labels.value |
Mappage direct |
tag.Value |
relations.entity.user.attribute.labels.value |
Mappage direct |
user.Path |
relations.entity.user.attribute.labels.value |
Mappage direct |
user.PasswordLastUsed |
relations.entity.user.last_login_time |
Analysé en tant que ISO8601 |
user.UserID |
relations.entity.user.product_object_id |
Mappage direct |
user.UserName |
relations.entity.user.userid |
Mappé directement |
| N/A | entity.group.attribute.labels.key |
Constante : is_truncated |
| N/A | entity.resource.attribute.cloud.environment |
Constante : AMAZON_WEB_SERVICES |
| N/A | entity.resource.attribute.labels.key |
Constante : max_session_duration |
| N/A | entity.resource.resource_subtype |
Constante : User |
| N/A | entity.resource.resource_type |
Constante : ACCESS_POLICY |
| N/A | metadata.entity_type |
Constante : USER |
| N/A | metadata.product_name |
Constante : AWS IAM |
| N/A | metadata.vendor_name |
Constante : AWS |
| N/A | relations.direction |
Constante : UNIDIRECTIONAL |
| N/A | relations.entity.resource.attribute.labels.key |
Constante : permissions_boundary_arn |
| N/A | relations.entity.resource.resource_subtype |
Constante : User |
| N/A | relations.entity.user.attribute.labels.key |
Constante : path |
| N/A | relations.entity_type |
Constante : USER |
| N/A | relations.relationship |
Constante : MEMBER |
Journal des modifications
Afficher le journal des modifications de cet analyseur
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.