Lake Formation CloudTrail Events¶
When an integrated analytics engine needs to read a Lake Formation–governed table or data location, it calls Lake Formation's GetDataAccess API. Lake Formation evaluates the request against the grants you have defined and, if the request is authorized, vends short-lived credentials scoped to the resource. Every one of these calls is recorded in AWS CloudTrail as a GetDataAccess event with eventSource: lakeformation.amazonaws.com.
GetDataAccess is a read-only management event (readOnly: true, managementEvent: true). It is the authoritative record of who was authorized to access what, through which engine — the starting point for any Lake Formation audit trail. See the Lake Formation CloudTrail documentation for how to enable and locate these events.
About the examples on this page
All events below are sanitized samples. Real values have been replaced with placeholders so nothing sensitive is exposed:
| Real value | Placeholder used |
|---|---|
| AWS account ID | 111122223333 |
| S3 bucket name | amzn-s3-demo-bucket |
Access key ID (accessKeyId) |
AKIAIOSFODNN7EXAMPLE |
Principal IDs (AROA…) and session suffixes |
short example values |
Request / event IDs, x-amz-id-2 |
example UUIDs |
| Query IDs, authorization IDs, table IDs, cluster IDs | example values |
| Customer IP addresses | 203.0.113.10 (from the documentation range) |
Engine and service identifiers — sourceIPAddress service endpoints (for example athena.amazonaws.com), platformType, and requesterService — are kept as-is, because they are documented, non-sensitive, and are exactly the fields you use to identify the calling engine.
Example events per engine¶
Each integrated engine emits the same GetDataAccess event shape. The differences that matter for auditing are in a handful of fields — the calling identity, the engine signature, and the requested resource — covered in the field reference below.
Amazon EMR Serverless — Full Table Access¶
In Full Table Access (FTA) mode the request carries a tableArn with no cell-filtering metadata. requesterService is UNKNOWN and the engine is identified from sourceIPAddress / userAgent and the platformType inside additionalAuditContext.
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAEXAMPLEEMRS:00exampleJob1,00exampleAttempt1",
"arn": "arn:aws:sts::111122223333:assumed-role/EmrServerlessRuntimeRole/00exampleJob1,00exampleAttempt1",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAEXAMPLEEMRS",
"arn": "arn:aws:iam::111122223333:role/EmrServerlessRuntimeRole",
"accountId": "111122223333",
"userName": "EmrServerlessRuntimeRole"
},
"attributes": {
"creationDate": "2026-07-01T22:35:24Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "ops.emr-serverless.amazonaws.com"
},
"eventTime": "2026-07-01T22:36:08Z",
"eventSource": "lakeformation.amazonaws.com",
"eventName": "GetDataAccess",
"awsRegion": "us-east-2",
"sourceIPAddress": "ops.emr-serverless.amazonaws.com",
"userAgent": "ops.emr-serverless.amazonaws.com",
"requestParameters": {
"tableArn": "arn:aws:glue:us-east-2:111122223333:table/flights/flights_local",
"auditContext": {
"additionalAuditContext": "{\"platformType\":\"EMR_SERVERLESS\",\"jobIdentifier\":\"00exampleJob1/00exampleAttempt1\"}"
}
},
"responseElements": null,
"additionalEventData": {
"requesterService": "UNKNOWN",
"LakeFormationTrustedCallerInvocation": "true",
"lakeFormationPrincipal": "arn:aws:iam::111122223333:role/EmrServerlessRuntimeRole",
"lakeFormationRoleSessionName": "AWSLF-00-NA-111122223333-EXAMPLE01"
},
"requestID": "aaaaaaaa-1111-2222-3333-444444444444",
"eventID": "bbbbbbbb-1111-2222-3333-555555555555",
"readOnly": true,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "cccccccc-1111-2222-3333-666666666666",
"vpcEndpointId": "emr-serverless.amazonaws.com",
"vpcEndpointAccountId": "emr-serverless.amazonaws.com",
"eventCategory": "Management"
}
Amazon EMR Serverless — Fine-Grained Access Control¶
In Fine-Grained Access Control (FGAC) mode the request adds permissions (for example SELECT), supportedPermissionTypes: ["CELL_FILTER_PERMISSION"], and a querySessionContext. requesterService is populated (EMRSERVERLESS).
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAEXAMPLEFGAC:00exampleJob2,00exampleAttempt2",
"arn": "arn:aws:sts::111122223333:assumed-role/EmrServerlessRuntimeRole-LF-FGAC/00exampleJob2,00exampleAttempt2",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAEXAMPLEFGAC",
"arn": "arn:aws:iam::111122223333:role/EmrServerlessRuntimeRole-LF-FGAC",
"accountId": "111122223333",
"userName": "EmrServerlessRuntimeRole-LF-FGAC"
},
"attributes": {
"creationDate": "2026-07-02T14:39:26Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "ops.emr-serverless.amazonaws.com"
},
"eventTime": "2026-07-02T14:41:04Z",
"eventSource": "lakeformation.amazonaws.com",
"eventName": "GetDataAccess",
"awsRegion": "us-east-2",
"sourceIPAddress": "ops.emr-serverless.amazonaws.com",
"userAgent": "ops.emr-serverless.amazonaws.com",
"requestParameters": {
"tableArn": "arn:aws:glue:us-east-2:111122223333:table/flights/flights_local",
"permissions": ["SELECT"],
"auditContext": {
"additionalAuditContext": "{\"platformType\":\"EMR_SERVERLESS\",\"jobIdentifier\":\"00exampleJob2/00exampleAttempt2\"}"
},
"supportedPermissionTypes": ["CELL_FILTER_PERMISSION"],
"querySessionContext": {
"queryId": "11111111-2222-3333-4444-555555555555",
"queryStartTime": "Jul 2, 2026 2:41:00 PM",
"queryAuthorizationId": "EXAMPLEQUERYAUTHID01"
}
},
"responseElements": null,
"additionalEventData": {
"requesterService": "EMRSERVERLESS",
"LakeFormationTrustedCallerInvocation": "true",
"lakeFormationPrincipal": "arn:aws:iam::111122223333:role/EmrServerlessRuntimeRole-LF-FGAC",
"lakeFormationRoleSessionName": "AWSLF-00-NA-111122223333-EXAMPLE02"
},
"requestID": "dddddddd-1111-2222-3333-777777777777",
"eventID": "eeeeeeee-1111-2222-3333-888888888888",
"readOnly": true,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "ffffffff-1111-2222-3333-999999999999",
"vpcEndpointId": "emr-serverless.amazonaws.com",
"vpcEndpointAccountId": "emr-serverless.amazonaws.com",
"eventCategory": "Management"
}
Amazon EMR on EC2 — Full Table Access¶
The GetDataAccess event for a Full Table Access read on EMR on EC2 is structurally identical to the EMR Serverless FTA example above — a tableArn request with no cell-filtering metadata and requesterService: UNKNOWN. The distinguishing fields are the runtime role ARN and platformType: EMR_ON_EC2 inside additionalAuditContext (see the FGAC example below for the EMR-on-EC2 identity and engine signature).
Amazon EMR on EC2 — Fine-Grained Access Control¶
EMR on EC2 calls Lake Formation directly, so sourceIPAddress is the cluster's IP and userAgent is an AWS SDK string (rather than a service endpoint). FGAC access tagged by EMR also carries LakeFormationAuthorizedSessionTag: "LakeFormationAuthorizedCaller:Amazon EMR".
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAEXAMPLEEC2:5000",
"arn": "arn:aws:sts::111122223333:assumed-role/human-resource-runtime-role/5000",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAEXAMPLEEC2",
"arn": "arn:aws:iam::111122223333:role/human-resource-runtime-role",
"accountId": "111122223333",
"userName": "human-resource-runtime-role"
},
"attributes": {
"creationDate": "2026-07-08T17:01:19Z",
"mfaAuthenticated": "false"
}
}
},
"eventTime": "2026-07-08T17:02:35Z",
"eventSource": "lakeformation.amazonaws.com",
"eventName": "GetDataAccess",
"awsRegion": "us-east-2",
"sourceIPAddress": "203.0.113.10",
"userAgent": "aws-sdk-java/2.42.12 md/io#sync md/http#Apache ua/2.1 api/LakeFormation#2.42.x os/Linux lang/java#17.0.19 md/vendor#Amazon.com_Inc.",
"requestParameters": {
"tableArn": "arn:aws:glue:us-east-2:111122223333:table/flights/flights_local",
"permissions": ["SELECT"],
"auditContext": {
"additionalAuditContext": "{\"platformType\":\"EMR_ON_EC2\",\"jobIdentifier\":\"j-EXAMPLECLUSTER/application_1234567890123_0001\"}"
},
"supportedPermissionTypes": ["CELL_FILTER_PERMISSION"],
"querySessionContext": {
"queryId": "22222222-3333-4444-5555-666666666666",
"queryStartTime": "Jul 8, 2026 5:02:34 PM",
"queryAuthorizationId": "EXAMPLEQUERYAUTHID02"
}
},
"responseElements": null,
"additionalEventData": {
"requesterService": "UNKNOWN",
"LakeFormationAuthorizedSessionTag": "LakeFormationAuthorizedCaller:Amazon EMR",
"LakeFormationTrustedCallerInvocation": "true",
"lakeFormationPrincipal": "arn:aws:iam::111122223333:role/human-resource-runtime-role",
"lakeFormationRoleSessionName": "AWSLF-00-NA-111122223333-EXAMPLE03"
},
"requestID": "12341234-1111-2222-3333-123412341234",
"eventID": "56785678-1111-2222-3333-567856785678",
"readOnly": true,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"eventCategory": "Management",
"tlsDetails": {
"tlsVersion": "TLSv1.3",
"cipherSuite": "TLS_AES_128_GCM_SHA256",
"clientProvidedHostHeader": "lakeformation.us-east-2.amazonaws.com"
}
}
Amazon Athena (engine v3) — Fine-Grained Access Control¶
Athena queries FGAC-enabled tables through Lake Formation; Full Table Access is not supported. Athena events set requesterService: ATHENA, cellLevelSecurityEnforced: true, and an expectedTableId, and carry the Athena queryId in additionalAuditContext.
Unlike the other engines, Athena writes additionalAuditContext as a loosely-formatted string ({queryId: <id>}) rather than escaped JSON, so json_extract_scalar does not parse it — treat it as an opaque string when querying.
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAEXAMPLEADMIN:admin-session",
"arn": "arn:aws:sts::111122223333:assumed-role/Admin/admin-session",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAEXAMPLEADMIN",
"arn": "arn:aws:iam::111122223333:role/Admin",
"accountId": "111122223333",
"userName": "Admin"
},
"attributes": {
"creationDate": "2026-07-01T20:43:33Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "athena.amazonaws.com"
},
"eventTime": "2026-07-01T21:01:47Z",
"eventSource": "lakeformation.amazonaws.com",
"eventName": "GetDataAccess",
"awsRegion": "us-east-2",
"sourceIPAddress": "athena.amazonaws.com",
"userAgent": "athena.amazonaws.com",
"requestParameters": {
"tableArn": "arn:aws:glue:us-east-2:111122223333:table/flights/flights_local",
"permissions": ["SELECT"],
"auditContext": {
"additionalAuditContext": "{queryId: 33333333-4444-5555-6666-777777777777}"
},
"cellLevelSecurityEnforced": true,
"expectedTableId": "EXAMPLETABLEID0000000000000000"
},
"responseElements": null,
"additionalEventData": {
"requesterService": "ATHENA",
"LakeFormationTrustedCallerInvocation": "true",
"lakeFormationPrincipal": "arn:aws:iam::111122223333:role/Admin",
"lakeFormationRoleSessionName": "AWSLF-00-AT-111122223333-EXAMPLE04"
},
"requestID": "43214321-1111-2222-3333-432143214321",
"eventID": "87658765-1111-2222-3333-876587658765",
"readOnly": true,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"eventCategory": "Management"
}
AWS Glue ETL — Fine-Grained Access Control¶
Glue ETL jobs (Glue 5.1+) access FGAC tables through Lake Formation with platformType: GLUE_ETL. As with EMR Serverless, requesterService is UNKNOWN and the engine is identified from sourceIPAddress / userAgent (glue.amazonaws.com) and platformType.
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAEXAMPLEGLUE:GlueJobRunnerSession",
"arn": "arn:aws:sts::111122223333:assumed-role/GlueServiceRole-NoS3/GlueJobRunnerSession",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAEXAMPLEGLUE",
"arn": "arn:aws:iam::111122223333:role/GlueServiceRole-NoS3",
"accountId": "111122223333",
"userName": "GlueServiceRole-NoS3"
},
"attributes": {
"creationDate": "2026-07-09T17:20:10Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "glue.amazonaws.com"
},
"eventTime": "2026-07-09T17:24:08Z",
"eventSource": "lakeformation.amazonaws.com",
"eventName": "GetDataAccess",
"awsRegion": "us-east-2",
"sourceIPAddress": "glue.amazonaws.com",
"userAgent": "glue.amazonaws.com",
"requestParameters": {
"tableArn": "arn:aws:glue:us-east-2:111122223333:table/flights/flights_local",
"permissions": ["SELECT"],
"auditContext": {
"additionalAuditContext": "{\"platformType\":\"GLUE_ETL\",\"jobIdentifier\":\"EXAMPLE-glue-job-run-id/\"}"
},
"supportedPermissionTypes": ["CELL_FILTER_PERMISSION"],
"querySessionContext": {
"queryId": "44444444-5555-6666-7777-888888888888",
"queryStartTime": "Jul 9, 2026 5:24:05 PM",
"queryAuthorizationId": "EXAMPLEQUERYAUTHID03"
}
},
"responseElements": null,
"additionalEventData": {
"requesterService": "UNKNOWN",
"LakeFormationTrustedCallerInvocation": "true",
"lakeFormationPrincipal": "arn:aws:iam::111122223333:role/GlueServiceRole-NoS3",
"lakeFormationRoleSessionName": "AWSLF-00-NA-111122223333-EXAMPLE05"
},
"requestID": "9a9a9a9a-1111-2222-3333-9a9a9a9a9a9a",
"eventID": "9b9b9b9b-1111-2222-3333-9b9b9b9b9b9b",
"readOnly": true,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"eventCategory": "Management"
}
Amazon Redshift (provisioned)¶
Redshift Spectrum requests carry durationSeconds, cellLevelSecurityEnforced, and expectedTableId (no platformType). requesterService is REDSHIFT, and console-driven sessions include sessionCredentialFromConsole: "true".
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAEXAMPLEADMIN:admin-session",
"arn": "arn:aws:sts::111122223333:assumed-role/Admin/admin-session",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAEXAMPLEADMIN",
"arn": "arn:aws:iam::111122223333:role/Admin",
"accountId": "111122223333",
"userName": "Admin"
},
"attributes": {
"creationDate": "2026-07-08T15:12:27Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "redshift.amazonaws.com"
},
"eventTime": "2026-07-08T22:01:13Z",
"eventSource": "lakeformation.amazonaws.com",
"eventName": "GetDataAccess",
"awsRegion": "us-east-2",
"sourceIPAddress": "redshift.amazonaws.com",
"userAgent": "redshift.amazonaws.com",
"requestParameters": {
"tableArn": "arn:aws:glue:us-east-2:111122223333:table/flights/flights_local",
"durationSeconds": 3600,
"cellLevelSecurityEnforced": true,
"expectedTableId": "EXAMPLETABLEID0000000000000000"
},
"responseElements": null,
"additionalEventData": {
"requesterService": "REDSHIFT",
"LakeFormationTrustedCallerInvocation": "true",
"lakeFormationPrincipal": "arn:aws:iam::111122223333:role/Admin",
"lakeFormationRoleSessionName": "AWSLF-00-RE-111122223333-EXAMPLE06"
},
"requestID": "5c5c5c5c-1111-2222-3333-5c5c5c5c5c5c",
"eventID": "5d5d5d5d-1111-2222-3333-5d5d5d5d5d5d",
"readOnly": true,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"eventCategory": "Management",
"sessionCredentialFromConsole": "true"
}
Amazon Redshift Serverless¶
Redshift Serverless is identified by sourceIPAddress / userAgent of redshift-serverless.amazonaws.com. Its additionalAuditContext embeds the invoking Redshift database user rather than a platformType.
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAEXAMPLEADMIN:admin-session",
"arn": "arn:aws:sts::111122223333:assumed-role/Admin/admin-session",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAEXAMPLEADMIN",
"arn": "arn:aws:iam::111122223333:role/Admin",
"accountId": "111122223333",
"userName": "Admin"
},
"attributes": {
"creationDate": "2026-07-08T15:12:27Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "redshift-serverless.amazonaws.com"
},
"eventTime": "2026-07-08T21:19:12Z",
"eventSource": "lakeformation.amazonaws.com",
"eventName": "GetDataAccess",
"awsRegion": "us-east-2",
"sourceIPAddress": "redshift-serverless.amazonaws.com",
"userAgent": "redshift-serverless.amazonaws.com",
"requestParameters": {
"tableArn": "arn:aws:glue:us-east-2:111122223333:table/flights/flights_local",
"durationSeconds": 3600,
"auditContext": {
"additionalAuditContext": "{\"invokedBy\":\"arn:aws:redshift:us-east-2:111122223333:dbuser:serverless-111122223333-EXAMPLE/IAMR:Admin\",\"transactionId\":\"3309\",\"queryId\":\"NULL\",\"isConcurrencyScalingQuery\":\"false\"}"
},
"cellLevelSecurityEnforced": true,
"expectedTableId": "EXAMPLETABLEID0000000000000000"
},
"responseElements": null,
"additionalEventData": {
"requesterService": "UNKNOWN",
"LakeFormationTrustedCallerInvocation": "true",
"lakeFormationPrincipal": "arn:aws:iam::111122223333:role/Admin",
"lakeFormationRoleSessionName": "AWSLF-00-RE-111122223333-EXAMPLE07"
},
"requestID": "5e5e5e5e-1111-2222-3333-5e5e5e5e5e5e",
"eventID": "5f5f5f5f-1111-2222-3333-5f5f5f5f5f5f",
"readOnly": true,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"eventCategory": "Management",
"sessionCredentialFromConsole": "true"
}
Field reference¶
The fields most useful for auditing fall into three groups: who made the request (identity), what engine made it (source/engine), and what they were authorized to access (resource).
Identity fields¶
| Field | What it tells you |
|---|---|
userIdentity.arn |
The assumed-role session ARN that called GetDataAccess (includes the session name suffix). |
userIdentity.sessionContext.sessionIssuer.arn |
The underlying IAM role — the stable identity to group activity by, regardless of session. |
additionalEventData.lakeFormationPrincipal |
The IAM principal Lake Formation evaluated grants against. This is the principal whose permissions authorized the access. |
additionalEventData.lakeFormationRoleSessionName |
The session name (for example AWSLF-00-AT-111122223333-EXAMPLE04) of the short-lived credential Lake Formation vends. This is the key that links a GetDataAccess event to the S3 object accesses that follow it — see Querying Audit Data. |
Source / engine fields¶
| Field | What it tells you |
|---|---|
sourceIPAddress / userAgent |
For managed engines these are a service endpoint (for example athena.amazonaws.com); for EMR on EC2 the source is the cluster IP and the agent is an AWS SDK string. |
additionalEventData.requesterService |
The calling service when populated (ATHENA, REDSHIFT, EMRSERVERLESS). Often UNKNOWN for EMR Serverless FTA, EMR on EC2, Glue ETL, and Redshift Serverless — fall back to the fields below. |
requestParameters.auditContext.additionalAuditContext.platformType |
The engine type where present (EMR_SERVERLESS, EMR_ON_EC2, GLUE_ETL). |
additionalAuditContext.jobIdentifier |
The job/application identifier of the caller — ties the access to a specific EMR or Glue job run. |
requestParameters.querySessionContext.queryId / queryAuthorizationId |
The engine's query identifiers, for correlating back to a specific query. |
Resource fields¶
| Field | What it tells you |
|---|---|
requestParameters.tableArn |
The Glue Data Catalog table being accessed (table-level request). |
requestParameters.dataLocations |
Present instead of tableArn when access is requested by S3 data location rather than by table. |
requestParameters.permissions |
The permissions being exercised, for example SELECT. |
requestParameters.supportedPermissionTypes |
Includes CELL_FILTER_PERMISSION when the request is subject to fine-grained (row/column/cell) filtering. |
requestParameters.cellLevelSecurityEnforced |
true when cell-level security was enforced for the access (seen from Athena and Redshift). |
Telling FTA, FGAC, and direct-S3 access apart¶
The resource fields also reveal which access mode was used:
- Fine-Grained Access Control (FGAC): the event carries
permissions(for example["SELECT"]) together withcellLevelSecurityEnforced: trueand/orsupportedPermissionTypes: ["CELL_FILTER_PERMISSION"], usually alongside a populatedrequesterServiceandquerySessionContext. - Full Table Access (FTA): the event has a
tableArn(withauditContext) but nopermissionsand no cell-filtering metadata;requesterServiceis typicallyUNKNOWN. - Access by data location (direct S3):
requestParameters.dataLocationsis present instead oftableArn. Note that these requests do not populatelakeFormationRoleSessionName, which limits how they can be correlated to S3 events (see the limitations in Querying Audit Data). - EMR-tagged FGAC access additionally carries
additionalEventData.LakeFormationAuthorizedSessionTag: "LakeFormationAuthorizedCaller:Amazon EMR".
Quick reference: identifying the engine¶
Use this table to identify which engine produced a GetDataAccess event from its signature fields.
| Engine | sourceIPAddress / userAgent |
platformType |
Other signals |
|---|---|---|---|
| EMR Serverless | ops.emr-serverless.amazonaws.com |
EMR_SERVERLESS |
requesterService UNKNOWN (FTA) or EMRSERVERLESS (FGAC) |
| EMR on EC2 | Cluster IP / aws-sdk-java/… |
EMR_ON_EC2 |
LakeFormationAuthorizedSessionTag: LakeFormationAuthorizedCaller:Amazon EMR |
| Athena (v3) | athena.amazonaws.com |
(none) | requesterService ATHENA; queryId in additionalAuditContext; FGAC only |
| Glue ETL | glue.amazonaws.com |
GLUE_ETL |
requesterService UNKNOWN |
| Redshift (provisioned) | redshift.amazonaws.com |
(none) | requesterService REDSHIFT; durationSeconds present |
| Redshift Serverless | redshift-serverless.amazonaws.com |
(none) | additionalAuditContext.invokedBy names the Redshift dbuser |
Caveats¶
Access-mode limitations on EMR and Glue
- Table access directly by S3 data location through Lake Formation is not supported when FGAC is enabled on EMR or Glue.