All Articles

Gửi thông báo khi User IAM đăng nhập vào AWS Console

Mình tổng hợp từ nhiều nguồn để ra được quy trình phù hợp nhất, chủ yếu là từ 2 bài viết dưới đây.

Vì User IAM được chọn region khi login vào AWS Console nên để bắt được action login phải cấu hình trên từng region riêng.

Các bước tiến hành bao gồm:

  • Cấu hình CloudTrail
  • Thiết lập SNS Topic
  • Khởi tạo Metric Filter
  • Cấu hình CloudWatch Alarm

Các bước trên thực hiện theo hướng dẫn

Sau đó test thử bằng cách logout sau đó login lại sẽ nhận được email như sau:

email notification Vì trong email thông báo này không có chi tiết như Username, time login, sourceAddress,… nên mình sẽ custom lại phần SNS như sau:

Trong phần Events > Rules chọn AWS-ConsoleLogin edit như sau:

  • Event Pattern
{
  "detail-type": [
    "AWS Console Sign In via CloudTrail"
  ],
  "detail": {
    "userIdentity": {
      "arn": [
        "arn:aws:iam::*:user/*",
      ]
    }
  }
}
  • Targets chọn SNS Topic > chọn topic name là AWS-ConsoleLogin > Configure Input > Input Transformer, điền thông tin 2 textbox như bên dưới
{"accessKeyId":"$.detail.userIdentity.accessKeyId","eventID":"$.detail.eventID","awsRegion":"$.detail.awsRegion","responseElements":"$.detail.responseElements","sourceIPAddress":"$.detail.sourceIPAddress","eventSource":"$.detail.eventSource","principalId":"$.detail.userIdentity.principalId","userAgent":"$.detail.userAgent","eventType":"$.detail.eventType","userName":"$.detail.userIdentity.userName","additionalEventData":"$.detail.additionalEventData","accountId":"$.detail.userIdentity.accountId","eventTime":"$.detail.eventTime","eventName":"$.detail.eventName","userType":"$.detail.userIdentity.type"}
"User <userName> has logged in to AWS Console at <eventTime> UTC from <sourceIPAddress>."
"User Name: <userName>"
"User Type: <userType>"
"Principal ID: <principalId>"
"Account ID: <accountId>"
"Access Key ID: <accessKeyId>"
"IP: <sourceIPAddress>"
"User Agent: <userAgent>"
"AWS Region: <awsRegion>"
"Response Elements: <responseElements>"
"Additional Event Data: <additionalEventData>"
"Event ID: <eventID>"
"Event Name: <eventName>"
"Event Type: <eventType>"
"Event Time: <eventTime> UTC"
"Event Source: <eventSource>"

Sau đó test lại thì sẽ nhận được email format chi tiết như này.

email notification pretty Tham khảo: