Comment puis-je surveiller l'activité des comptes d'utilisateurs, de rôles et de clés d'accès AWS spécifiques d'IAM ?

Lecture de 5 minute(s)
0

Je souhaite consulter et surveiller l'activité des comptes d'identités AWS Identity and Access Management (IAM) spécifiques.

Brève description

Pour consulter et surveiller l'activité du compte associée à des identités IAM spécifiques, vous pouvez utiliser l'un des services et fonctionnalités AWS suivants :

Résolution

Historique des événements CloudTrail

Remarque : Vous pouvez utiliser CloudTrail pour effectuer des recherches dans l'historique des événements des 90 derniers jours.

1.    Ouvrez la console CloudTrail.

2.    Choisissez Historique des événements.

3.    Dans Filtre, sélectionnez la liste déroulante. Choisissez ensuite Nom d'utilisateur.
Remarque : Vous pouvez également filtrer par clé d'accès AWS.

4.    Dans la zone de texte Entrez le nom d'utilisateur ou de rôle, entrez le « nom convivial » de l'utilisateur IAM ou le nom de session de rôle supposé.

Remarque : Le nom de session de rôle pour une session spécifique est la valeur fournie en tant que nom de session lorsque le rôle est assumé. La valeur du champ « Nom d'utilisateur » ne sera pas le nom du rôle pour les appels effectués à l'aide du rôle IAM.

5.    Dans le champ Durée, entrez la durée souhaitée. Choisissez ensuite Appliquer.

6.    Dans le champ Heure de l'événement, développez l'événement. Choisissez ensuite Afficher l'événement.

L'élément userIdentity contient des détails sur le type d'identité IAM à l'origine de la demande et les informations d'identification fournies.

Exemple d'élément userIdentity qui inclut les informations d'identification de l’utilisateur IAM utilisées pour effectuer un appel d'API

Remarque : Remplacez Alice par le nom d'utilisateur que vous recherchez. Entrez le « nom convivial » de l'utilisateur IAM ou le « nom de session de rôle » du rôle supposé. Le nom de session de rôle pour une session spécifique est la valeur fournie en tant que nom de session lorsque le rôle est assumé. Pour les appels effectués à l'aide du rôle IAM, la valeur du champ userName n'est pas le nom du rôle.

"userIdentity": {
  "type": "IAMUser",
  "principalId": "AIDAJ45Q7YFFAREXAMPLE",
  "arn": "arn:aws:iam::123456789012:user/Alice",
  "accountId": "123456789012",
  "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
  "userName": "Alice"
}

Exemple d'élément userIdentity qui inclut des informations d'identification de sécurité temporaires

"userIdentity": {
    "type": "AssumedRole",
    "principalId": "AROAIDPPEZS35WEXAMPLE:AssumedRoleSessionName",
    "arn": "arn:aws:sts::123456789012:assumed-role/RoleToBeAssumed/AssumedRoleSessionName",
    "accountId": "123456789012",
    "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "sessionContext": {
      "attributes": {
        "mfaAuthenticated": "false",
        "creationDate": "20131102T010628Z"
      },
      "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAIDPPEZS35WEXAMPLE",
        "arn": "arn:aws:iam::123456789012:role/RoleToBeAssumed",
        "accountId": "123456789012",
        "userName": "RoleToBeAssumed"
      }
   }
}

Remarque : L'historique des événements CloudTrail utilise le nom de session de rôle supposé comme nom d'utilisateur pour le filtrage des événements.

L'appel d'API utilise des informations d'identification de sécurité temporaires obtenues en assumant un rôle IAM. L'élément contient des détails supplémentaires sur le rôle assumé pour obtenir les informations d'identification.

Remarque : Si vous ne voyez aucune activité utilisateur, vérifiez que le service AWS est pris en charge et que l'événement d'API est enregistré par CloudTrail. Pour plus d'informations, consultez les rubriques relatives aux services AWS pour CloudTrail.

Pour utiliser CloudWatch Logs Insights

Remarque : Vous pouvez utiliser CloudWatch Logs Insights pour effectuer des recherches dans l'historique des API au-delà des 90 derniers jours. Vous devez avoir créé et configuré une piste pour vous connecter à Amazon CloudWatch Logs. Pour plus d'informations, consultez la section Création d’une piste.

1.    Ouvrez la console CloudWatch.

2.    Choisissez Journaux.

3.    Dans le champ Groupes de journaux, choisissez votre groupe de journaux.

4.    Choisissez Groupe de journaux de recherche.

5.    Dans le champ Filtrer les événements, entrez une requête pour rechercher les appels d'API d'un utilisateur ou des actions d'API spécifiques. Choisissez ensuite l'icône d'actualisation.

Exemple de requête pour rechercher dans les journaux les appels d'API d'un utilisateur

Remarque : Remplacez Alice par le nom d'utilisateur que vous recherchez. Entrez le « nom convivial » de l'utilisateur IAM ou le « nom de session de rôle » du rôle supposé. Le nom de session de rôle pour une session spécifique est la valeur fournie en tant que nom de session lorsque le rôle est assumé. Pour les appels effectués à l'aide du rôle IAM, la valeur du champ userName n'est pas le nom du rôle.

{ $.userIdentity.userName = "Alice" }

Exemple de requête pour rechercher dans les journaux des actions d'API spécifiques

Remarque : L'exemple de requête suivant recherche l'action d'API DescribeInstances.

{ ($.eventName = "DescribeInstances") && ($.requestParameters.userName = "Alice"  ) }

Pour plus d'informations, consultez la syntaxe de requête de CloudWatch Logs Insights.

Pour utiliser les requêtes Athena

Remarque : Vous pouvez utiliser Athena pour interroger les journaux CloudTrail des 90 derniers jours.

1.    Ouvrez la console Athena.

2.    Choisissez Éditeur de requêtes.

3.    Entrez l'un des exemples de requêtes suivants en fonction de votre cas d'utilisation. Choisissez ensuite Exécuter la requête :

Exemple de requête pour renvoyer tous les événements CloudTrail effectués par un utilisateur IAM spécifique

Important : Remplacez athena-table par le nom de votre table Athena. Remplacez Alice par l'utilisateur IAM dont vous souhaitez consulter l'activité du compte.

SELECT *
FROM athena-table
WHERE useridentity.type = 'IAMUser'
AND useridentity.username LIKE 'Alice';

Exemple de requête pour filtrer toutes les activités d'API effectuées par un rôle IAM

Remarque : Remplacez role-name par le nom de votre rôle IAM.

SELECT *
FROM athena-table
WHERE useridentity.sessionContext.sessionissuer.arn LIKE '%role-name%'
AND useridentity.sessionContext.sessionissuer.type = 'Role';

Exemple de requête correspondant au rôle ARN

SELECT *
FROM athena-table
WHERE useridentity.sessionContext.sessionissuer.arn = 'arn:aws:iam::account-id123456789:role/role-name'
AND useridentity.sessionContext.sessionissuer.type = 'Role';

Exemple de requête pour filtrer toutes les activités à l'aide de l'ID de clé d'accès IAM

SELECT eventTime, eventName, userIdentity.principalId,eventSource
FROM athena-table
WHERE useridentity.accesskeyid like 'AKIAIOSFODNN7EXAMPLE'

Informations connexes

Comment utiliser AWS CloudTrail pour suivre les appels d'API vers mes instances Amazon EC2 ?

Comment utiliser CloudTrail pour voir si un groupe de sécurité ou une ressource a été modifié dans mon compte AWS ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans