Appels d'API Logging AWS Lake Formation à l'aide de AWS CloudTrail - AWS Lake Formation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Appels d'API Logging AWS Lake Formation à l'aide de AWS CloudTrail

AWS Lake Formation est intégré à AWS CloudTrail un service qui fournit un enregistrement des actions entreprises par un utilisateur, un rôle ou un AWS service dans Lake Formation. CloudTrail capture tous les appels de l'API Lake Formation sous forme d'événements. Les appels capturés incluent les appels provenant de la console Lake Formation AWS Command Line Interface, les appels et les appels de code vers les actions de l'API Lake Formation. Si vous créez un suivi, vous pouvez activer la diffusion continue des CloudTrail événements vers un compartiment Amazon S3, y compris les événements relatifs à Lake Formation. Si vous ne configurez pas de suivi, vous pouvez toujours consulter les événements les plus récents dans la CloudTrail console dans Historique des événements. À l'aide des informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été faite à Lake Formation, l'adresse IP à partir de laquelle la demande a été faite, qui a fait la demande, quand elle a été faite et des détails supplémentaires.

Pour en savoir plus CloudTrail, consultez le guide de AWS CloudTrail l'utilisateur.

Informations sur la formation des lacs en CloudTrail

CloudTrail est activé par défaut lorsque vous créez un nouveau AWS compte. Lorsqu'une activité se produit dans Lake Formation, cette activité est enregistrée en tant qu' CloudTrail événement avec d'autres événements de AWS service dans l'historique des événements. Un événement représente une demande émise par une source et comprend des informations sur l'action demandée, la date et l'heure de l'action, et les paramètres de la demande. En outre, chaque événement ou entrée de journal contient des informations sur l'auteur de la demande. Les informations relatives à l’identité permettent de déterminer les éléments suivants :

  • Si la demande a été faite avec les informations d'identification de l'utilisateur root ou AWS Identity and Access Management (IAM).

  • Si la demande a été effectuée avec les informations d’identification de sécurité temporaires d’un rôle ou d’un utilisateur fédéré.

  • Si la demande a été faite par un autre AWS service.

Pour plus d'informations, consultez l'élément CloudTrail UserIdentity.

Vous pouvez consulter, rechercher et télécharger les événements récents pour votre AWS compte. Pour plus d'informations, consultez la section Affichage des événements à l'aide de l'historique des CloudTrail événements.

Pour un enregistrement continu des événements enregistrés sur votre AWS compte, y compris les événements liés à Lake Formation, créez un parcours. Un suivi permet CloudTrail de fournir des fichiers journaux à un compartiment Amazon S3. Par défaut, lorsque vous créez un journal de suivi dans la console, il s'applique à toutes les régions AWS . Le journal enregistre les événements de toutes les régions de la AWS partition et transmet les fichiers journaux au compartiment Amazon S3 que vous spécifiez. En outre, vous pouvez configurer d'autres AWS services, par exemple pour analyser plus en détail les données d'événements collectées dans les CloudTrail journaux et agir en conséquence. Amazon Athena CloudTrail peut également envoyer des fichiers journaux à Amazon CloudWatch Logs and CloudWatch Events.

Pour plus d’informations, consultez les ressources suivantes :

Comprendre les événements liés à la formation des lacs

Toutes les actions de l'API Lake Formation sont enregistrées CloudTrail et documentées dans le Guide du AWS Lake Formation développeur. Par exemple, les appels aux PutDataLakeSettingsGrantPermissions, et RevokePermissions les actions génèrent des entrées dans les fichiers CloudTrail journaux.

L'exemple suivant montre un CloudTrail événement associé à l'GrantPermissionsaction. L'entrée inclut l'utilisateur qui a accordé l'autorisation (datalake_admin), le principal auquel l'autorisation a été accordée (datalake_user1) et l'autorisation accordée (CREATE_TABLE). L'entrée indique également que l'autorisation a échoué car la base de données cible n'a pas été spécifiée dans l'resourceargument.

{ "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" }

L'exemple suivant montre une entrée de CloudTrail journal pour l'GetDataAccessaction. Les directeurs n'appellent pas directement cette API. GetDataAccessIl est plutôt enregistré chaque fois qu'un AWS service principal ou intégré demande des informations d'identification temporaires pour accéder aux données d'un lac de données enregistré auprès de 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" }, ... }