1 votes

Comment configurer les événements Cloudwatch pour qu'ils se déclenchent sur les appels de l'API IAM ?

J'ai donc du mal à configurer les événements Cloudwatch pour déclencher une fonction Lambda. Dans le scénario actuel, je veux déclencher une fonction Lambda lorsque quelqu'un ou quelque chose change. tout ce qui est dans IAM.

Actuellement, j'ai un Cloudtrail global en Virginie du Nord qui enregistre tous les événements IAM et je peux les voir très clairement.

J'ai ensuite un événement Cloudwatch avec son déclencheur configuré sur Lambda. Lorsque je teste le déclencheur sur n'importe quel autre service, par exemple EC2, le lambda se déclenche correctement. Cependant, en utilisant IAM, il toujours échouer.

Voici le modèle d'événement que j'utilise et qui semble être la seule chose qui puisse être incorrecte à ce stade :

{
   "detail-type": [
     "AWS API Call via CloudTrail"
   ],
   "detail": {
     "eventSource": [
       "iam.amazonaws.com"
     ]
   }
}

Si quelqu'un a déjà essayé de mettre en place ce système, veuillez m'aider. Je suis en train de devenir fou.

0voto

John Hanley Points 3849

Pour surveiller les modifications apportées à IAM, vous devrez utiliser une combinaison de CloudWatch, CloudWatch Logs et CloudTrail. Assurez-vous que CloudTrail est activé pour chaque région que vous souhaitez surveiller.

CloudTrail enregistrera les appels à IAM et les stockera dans vos journaux CloudTrail. CloudTrail publiera les événements dans les journaux CloudWatch. Vous configurez un filtre dans CloudWatch pour générer des mesures CloudWatch à partir des événements CloudTrail. Ces mesures sont utilisées pour déclencher des alarmes.

Votre filtre CloudWach ressemble à ceci :

{ ($.eventSource = "iam.amazonaws.com") }

Cet article vous aidera à comprendre le processus. Pas à pas avec des captures d'écran.

Comment recevoir des alertes lorsque votre configuration IAM est modifiée

0voto

Briansbum Points 121

J'ai alors découvert le problème : les modèles que j'essayais d'utiliser ne fournissaient pas un champ d'application suffisamment petit ou large. Pour surveiller IAM de cette manière, il faut ce et lorsqu'il vous indique le modèle d'événement à saisir comme modèle d'événement Cloudwatch, vous devez spécifier EXACTEMENT les noms d'événements dont vous avez besoin.

C'est assez long mais cela démontre à quel point il faut être minutieux et qu'aucun globbing n'est supporté, voici le modèle que j'ai obtenu :

{
  "source": [
    "aws.iam"
  ],
  "detail-type": [
    "AWS API Call via CloudTrail"
  ],
  "detail": {
    "eventSource": [
      "iam.amazonaws.com"
    ],
    "eventName": [
      "AddClientIDToOpenIDConnectProvider",
      "AddRoleToInstanceProfile",
      "AddUserToGroup",
      "ChangePassword",
      "CreateAccessKey",
      "CreateAccountAlias",
      "CreateInstanceProfile",
      "CreateLoginProfile",
      "CreateOpenIDConnectProvider",
      "CreateRole",
      "CreateSAMLProvider",
      "CreateServiceLinkedRole",
      "CreateServiceSpecificCredential",
      "CreateUser",
      "CreateVirtualMFADevice",
      "DeactivateMFADevice",
      "DeleteVirtualMFADevice",
      "EnableMFADevice",
      "ResyncMFADevice",
      "UpdateAccessKey",
      "UpdateAccountPasswordPolicy",
      "UpdateGroup",
      "UpdateLoginProfile",
      "UpdateOpenIDConnectProviderThumbprint",
      "UpdateRoleDescription",
      "UpdateSAMLProvider",
      "UpdateServerCertificate",
      "UpdateServiceSpecificCredential",
      "UpdateSigningCertificate",
      "UpdateSSHPublicKey",
      "UpdateUser",
      "UploadServerCertificate",
      "UploadSigningCertificate",
      "UploadSSHPublicKey",
      "AttachGroupPolicy",
      "AttachRolePolicy",
      "AttachUserPolicy",
      "CreatePolicy",
      "CreatePolicyVersion",
      "DeleteAccountPasswordPolicy",
      "DeleteGroupPolicy",
      "DeletePolicy",
      "DeletePolicyVersion",
      "DeleteRolePolicy",
      "DeleteUserPolicy",
      "DetachGroupPolicy",
      "DetachRolePolicy",
      "DetachUserPolicy",
      "PutGroupPolicy",
      "PutRolePolicy",
      "PutUserPolicy",
      "SetDefaultPolicyVersion",
      "UpdateAssumeRolePolicy"
    ]
  }
}

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X