신규 목표
전달 되는 메일이 너무 지저분했다. 구성 변경
구성도
CloudTrail -> Eventbridge -> Lambda -> SNS
내용 정리
1. 람다 함수 생서 (블루프린트 sns-message-python 사용) -> SNS 트리거
2. 람다 코드에 #첨부2 코드 적용 -> 테스트 (첨부3 데이터 활용)
3. 기존 인프라에서 Eventbridge 대상 변경 (Lambda)
#첨부 2
import json
import boto3
sns = boto3.client('sns')
def lambda_handler(event, context):
#Extract details from JSON event JSON 이벤트에서 세부정보 추출
detailType= event["detail-type"]
region = event["region"]
accountId = event["account"]
time = event["detail"]["eventTime"]
eventName = event["detail"]["eventName"]
requestParameters = event["detail"]["requestParameters"]
taskuser = event["detail"]["userIdentity"]["userName"]
message = "Alert: %s in %s for account: %s at time: %s\n\n Event: %s \n Task user : %s \n Request parameters: %s" % (detailType, region, accountId, time, eventName,taskuser,requestParameters)
response = sns.publish(
TopicArn = "arn:aws:sns:us-east-1:40265848665302129:test_setet",
Message = message
)
return {
'statusCode': 200,
'body': json.dumps('Success!')
}
#첨부3
{
"version": "0",
"id": "e951asdfasdf-asdfasdf1-0easdf7-1917-a71c621d65bc",
"detail-type": "AWS API Call via CloudTrail",
"source": "aws.iam",
"account": "40265848665302129",
"time": "2022-03-31T08:49:13Z",
"region": "us-east-1",
"resources": [],
"detail": {
"eventVersion": "1.08",
"userIdentity": {
"type": "IAMUser",
"principalId": "AIDAV3ECDVRDDDsW3GQ",
"arn": "arn:aws:iam::40265848665302129:user/seasdfasdfas@asdfasdft.co.kr",
"accountId": "40265848665302129",
"accessKeyId": "ASIAVASDFEEDFC3QGS2H2QXBFWSDFSDFWAU",
"userName": "seasdfasdfas@asdfasdft.co.kr",
"sessionContext": {
"sessionIssuer": {},
"webIdFederationData": {},
"attributes": {
"creationDate": "2022-03-31T06:17:57Z",
"mfaAuthenticated": "false"
}
}
},
"eventTime": "2022-03-31T08:49:13Z",
"eventSource": "iam.amazonaws.com",
"eventName": "DeleteUser",
"awsRegion": "us-east-1",
"sourceIPAddress": "AWS Internal",
"userAgent": "AWS Internal",
"requestParameters": {
"userName": "testtestst"
},
"responseElements": null,
"requestID": "68ASDFASEFEF822b43-ad-86de91d9c5e6",
"eventID": "45251asdfsdf-d666d4c8a7f",
"readOnly": false,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "40265848665302129",
"eventCategory": "Management",
"sessionCredentialFromConsole": "true"
}
}
기존 목표 중 이슈
1. sns publish에서 권한이 없어서 오류가 발생 (lambda에 SNS full 권한을 부여)
'AWS > IAM' 카테고리의 다른 글
IAM user 생성, 삭제 알람 설정 (1) (0) | 2022.04.05 |
---|