본문 바로가기

AWS :D

[AWS EventBridge] Root 유저 로그인시 e-mail(알림) 보내기!

 

안녕하세요. 😉

 

AWS 사용 시 최소권한원칙으로 사용자를 생성하고, Root 계정의 사용하지 않게 권고하고 있습니다.

 

루트 로그인 시 시스템관리자에게 이메일이 가도록 설졍 해보도록 하겠습니다.

 

주의해야 할 부분은 이번 설정은 반드시 버지니아북부 (us-east-1)에서 설정해야 합니다.

 

아래 링크를 참조하여 AWS에서 제공하는 CloudFormation을 사용할 수 있습니다. 

단, 설정하시는 리전이 버지니아북부 (us-east-1)인지 확인해주세요!

aws.amazon.com/ko/premiumsupport/knowledge-center/root-user-account-cloudwatch-rule/


목차

 

1. SNS 생성

2. AWS EventBridge 생성

3. 동작 테스트

 



🤖  1. SNS 생성

이번 단계에서는 Amazon SNS (simple notification service)를 이용하여 e-mail 을 발송할 수 있도록 설정하겠습니다.

 

자, AWS 콘솔에 로그인 합니다. 

반드시 리전을 "버지니아 북부"로 지정합니다!

왜냐하면 글로벌 리전으로 표기되는 리전의 기본설정이 모두 버지니아 북부이기때문입니다.

이번 실습에서 만약 버지니아 북부가 아닌 다른 리전을 선택하셨다면, 아무리 로그인해도 정상적으로 동작하지 않을거에요!

 

 

SNS 콘솔 처음 페이지에서 오른쪽 "주제 생성"에서 바로 새로운 주제를 생성합니다!

주제의 이름 (Notification_RootLogin)을 작성하고 "다음단계"를 클릭합니다.

 

 

아래와 같이 기본값으로 두고, "주제생성"을 클릭합니다.

 

주제(Notification_RootLogin)이 정상적으로 생성되었습니다. 이제 이 주제를 구독하도록 새로운 구독을 생성합니다.

하위탭에서 "구독 생성"을 클릭합니다.

 

아래와 같이 알맞게 설정값을 넣고 "구독생성"을 클릭합니다.

-프로토콜 : 이메일

-엔드포인트 : (관리 담당자 이메일)

 

 

구독 생성이 완료되었습니다!

처음 생성하면, 상태가 "상태 확인 대기중"으로 나옵니다. 엔드포인트로 적었던 이메일을 확인하여 이 이메일을 소유하였음을 인증합니다.

 

 

자, 이렇게 확인메일이 와있는데, 여기에서 "Confirm subscription"을 눌러 구독합니다.

 

 

구독 상태가 "확인됨" 상태로 변경되었습니다.

담당자가 여러명일 경우, 구독을 여러개로 생성하여 사용할 수 있습니다!

 

 

이제 Amazon SNS에서 해야할 작업을 모두 완료하였습니다.


🤖  2. AWS EventBridge 생성

 

자, 이번에는 Amazon EventBridge 콘솔로 이동합니다.

이번에도 마찬가지로 리전이 버지니아 북부인지 반드시 확인합니다.

 

이벤트 브릿지의 콘솔 페이지입니다. 

오른쪽 새 규칙생성 부분의 "규칙생성"을 클릭해주세요.

 

 

아래의 그림과 같이 이름, 패턴, 대상을 정의한 후에 "생성"을 클릭합니다.

- 규칙 이름 : Notification_RootLogin

- 패턴 정의: 이벤트 패턴 -> 사용자 자정 패턴 -> 아래 더보기 클릭하여 복사 붙여넣기

- 이벤트 버스 선택 : default

- 대상선택 : 대상 - SNS주제 , 주제 - Notification_RootLogin

 

(↓ 더보기 클릭 ↓)

더보기

{
  "detail-type": [
    "AWS Console Sign In via CloudTrail"
  ],
  "detail": {
    "userIdentity": {
      "type": [
        "Root"
      ]
    },
    "eventName": [
      "ConsoleLogin"
    ]
  }
}

 

 

규칙이 Enable 되었습니다.!

이제, 루트계정으로 로그인 시 설정한 사용자에게 정상적으로 로그인 되는지 확인하겠습니다.

 


🤖  3. 동작테스트

 

크롬 시크릿창을 하나 킨 후에, 시크릿 브라우저에서 AWS루트계정으로 로그인 하겠습니다.

 

루트 계정으로 로그인 후 설정한 Email로 Notification이 오는지 확인합니다.

 

테스트까지 모두 완료되었습니다. "D