Authentication Field Mapping
The following shows an example of how authentication events map differently from various cloud providers to CIM data model field names.
See the Authentication data model for full field descriptions.
Login success example
The login success event from Google Cloud Platform (GCP), Microsoft Office 356 (MS o365), and Amazon Web Services (AWS) is a good way to see a common event and how each cloud provider maps to CIM data model field names.
GCP success
A sample GCP successful user login follows:
Click expand or collapse to show or hide the example.
{
   "actor":{
      "email":"name@gmail.com",                /** -----  user_id
      "profileId":"104465715494659475645"
   },
   "etag":"\"JDMC8884sebSczDxOtZ17CIssbQ/Pau_EbIGF8FWZWC7W8Ti1uoCfjc\"",
   "events":[
      {
         "name":"login_success",               /** -----  action
         "parameters":[
            {
               "name":"login_type",
               "value":"google_password"
            },
            {
               "multiValue":[
                  "password"                   /** -----  authentication_method
               ],
               "name":"login_challenge_method"
            },
            {
               "boolValue":false,
               "name":"is_suspicious"
            }
         ],
         "type":"login"                       /** -----  signature
      }
   ],
   "id":{
      "applicationName":"login",
      "customerId":"C035c27ok",               /** -----  vendor_account
      "time":"2020-02-24T23:31:48.090Z",
      "uniqueQualifier":"529462392776"
   },
   "ipAddress":"4.14.104.185",                /** -----  src, src_ip
   "kind":"admin#reports#activity"            /** -----  user_agent
}
MS o365 success
A sample MS o365 successful user login follows:
Click expand or collapse to show or hide the example.
{ [-]
   Actor: [ [-]
     { [-]
       ID: df22f023-9e0f-4d78-bdd5-d496688af11e         /** -----  user_id
       Type: 0
     }
     { [-]
       ID: admin@a830edad9050849NDA3079.onmicrosoft.com /** -----  user_id
       Type: 5
     }
     { [-]
       ID: 10037FFE8EC1E08E                             /** -----  user_id
       Type: 3
     }
   ]
   ActorContextId: 2ed28a74-1f6f-4829-8530-fe359c77d35c  /** -----  vendor_account
   ActorIpAddress: 4.14.104.185                          /** -----  src, src_ip
   ApplicationId: c44b4083-3bb0-49c1-b47d-974e53cbdf3c
   AzureActiveDirectoryEventType: 1
   ClientIP: 4.14.104.185
   CreationTime: 2020-02-27T00:49:21
   ExtendedProperties: [ [-]
     { [-]
       Name: UserAgent
       Value: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36                           /** -----  user_agent
     }
     { [-]
       Name: FlowTokenScenario
       Value: Login
     }
     { [-]
       Name: UserAuthenticationMethod
       Value: 1                                /** -----  authentication_method
     }
     { [-]
       Name: RequestType
       Value: Login:login
     }
     { [-]
       Name: ResultStatusDetail
       Value: Success
     }
   ]
   Id: 6c7bb43a-4fc5-403e-9e20-a1e6d4fdc7b3
   InterSystemsId: a2c96557-09ee-4be2-9d8a-a13c7326ff0e
   IntraSystemId: 4bc7a6ba-fabb-4bcc-9663-2a1be0a11a00
   ModifiedProperties: [ [-]
   ]
   ObjectId: 797f4846-ba00-4fd7-ba43-dac1f8f63013
   Operation: UserLoggedIn                       /** -----  signature
   OrganizationId: 2ed28a74-1f6f-4829-8530-fe359c77d35c
   RecordType: 15
   ResultStatus: Succeeded                       /** -----  action
   SupportTicketId:
   Target: [ [-]
     { [-]
       ID: 797f4846-ba00-4fd7-ba43-dac1f8f63013
       Type: 0
     }
   ]
   TargetContextId: 2ed28a74-1f6f-4829-8530-fe359c77d35c
   UserId: admin@a830edad9050849NDA3079.onmicrosoft.com
   UserKey: 10037FFE8EC1E08E@a830edad9050849NDA3079.onmicrosoft.com
   UserType: 0
   Version: 1
   Workload: AzureActiveDirectory
}
AWS success
A sample AWS successful user login follows:
Click expand or collapse to show or hide the example.
{
   additionalEventData: {
     LoginTo: https://console.aws.amazon.com/console/home?state=hashArgs%23&isauthcode=true
     MFAUsed: No                             /** -----  authentication_method
     MobileVersion: No
   }
   awsRegion: us-east-1
   eventID: 040eb5f3-1132-4325-b06b-022e580c44fe
   eventName: ConsoleLogin                   /** -----  signature
   eventSource: signin.amazonaws.com
   eventTime: 2020-02-21T23:06:26Z
   eventType: AwsConsoleSignIn
   eventVersion: 1.05
   recipientAccountId: 772089552793
   requestParameters: null
   responseElements: {
     ConsoleLogin: Success                     /** -----  action
   }
   sourceIPAddress: 4.14.104.185               /** -----  src
   userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36                         /** -----  user_agent
   userIdentity: {
     accountId: 772089552793                   /** -----  vendor_account
     arn: arn:aws:iam::772089552793:user/example_user
     principalId: AIDA3HRA7T6MUVQJRHPKV
     type: IAMUser
     userName: example_user                    /** -----  user_id, user, src_user
   }
}
Login success field mapping
Using the login success from GCP as a base sample, and comparing it to a similar event from MS o365 and AWS is a good way to see the similarities and differences per common CIM field names.
| User id example data | Provider field name | CIM field name | 
|---|---|---|
| Action example data | Provider field name | CIM field name | 
| Signature example data | Provider field name | CIM field name | 
| Authentication method example data | Provider field name | CIM field name | 
| Vendor account example data | Provider field name | CIM field name | 
| Source example data | Provider field name | CIM field name | 
| User agent data | Provider field name | CIM field name | 
| GCP 
                   | actor.email | user_id | 
| MS o365 
 | Id | user_id | 
| AWS 
                   | userIdentity.userName | 
 | 
| GCP 
                   | events.name | action | 
| MS o365 
                   | ResultStatus | action | 
| AWS 
                   | responseElements.ConsoleLogin | action | 
| GCP 
                   | events.type | signature | 
| MS o365 
                   | Operation | signature | 
| AWS 
                   | eventName | signature | 
| GCP 
                   | 
 | authentication_method | 
| MS o365 
                   | UserAuthenticationMethod | authentication_method | 
| AWS 
                   | MFAUsed | authentication_method | 
| GCP 
                   | id.customerId | vendor_account | 
| MS o365 
                   | OrganizationId | vendor_account | 
| AWS 
                   | userIdentity.accountId | vendor_account | 
| GCP 
                   | ipAddress | 
 | 
| MS o365 
                   | ClientIP | 
 | 
| AWS 
                   | sourceIPAddress | src | 
| GCP 
                   | kind | user_agent | 
| MS o365 
                   | UserAgent | user_agent | 
| AWS 
                   | userAgent | user_agent | 
Login failure example
The login failure event from Google Cloud Platform (GCP), Microsoft Office 356 (MS o365), and Amazon Web Services (AWS) is a good way to see a common event and how each cloud provider maps to CIM data model field names.
GCP failure
A sample GCP failed user login follows:
Click expand or collapse to show or hide the example.
{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "authenticationInfo": {
      "principalEmail": "example_user@gmail.com"             /** -----  user_id
    },
    "requestMetadata": {
      "callerIp": "2601:646:8400:b0:a991:7135:7879:6cea"     /** -----  src, src_ip
    },
    "serviceName": "login.googleapis.com",                   /** -----  app, dest
    "methodName": "google.login.LoginService.loginFailure",  /** -----  signature
    "resourceName": "organizations/809036120291",
    "metadata": {
      "activityId": {
        "timeUsec": "1588189783734201",
        "uniqQualifier": "1023108278221"
      },
      "event": [
        {
          "eventType": "login",
          "eventName": "login_failure",                       
          "parameter": [
            {
              "name": "login_type", 
              "value": "unknown",
              "label": "LABEL_OPTIONAL",
              "type": "TYPE_STRING"
            },
            {
              "name": "login_challenge_method",               /** -----  authentication_method
              "multiStrValue": [                              /** -----  reason
                "password",
                "password"
              ],
              "label": "LABEL_REPEATED",
              "type": "TYPE_STRING"
            },
            {
              "name": "dusi",
              "value": "IMyb8fehs77-gQE",
              "label": "LABEL_OPTIONAL",
              "type": "TYPE_STRING"
            }
          ]
        }
      ],
      "@type": "type.googleapis.com/ccc_hosted_reporting.ActivityProto"
    }
  },
  "insertId": "mh9fqkc4a2",
  "resource": {
    "type": "audited_resource",
    "labels": {
      "method": "google.login.LoginService.loginFailure",
      "service": "login.googleapis.com"
    }
  },
  "timestamp": "2020-04-29T19:49:43.734201Z",
  "severity": "NOTICE",                                       /** -----  action
  "logName": "organizations/809036120291/logs/cloudaudit.googleapis.com%2Fdata_access",
  "receiveTimestamp": "2020-04-29T20:43:00.836830467Z"
}
MS o365 failure
A sample MS o365 failed user login follows:
Click expand or collapse to show or hide the example.
{ [-]
   Actor: [ [-]
     { [-]
       ID: 1d48684f-70ea-41e7-8459-9a7a24a8690a
       Type: 0
     }
     { [-]
       ID: jc3@a830edad9050849NDA3079.onmicrosoft.com               /** -----  user_id
       Type: 5
     }
     { [-]
       ID: 10030000AEF912F2
       Type: 3
     }
   ]
   ActorContextId: 2ed28a74-1f6f-4829-8530-fe359c77d35c
   ActorIpAddress: 13.67.186.66
   ApplicationId: 00000002-0000-0ff1-ce00-000000000000
   AzureActiveDirectoryEventType: 1
   ClientIP: 13.67.186.66                                            /** -----  src_ip,  src
   CreationTime: 2020-02-27T07:46:00
   ExtendedProperties: [ [-]
     { [-]
       Name: UserAgent                                               /** -----  user_agent
       Value: python-requests/2.12.4
     }
     { [-]
       Name: RequestType
       Value: OrgIdWsTrust2:process
     }
     { [-]
       Name: ResultStatusDetail
       Value: UserError
     }
   ]
   Id: 8498834c-4ca4-4300-9351-099f917bd2e7
   InterSystemsId: 3f3bd815-8d38-48c8-aa71-445216d908de
   IntraSystemId: c3b22bc6-14c4-4b41-9aee-f4fb7f1e1000
   LogonError: InvalidUserNameOrPassword                              /** -----  reason
   ModifiedProperties: [ [-]
   ]
   ObjectId: Unknown
   Operation: UserLoginFailed                                         /** -----  signature
   OrganizationId: 2ed28a74-1f6f-4829-8530-fe359c77d35c               /** -----  vendor_account
   RecordType: 15
   ResultStatus: Failed                                               /** -----  action
   SupportTicketId:
   Target: [ [-]
     { [-]
       ID: Unknown
       Type: 0
     }
   ]
   TargetContextId: 2ed28a74-1f6f-4829-8530-fe359c77d35c
   UserId: jc3@a830edad9050849NDA3079.onmicrosoft.com                  /** -----  user, user_id
   UserKey: 10030000AEF912F2@a830edad9050849NDA3079.onmicrosoft.com
   UserType: 0                                                         /** -----  user_type
   Version: 1
   Workload: AzureActiveDirectory                                      /** -----  app
}
AWS failure
A sample AWS failed user login follows:
Click expand or collapse to show or hide the example.
{
   additionalEventData: {
     LoginTo: https://console.aws.amazon.com/console/home?state=hashArgs%23&isauthcode=true
     MFAUsed: No                                               /** -----  authentication_method
     MobileVersion: No
   }
   awsRegion: us-east-1
   errorMessage: Failed authentication                         /** -----  reason
   eventID: 9c6005a8-def1-4075-a1b8-daba01c8150b
   eventName: ConsoleLogin                                     /** -----  signature
   eventSource: signin.amazonaws.com                           /** -----  app, dest
   eventTime: 2020-02-21T23:06:11Z
   eventType: AwsConsoleSignIn
   eventVersion: 1.05
   recipientAccountId: 772089552793
   requestParameters: null
   responseElements: {
     ConsoleLogin: Failure                                     /** -----  action
   }
   sourceIPAddress: 4.14.104.185                              /** -----  src
   userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36
    (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36     /** -----  user_agent
   userIdentity: {
     accessKeyId:
     accountId: 772089552793                                   /** -----  vendor_account
     principalId: AIDA3HRA7T6MUVQJRHPKV
     type: IAMUser                                             /** -----  user_type
     userName: example_user                                    /** -----  user_id
   }
}
Login failure field mapping
Using the login failure from GCP as a base sample, and comparing it to a similar event from MS o365 and AWS is a good way to see the similarities and differences per common CIM field names.
| User id example data | Provider field name | CIM field name | 
|---|---|---|
| User type example data | Provider field name | CIM field name | 
| App example data | Provider field name | CIM field name | 
| Action example data | Provider field name | CIM field name | 
| Signature example data | Provider field name | CIM field name | 
| Authentication method example data | Provider field name | CIM field name | 
| Vendor account example data | Provider field name | CIM field name | 
| Source example data | Provider field name | CIM field name | 
| Reason example data | Provider field name | CIM field name | 
| User agent data | Provider field name | CIM field name | 
| GCP 
                   | protoPayload.authenticationInfo.principalEmail | user_id | 
| MS o365 jc3@a830edad9050849NDA3079.onmicrosoft.com | UserId | user_id | 
| AWS 
                   | userIdentity.userName | user_id | 
| MS o365 0 | UserType | user_type | 
| AWS 
                   | userIdentity.type | user_type | 
| GCP 
                   | protoPayload.serviceName | app | 
| MS o365 AzureActiveDirectory | Workload | app | 
| AWS 
                   | eventSource | app | 
| GCP 
                   | severity | action | 
| MS o365 
                   | ResultStatus | action | 
| AWS 
                   | responseElements.ConsoleLogin | action | 
| GCP 
                   | protoPayload.methodName | signature | 
| MS o365 
                   | Operation | signature | 
| AWS 
                   | eventName | signature | 
| GCP 
                   | events.parameters.name.login_challenge_method | authentication_method | 
| AWS 
                   | additionalEventData.MFAUsed | authentication_method | 
| MS o365 
                   | OrganizationId | vendor_account | 
| AWS 
                   | userIdentity.accountId | vendor_account | 
| GCP 
                   | requestMetadata.callerIp | 
 | 
| MS o365 
                   | ClientIP | 
 | 
| AWS 
                   | sourceIPAddress | src | 
| GCP 
                   | event.parameter.multiStrValue | reason | 
| MS o365 
                   | LogonError | reason | 
| AWS 
                   | errorMessage | reason | 
| MS o365 
                   | UserAgent | user_agent | 
| AWS 
                   | userAgent | user_agent | 
Privilege escalation example
The privilege escalation event from AWS is a good way to see a common event and how a cloud provider maps to CIM data model field names.
Privilege escalations include scenarios such as when a user, app, or agent logs in with one set of privileges, and then assumes a new set of privileges (such as sudo su - or short-lived credentials for service accounts).
AWS privilege escalation
A sample AssumeRoleWithSAML follows:
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "SAMLUser",
        "principalId": "g4RD/xcF3dcnEghdegAhfaPo+ow=:example_user@aws.com",
        "userName": "example_user@aws.com",                 /** -----  src_user
        "identityProvider": "g4RD/xcF3dcnEghdegAhfaPo+ow="
    },
    "eventTime": "2020-03-02T20:25:30Z",
    "eventSource": "sts.amazonaws.com",                     /** -----  app, dest
    "eventName": "AssumeRoleWithSAML",                      /** -----  signature
    "awsRegion": "us-east-1",
    "sourceIPAddress": "12.26.0.2",
    "userAgent": "aws-sdk-go/2.0.0-preview.2 (go1.9.6; darwin; amd64)",
    "requestParameters": {
        "sAMLAssertionID": "id29525874074479896480891647",
        "roleSessionName": "example_user@aws.com",
        "durationSeconds": 43200,
        "roleArn": "arn:aws:iam::671568874969:role/splunkcloud_account_metadata_read",
        "principalArn": "arn:aws:iam::671568874969:saml-provider/SplunkcloudOkta"
    },
    "responseElements": {
        "subjectType": "unspecified",
        "issuer": "http://www.okta.com/exksfwc0mwQGJQoJ62p6",
        "credentials": {
            "accessKeyId": "ASIAZYXE7ZXMXCVFRGMO",
            "expiration": "Mar 3, 2020 8:25:30 AM",
            "sessionToken": "FwoGZXIvYXdzEG4aDKrC390jc4wlJW7kpyLnAWpYPA0uT1YdeIogg1iol1J0mdHQkIy1QmETyBa8o8KWXP7ptMeilV1UiPmtPQppTu0iXsMOpUM25WOaPioornDWpHwY3ieOhJl1gVODA9cjlLu3pH8j9q4nFXxelkhieBdguExhUslmDSmGLoI94IPOn27bISDZW8vRJwnj9/7WupIM6g4zOOipstGNbWfgTE4/6fkc4HRxdrfS5c1c7ijFxfSaCoT134vhEA1xxhrKLn896ydbFuiIcxsYggDBe886NHKY+DNq1aYPKEiTrJKfWDLLs97sq0ZTi79fOW7arjtNccyKqyi61/XyBTIrZFsRcfIx6xpsS7cOszFx9wNIBJY8X4BjYCXx7QiCZW3pcKAIYbOcBLavSg=="
        },
        "nameQualifier": "g4RD/xcF3dcnEghdegAhfaPo+ow=",
        "assumedRoleUser": {
            "assumedRoleId": "AROAIDCBHGVCTRIEIG2X2:example_user@aws.com",
            "arn": "arn:aws:sts::671568874969:assumed-role/splunkcloud_account_metadata_read/example_user@aws.com"  /** -----  user
        },
        "subject": "example_user@aws.com",
        "audience": "https://signin.aws.amazon.com/saml"
    },
    "requestID": "7c7ac23a-fc2d-4c76-976e-8e2b40073d7d",
    "eventID": "84dd288a-bdc0-4708-ad61-cde4f45dcc64",
    "resources": [
        {
            "ARN": "arn:aws:iam::671568874969:role/splunkcloud_account_metadata_read",
            "accountId": "671568874969",
            "type": "AWS::IAM::Role"
        },
        {
            "ARN": "arn:aws:iam::671568874969:saml-provider/SplunkcloudOkta",
            "accountId": "671568874969",
            "type": "AWS::IAM::SAMLProvider"
        }
    ],
    "eventType": "AwsApiCall",
    "recipientAccountId": "671568874969"
}     
GCP short-lived credentials
A sample GCP short-lived credentials follows:
{
  "logName": "projects/my-project/logs/cloudaudit.googleapis.com%2Fdata_access",
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "authenticationInfo": {
      "principalEmail": "example_user@gmail.com"                            /** -----  src_user
    },
    "methodName": "GenerateAccessToken",                                    /** -----  signature
    "request": {
      "@type": "type.googleapis.com/google.iam.credentials.v1.GenerateAccessTokenRequest",
      "name": "projects/-/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com"
    },
    "serviceName": "iamcredentials.googleapis.com"                          /** -----  app, dest
  },
  "resource": {
    "labels": {
      "email_id": "my-service-account@my-project.iam.gserviceaccount.com",  /** -----  user
      "project_id": "my-project",                                           /** -----  vendor_account
      "unique_id": "123456789012345678901"
    },
    "type": "service_account"
  }
}
Privilege escalation field mapping
Using the privilege escalation from AWS as a base sample is a good way to see the similarities and differences per common CIM field names.
| Vendor account example data | Provider field name | CIM field name | 
|---|---|---|
| Source user example data | Provider field name | CIM field name | 
| App, dest example data | Provider field name | CIM field name | 
| Signature example data | Provider field name | CIM field name | 
| User example data | Provider field name | CIM field name | 
| AWS 
                   | userIdentity.accountId | vendor_account | 
| GCP 
                   | resource.labels.project_id | vendor_account | 
| AWS 
                   | userIdentity.userName | src_user | 
| GCP 
                   | protoPayload.authenticationInfo.principalEmail | src_user | 
| AWS 
                   | eventSource | app, dest | 
| GCP 
                   | protoPayload.serviceName | app, dest | 
| AWS 
                   | eventName | signature | 
| GCP 
                   | protoPayload.methodName | signature | 
| AWS 
                   | assumedRoleUser.arn | user | 
| GCP 
                   | resource.labels.email_id | user |