Registrar em log chamadas de API do AWS Lake Formation usando o 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á.

Registrar em log chamadas de API do AWS Lake Formation usando o AWS CloudTrail

O AWS Lake Formation é integrado ao AWS CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, perfil ou serviço da AWS no Lake Formation. O CloudTrail captura todas as chamadas de API do Lake Formation como eventos. Os chamados capturados incluem chamados do console do Lake Formation, a AWS Command Line Interface e chamados de código para as ações da API do Lake Formation. Se você criar uma trilha, poderá ativar a entrega contínua de eventos do CloudTrail em um bucket do Amazon S3, incluindo eventos para o Lake Formation. Se você não configurar uma trilha, ainda poderá visualizar os eventos mais recentes no console do CloudTrail em Histórico de eventos. Ao usar as informações coletadas pelo CloudTrail, é possível determinar a solicitação feita ao Lake Formation, o endereço IP a partir do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e outros detalhes.

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

Informações sobre o Lake Formation no CloudTrail

O CloudTrail é habilitado por padrão quando você cria uma nova conta da AWS. Quando ocorre uma atividade no Lake Formation, essa atividade é registrada como um evento do CloudTrail junto com outros eventos do serviço AWS 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 o seguinte:

  • Se a solicitação foi feita com credenciais de usuário-raiz ou usuário do 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 Elemento userIdentity do CloudTrail.

Você pode visualizar, pesquisar e fazer download de eventos recentes para a sua conta da AWS. Para obter mais informações, consulte Como visualizar eventos com o histórico de eventos do CloudTrail.

Para obter um registro contínuo de eventos na sua conta da AWS, incluindo eventos para Lake Formation, crie uma trilha. Uma trilha permite que o CloudTrail entregue arquivos de log a 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 em log eventos de todas as regiões na partição da AWS e entrega os arquivos de log para o bucket do Amazon S3 especificado por você. Além disso, você pode configurar outros serviços da AWS, como o Amazon Athena, para analisar e agir com base nos dados de eventos coletados nos logs do CloudTrail. O CloudTrail também pode entregar arquivos de log para o Amazon CloudWatch Logs e o CloudWatch Events.

Para obter mais informações, consulte:

Noções básicas de eventos do Lake Formation

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

O exemplo a seguir mostra um evento do CloudTrail para a ação GrantPermissions. 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" }

Este exemplo mostra uma entrada de log do CloudTrail para a ação GetDataAccess. As entidades principais não chamam essa API diretamente. Em vez disso, GetDataAccess é registrado sempre que uma entidade principal ou serviço integrado da AWS 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" }, ... }
Monitoramento do acesso ao catálogo federado do Amazon Redshift

Os catálogos federados do Amazon Redshift no AWS Glue Data Catalog não geram eventos GetDataAccess em logs do CloudTrail do Lake Formation. Para acompanhar às tabelas do Amazon Redshift no Data Catalog, monitore eventos GetTable e BatchGetTable, que capturam padrões de acesso a metadados para tabelas federadas do Redshift, incluindo nome da tabela, nome do banco de dados e informações de ID do catálogo.