Lake Formation

Abuser des permissions Lake Formation et de la distribution d'identifiants pour lire des tables gouvernées du lac de données.

1 min de lecturemis à jour le 12 oct. 2026florianamette1 contributeur
Demander à votre assistant (MCP)Modifier sur GitHub

Lake Formation gouverne l'accès aux tables du lac de données et distribue des identifiants S3 éphémères, limités à ce qu'un principal s'est vu accorder. L'attaque consiste à détenir ou à s'octroyer soi-même une permission Lake Formation, puis à appeler l'API de distribution, qui renvoie des identifiants temporaires pour les données S3 sous-jacentes, contournant la stratégie propre au compartiment. Un principal capable d'administrer les autorisations Lake Formation peut étendre son propre accès à n'importe quelle table gouvernée.

Distribuer des identifiants pour une table#

bash
aws lakeformation list-permissions
aws lakeformation get-temporary-glue-table-credentials \
  --table-arn <table-arn> --supported-permission-types COLUMN_PERMISSION
# the response contains temporary S3 credentials for the governed data

S'octroyer l'accès#

bash
aws lakeformation grant-permissions \
  --principal DataLakePrincipalIdentifier=<your-arn> \
  --resource '{"Table":{"DatabaseName":"db","Name":"t"}}' \
  --permissions SELECT

Notes d'exploitation#

  • La distribution d'identifiants renvoie de vrais identifiants S3 pour l'emplacement gouverné, de sorte qu'elle lit les données même lorsque la stratégie de compartiment refuserait directement l'appelant.
  • lakeformation:GrantPermissions avec une portée d'administration est une élévation de privilèges au plan de données : octroyez, puis distribuez.
  • Les tables gouvernées protègent souvent les données les plus sensibles du lac, ce qui justifie l'étape supplémentaire de la voie de distribution.

Outils#

  • AWS CLI (lakeformation get-temporary-glue-table-credentials, grant-permissions).

Références#