(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【AWS/EventBridge】ユーザネームの部分一致でパターンを記載する

スポンサーリンク

やりたいこと

Amazon EventBridgeにて特定のユーザ群がEC2インスタンスをLaunchした場合のパターンを記述する。尚、ユーザ名はTESTで始まるとする。

環境情報
 aws --version
aws-cli/1.19.112 Python/2.7.18 Linux/4.14.322-244.536.amzn2.x86_64 botocore/1.20.112

やり方

Event pattern部分に以下のJSONを記載する。

{
  "source": ["aws.ec2"],
  "detail-type": ["AWS API Call via CloudTrail"],
  "detail": {
    "eventSource": ["ec2.amazonaws.com"],
    "eventName": ["RunInstances"],
    "userIdentity": {
      "userName": [{
        "prefix": "TEST"
      }]
    }
  }
}

以下、補足です。

補足

CloudTrailのEvent historyを見ると、RunInstancesを実行時には以下のようなユーザ情報が格納されています。よってユーザ名が「.userIdentity.userName」で取得できることが分かります。

[Filter]> .userIdentity
{                       
  "accessKeyId": "xx",
  "accountId": "xx",  
  "arn": "arn:aws:iam::xx:user/TEST0001"
  "principalId": "xx",         
  "sessionContext": {                
    "attributes": {                   
      "creationDate": "...",
      "mfaAuthenticated": "false"
    },                    
    "sessionIssuer": {},  
    "webIdFederationData": {}          
  },                                              
  "type": "IAMUser",                              
  "userName": "TEST0001"     
}    

もしEventBridge側で完全一致でユーザ名を絞る場合は

"userIdentity": {
      "userName": [ "TEST" ] }

と記載をしますが、今回は前方一致で検索をすべく上述したように「prefix」を追加しています。

以上。