Registrando chamadas da API AWS Lake Formation usando AWS CloudTrail - AWS Lake Formation

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Registrando chamadas da API AWS Lake Formation usando AWS CloudTrail

AWS O Lake Formation é integrado com AWS CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, função ou AWS serviço no Lake Formation. CloudTrail captura todas as chamadas da API Lake Formation como eventos. As chamadas capturadas incluem chamadas do console do Lake Formation AWS Command Line Interface, do e chamadas de código para as ações da API do Lake Formation. Se você criar uma trilha, poderá permitir a entrega contínua de CloudTrail eventos para um bucket do Amazon S3, incluindo eventos para Lake Formation. Se você não configurar uma trilha, ainda poderá ver os eventos mais recentes no CloudTrail console no Histórico de eventos. Usando as informações coletadas por CloudTrail, você pode determinar a solicitação feita ao Lake Formation, o endereço IP do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e detalhes adicionais.

Para saber mais CloudTrail, consulte o Guia AWS CloudTrail do usuário.

Informações sobre Lake Formation em CloudTrail

CloudTrail é ativado por padrão quando você cria uma nova AWS conta. Quando a atividade ocorre no Lake Formation, essa atividade é registrada como um CloudTrail evento junto com outros eventos AWS de serviço no histórico de eventos. Um evento representa uma única solicitação de qualquer origem e inclui informações sobre a ação solicitada, a data e a hora da ação e os parâmetros de solicitação. Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar:

  • Se a solicitação foi feita com credenciais de usuário root ou AWS Identity and Access Management (IAM).

  • Se a solicitação foi feita com credenciais de segurança temporárias de um perfil ou de um usuário federado.

  • Se a solicitação foi feita por outro AWS serviço.

Para obter mais informações, consulte o elemento CloudTrail userIdentity.

Você pode visualizar, pesquisar e baixar eventos recentes para sua AWS conta. Para obter mais informações, consulte Visualização de eventos com histórico de CloudTrail eventos.

Para um registro contínuo dos eventos em sua AWS conta, incluindo eventos do Lake Formation, crie uma trilha. Uma trilha permite CloudTrail entregar arquivos de log para um bucket do Amazon S3. Por padrão, quando você cria uma trilha no console, ela é aplicada a todas as regiões do AWS . A trilha registra eventos de todas as regiões na AWS partição e entrega os arquivos de log ao bucket do Amazon S3 que você especificar. Além disso, você pode configurar outros AWS serviços, como Amazon Athena, para analisar e agir com base nos dados de eventos coletados nos CloudTrail registros. CloudTrail também pode entregar arquivos de log para Amazon CloudWatch Logs and CloudWatch Events.

Para mais informações, consulte:

Como compreender os eventos do Lake Formation

Todas as ações da API Lake Formation são registradas CloudTrail e documentadas no Guia do AWS Lake Formation Desenvolvedor. Por exemplo, chamadas para as RevokePermissions ações PutDataLakeSettingsGrantPermissions, e geram entradas nos arquivos de CloudTrail log.

O exemplo a seguir mostra um CloudTrail evento para a GrantPermissions ação. A entrada inclui o usuário que concedeu a permissão (datalake_admin), a entidade principal à qual a permissão foi concedida (datalake_user1) e a permissão que foi concedida (CREATE_TABLE). A entrada também mostra que a concessão falhou porque o banco de dados de destino não foi especificado no argumento 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" }

O próximo exemplo mostra uma entrada de CloudTrail registro para a GetDataAccess ação. As entidades principais não chamam essa API diretamente. Em vez disso, GetDataAccess é registrado sempre que um AWS serviço principal ou integrado solicita credenciais temporárias para acessar dados em um local de data lake registrado no 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" }, ... }