Enhancing AWS Security: A Guide to IAM User Deletion Notifications
Tags: aws, awssecurity, iam, iamuser
Published: 2024-01-17 08:09:17

## **Introduction**

In the dynamic realm of AWS, safeguarding your environment is a continuous journey. In this detailed guide, we’ll delve into a crucial aspect of security where we will be configuring notifications for IAM user deletions.

![](https://cdn-images-1.medium.com/max/2000/0*MP0jz6Zo1zRng2O2.jpg)

This hands-on approach adds a layer to your defense strategy, ensuring you’re not only aware but also well-prepared to respond promptly to potential security threats.

## **Why is the need to configure these notifications?**

IAM users have considerable control over your AWS resources. Any unauthorized access or accidental deletion of these accounts poses a significant security risk.

By configuring IAM user deletion notifications, you gain insights into these crucial events, allowing for swift responses and mitigation of potential security breaches.

## **AWS Cloud-Trail**

AWS CloudTrail is like your AWS superhero sidekick, ensuring your cloud journey is secure, compliant, and well-documented. Imagine it as a record keeper, noting down every move in your AWS account to keep you in the loop.

![](https://cdn-images-1.medium.com/max/3782/1*5SpqxwCTW85RRAangP2Nzg.png)

AWS CloudTrail is your behind-the-scenes assistant from Amazon Web Services (AWS). It’s here to help with governance, compliance, and auditing kind of like your cloud guardian angel. This service creates a detailed play-by-play of every API call made in your AWS account. Whether it’s you, your team, or other users making the call, CloudTrail captures it all.

## **Configuring AWS CloudTrail**

 1. **Activate AWS CloudTrail:**

Initiate the process by enabling AWS CloudTrail in your AWS account. This service provides a comprehensive log of AWS API calls, including IAM actions.

    #aws cloudtrail create-trail — name MyCloudTrail — s3-bucket-name MyS3Bucket

**2. Tailor CloudTrail for IAM Events**

Customize CloudTrail to capture specific IAM events in your logs.

    #aws cloudtrail put-event-selectors --trail-name MyCloudTrail --event-selectors '[{"ReadWriteType": "WriteOnly","IncludeManagementEvents":true,"DataResources":[{"Type":"AWS::IAM::User"}]}]'

## **AWS CloudWatch**

Amazon CloudWatch is like your personal cloud watchdog, keeping a vigilant eye on your Amazon Web Services (AWS) resources. It’s a monitoring and observability service designed to help you track, collect, and visualize data from various AWS resources in real time.

In simpler terms, it’s the tool you turn to when you want to keep tabs on what’s happening within your AWS environment.

## **Setting Up Amazon CloudWatch Events**

 1. **Craft CloudWatch Event Rule**

Leverage CloudWatch Events to trigger notifications based on CloudTrail events.

    #aws events put-rule --name IAMUserDeletionRule --event-pattern '{"source": ["aws.iam"],"detail-type": ["AWS API Call via CloudTrail"],"detail": {"eventSource": ["iam.amazonaws.com"],"eventName": ["DeleteUser"]}}'

**2. Specify Rule Target**

Define where CloudWatch Events should send notifications, such as an SNS topic.

    #aws events put-targets --rule IAMUserDeletionRule --targets '{"Id": "1","Arn": "arn:aws:sns:us-east-1:123456789012:MySNSTopic"}'

## **AWS IAM & IAM Policies**

![](https://cdn-images-1.medium.com/max/2000/1*dE4GMucdaegslFMoD2Qb8w.png)

IAM, which stands for Identity and Access Management, is a crucial service provided by Amazon Web Services (AWS) that allows you to securely control access to your AWS resources.

It serves as the gatekeeper, enabling you to manage users, groups, and roles within your AWS environment, and define who (or what) can do what across your resources

**IAM policies **are the backbone of AWS security. They are JSON documents that define permissions and are attached to users, groups, or roles.

## **Implementing IAM Policy for Notifications**

 1. **Create IAM Policy**

Develop a policy that grants necessary permissions for CloudWatch Events and SNS.

    {
      "Version": "2024-01-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": ["events:PutTargets", "events:PutRule", "events:DescribeRule"],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": ["sns:Publish"],
          "Resource": "arn:aws:sns:us-east-1:123456789012:MySNSTopic"
        }
      ]
    }

**2. Attach IAM Policy to User/Role**

Associate the IAM policy with the relevant IAM user or role to grant necessary permissions.

    #aws iam put-user-policy --user-name MyIAMUser --policy-name IAMUserDeletionPolicy --policy-document file://IAMUserDeletionPolicy.json

## **Testing the Setup**

 1. **Simulate IAM User Deletion**

Validate your setup by simulating the deletion of an IAM user.

    #aws iam delete-user --user-name TestUser

**2. Verify Notification**

Check your designated notification channel (ex SNS topic) for the alert triggered by the IAM user deletion event.

## **Conclusion:**

Proactively configuring IAM user deletion notifications isn’t just a best practice it’s a critical step in strengthening your AWS security.

By seamlessly integrating AWS CloudTrail, CloudWatch Events, and IAM policies, you establish a robust system that keeps you informed about potential security risks in real time.