Registro de llamadas a la API de AWS Lake Formation mediante AWS CloudTrail - AWS Lake Formation

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Registro de llamadas a la API de AWS Lake Formation mediante AWS CloudTrail

AWS Lake Formation se integra con AWS CloudTrail, un servicio que proporciona un registro de las acciones que efectúa un usuario, rol o servicio de AWS en Lake Formation. CloudTrail captura las llamadas a la API de Lake Formation como eventos. Las llamadas capturadas incluyen las efectuadas desde la consola de Lake Formation, las AWS Command Line Interface, y las llamadas de código a las acciones de la API de Lake Formation. Si crea un registro de seguimiento, puede habilitar la entrega continua de eventos de CloudTrail a un bucket de Amazon S3, incluidos los eventos para Lake Formation. Si no configura un registro de seguimiento, puede ver los eventos más recientes de la consola de CloudTrail en el Event history (Historial de eventos). Con la información recopilada por CloudTrail, puede determinar la solicitud que se hizo a Lake Formation, la dirección IP desde la que se hizo, quién y cuándo la hizo, entre otros datos.

Para obtener más información acerca de CloudTrail, consulte la Guía del usuario de AWS CloudTrail.

Información de Lake Formation en CloudTrail

CloudTrail se habilita de forma predeterminada cuando crea una cuenta nueva de AWS. Cuando se produce una actividad en Lake Formation, esta se registra en un evento de CloudTrail junto con los eventos de los demás servicios de AWS en el Historial de eventos. Un evento representa una solicitud específica realizada desde una fuente y contiene información sobre la acción solicitada, la fecha y la hora de la acción y los parámetros de la solicitud. Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad del usuario le ayuda a determinar lo siguiente:

  • Si la solicitud se realizó con credenciales de usuario de AWS Identity and Access Management (IAM) o credenciales de usuario raíz.

  • Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.

  • Si la solicitud la realizó otro servicio de AWS.

Para obtener más información, consulte Elemento userIdentity de CloudTrail.

Puede ver, buscar y descargar los últimos eventos de su cuenta de AWS. Para más información, consulte Visualización de eventos con el historial de eventos de CloudTrail.

Para mantener un registro continuo de eventos en la cuenta de AWS, incluidos los eventos de Lake Formation, cree un registro de seguimiento. Un registro de seguimiento permite a CloudTrail enviar archivos de registro a un bucket de Amazon S3. De forma predeterminada, cuando se crea un registro de seguimiento en la consola, este se aplica a todas las regiones de AWS. El registro de seguimiento registra los eventos de todas las regiones de la partición de AWS y envía los archivos de registro al bucket de Amazon S3 especificado. También es posible configurar otros servicios de AWS, como Amazon Athena, para analizar en profundidad y actuar según los datos de eventos recopilados en los registros de CloudTrail. CloudTrail también puede enviar archivos de registro a registros de Amazon CloudWatch y eventos de CloudWatch.

Para más información, consulte los siguientes temas:

Descripción de los eventos de Lake Formation

CloudTrail registra todas las acciones de la API de Lake Formation, que se documentan en la Guía para desarrolladores de AWS Lake Formation. Por ejemplo, las llamadas a las acciones PutDataLakeSettings, GrantPermissions y RevokePermissions generan entradas en los archivos de log de CloudTrail.

En el ejemplo siguiente se muestra una entrada de registro de CloudTrail para la acción GrantPermissions. La entrada incluye el usuario que concedió el permiso (datalake_admin), la entidad principal a la que se concedió el permiso (datalake_user1) y el permiso que se concedió (CREATE_TABLE). La entrada también muestra que la concesión ha fallado porque la base de datos de destino no estaba especificada en el argumento de resource.

{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIDAZKE67KM3P775X74U2", "arn": "arn:aws:iam::111122223333:user/datalake_admin", "accountId": "111122223333", "accessKeyId": "...", "userName": "datalake_admin" }, "eventTime": "2021-02-06T00:43:21Z", "eventSource": "lakeformation.amazonaws.com", "eventName": "GrantPermissions", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.198.65", "userAgent": "aws-cli/1.19.0 Python/3.6.12 Linux/4.9.230-0.1.ac.223.84.332.metal1.x86_64 botocore/1.20.0", "errorCode": "InvalidInputException", "errorMessage": "Resource must have one of the have either the catalog, table or database field populated.", "requestParameters": { "principal": { "dataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1" }, "resource": {}, "permissions": [ "CREATE_TABLE" ] }, "responseElements": null, "requestID": "b85e863f-e75d-4fc0-9ff0-97f943f706e7", "eventID": "8d2ccef0-55f3-42d3-9ede-3a6faedaa5c1", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }

En el ejemplo siguiente se muestra una entrada de registro de CloudTrail para la acción GetDataAccess. Las entidades principales no llaman directamente a esta API. En vez de eso, se registra GetDataAccess cuando una entidad principal o servicio de AWS integrado solicita credenciales temporales para acceder a los datos en una ubicación de lago de datos registrada con Lake Formation.

{ "eventVersion": "1.05", "userIdentity": { "type": "AWSAccount", "principalId": "AROAQGFTBBBGOBWV2EMZA:GlueJobRunnerSession", "accountId": "111122223333" }, "eventSource": "lakeformation.amazonaws.com", "eventName": "GetDataAccess", ... ... "additionalEventData": { "requesterService": "GLUE_JOB", "lakeFormationPrincipal": "arn:aws:iam::111122223333:role/ETL-Glue-Role", "lakeFormationRoleSessionName": "AWSLF-00-GL-111122223333-G13T0Rmng2" }, ... }
Supervisión del acceso a los catálogos federados de Amazon Redshift

Los catálogos federados de Amazon Redshift en el AWS Glue Data Catalog no generan eventos GetDataAccess en los registros de CloudTrail de Lake Formation. Para realizar un seguimiento del acceso a los datos de las tablas de Amazon Redshift en el Catálogo de datos, supervise los eventos GetTable y BatchGetTable, que capturan los patrones de acceso a los metadatos de las tablas federadas de Redshift, incluidos el nombre de la tabla, el nombre de la base de datos y la información del ID del catálogo.