1---2name: aws-lake-formation3description: AWS Lake Formation API skill. Use when working with AWS Lake Formation for AddLFTagsToResource, AssumeDecoratedRoleWithSAML, BatchGrantPermissions. Covers 55 endpoints.4---5
6# AWS Lake Formation
7API version: 2017-03-31
8
9## Auth
10AWS SigV4
11
12## Base URL
13Not specified.
14
15## Setup
161. Configure auth: AWS SigV4
173. POST /AddLFTagsToResource -- create first AddLFTagsToResource
18
19## Endpoints
20
2155 endpoints across 55 groups. See references/api-spec.lap for full details.
22
23### AddLFTagsToResource
24| Method | Path | Description |
25|--------|------|-------------|
26| POST | /AddLFTagsToResource | Attaches one or more LF-tags to an existing resource. |
27
28### AssumeDecoratedRoleWithSAML
29| Method | Path | Description |
30|--------|------|-------------|
31| POST | /AssumeDecoratedRoleWithSAML | Allows a caller to assume an IAM role decorated as the SAML user specified in the SAML assertion included in the request. This decoration allows Lake Formation to enforce access policies against the SAML users and groups. This API operation requires SAML federation setup in the caller’s account as it can only be called with valid SAML assertions. Lake Formation does not scope down the permission of the assumed role. All permissions attached to the role via the SAML federation setup will be included in the role session. This decorated role is expected to access data in Amazon S3 by getting temporary access from Lake Formation which is authorized via the virtual API GetDataAccess. Therefore, all SAML roles that can be assumed via AssumeDecoratedRoleWithSAML must at a minimum include lakeformation:GetDataAccess in their role policies. A typical IAM policy attached to such a role would look as follows: |
32
33### BatchGrantPermissions
34| Method | Path | Description |
35|--------|------|-------------|
36| POST | /BatchGrantPermissions | Batch operation to grant permissions to the principal. |
37
38### BatchRevokePermissions
39| Method | Path | Description |
40|--------|------|-------------|
41| POST | /BatchRevokePermissions | Batch operation to revoke permissions from the principal. |
42
43### CancelTransaction
44| Method | Path | Description |
45|--------|------|-------------|
46| POST | /CancelTransaction | Attempts to cancel the specified transaction. Returns an exception if the transaction was previously committed. |
47
48### CommitTransaction
49| Method | Path | Description |
50|--------|------|-------------|
51| POST | /CommitTransaction | Attempts to commit the specified transaction. Returns an exception if the transaction was previously aborted. This API action is idempotent if called multiple times for the same transaction. |
52
53### CreateDataCellsFilter
54| Method | Path | Description |
55|--------|------|-------------|
56| POST | /CreateDataCellsFilter | Creates a data cell filter to allow one to grant access to certain columns on certain rows. |
57
58### CreateLFTag
59| Method | Path | Description |
60|--------|------|-------------|
61| POST | /CreateLFTag | Creates an LF-tag with the specified name and values. |
62
63### CreateLakeFormationIdentityCenterConfiguration
64| Method | Path | Description |
65|--------|------|-------------|
66| POST | /CreateLakeFormationIdentityCenterConfiguration | Creates an IAM Identity Center connection with Lake Formation to allow IAM Identity Center users and groups to access Data Catalog resources. |
67
68### CreateLakeFormationOptIn
69| Method | Path | Description |
70|--------|------|-------------|
71| POST | /CreateLakeFormationOptIn | Enforce Lake Formation permissions for the given databases, tables, and principals. |
72
73### DeleteDataCellsFilter
74| Method | Path | Description |
75|--------|------|-------------|
76| POST | /DeleteDataCellsFilter | Deletes a data cell filter. |
77
78### DeleteLFTag
79| Method | Path | Description |
80|--------|------|-------------|
81| POST | /DeleteLFTag | Deletes the specified LF-tag given a key name. If the input parameter tag key was not found, then the operation will throw an exception. When you delete an LF-tag, the LFTagPolicy attached to the LF-tag becomes invalid. If the deleted LF-tag was still assigned to any resource, the tag policy attach to the deleted LF-tag will no longer be applied to the resource. |
82
83### DeleteLakeFormationIdentityCenterConfiguration
84| Method | Path | Description |
85|--------|------|-------------|
86| POST | /DeleteLakeFormationIdentityCenterConfiguration | Deletes an IAM Identity Center connection with Lake Formation. |
87
88### DeleteLakeFormationOptIn
89| Method | Path | Description |
90|--------|------|-------------|
91| POST | /DeleteLakeFormationOptIn | Remove the Lake Formation permissions enforcement of the given databases, tables, and principals. |
92
93### DeleteObjectsOnCancel
94| Method | Path | Description |
95|--------|------|-------------|
96| POST | /DeleteObjectsOnCancel | For a specific governed table, provides a list of Amazon S3 objects that will be written during the current transaction and that can be automatically deleted if the transaction is canceled. Without this call, no Amazon S3 objects are automatically deleted when a transaction cancels. The Glue ETL library function write_dynamic_frame.from_catalog() includes an option to automatically call DeleteObjectsOnCancel before writes. For more information, see Rolling Back Amazon S3 Writes. |
97
98### DeregisterResource
99| Method | Path | Description |
100|--------|------|-------------|
101| POST | /DeregisterResource | Deregisters the resource as managed by the Data Catalog. When you deregister a path, Lake Formation removes the path from the inline policy attached to your service-linked role. |
102
103### DescribeLakeFormationIdentityCenterConfiguration
104| Method | Path | Description |
105|--------|------|-------------|
106| POST | /DescribeLakeFormationIdentityCenterConfiguration | Retrieves the instance ARN and application ARN for the connection. |
107
108### DescribeResource
109| Method | Path | Description |
110|--------|------|-------------|
111| POST | /DescribeResource | Retrieves the current data access role for the given resource registered in Lake Formation. |
112
113### DescribeTransaction
114| Method | Path | Description |
115|--------|------|-------------|
116| POST | /DescribeTransaction | Returns the details of a single transaction. |
117
118### ExtendTransaction
119| Method | Path | Description |
120|--------|------|-------------|
121| POST | /ExtendTransaction | Indicates to the service that the specified transaction is still active and should not be treated as idle and aborted. Write transactions that remain idle for a long period are automatically aborted unless explicitly extended. |
122
123### GetDataCellsFilter
124| Method | Path | Description |
125|--------|------|-------------|
126| POST | /GetDataCellsFilter | Returns a data cells filter. |
127
128### GetDataLakePrincipal
129| Method | Path | Description |
130|--------|------|-------------|
131| POST | /GetDataLakePrincipal | Returns the identity of the invoking principal. |
132
133### GetDataLakeSettings
134| Method | Path | Description |
135|--------|------|-------------|
136| POST | /GetDataLakeSettings | Retrieves the list of the data lake administrators of a Lake Formation-managed data lake. |
137
138### GetEffectivePermissionsForPath
139| Method | Path | Description |
140|--------|------|-------------|
141| POST | /GetEffectivePermissionsForPath | Returns the Lake Formation permissions for a specified table or database resource located at a path in Amazon S3. GetEffectivePermissionsForPath will not return databases and tables if the catalog is encrypted. |
142
143### GetLFTag
144| Method | Path | Description |
145|--------|------|-------------|
146| POST | /GetLFTag | Returns an LF-tag definition. |
147
148### GetQueryState
149| Method | Path | Description |
150|--------|------|-------------|
151| POST | /GetQueryState | Returns the state of a query previously submitted. Clients are expected to poll GetQueryState to monitor the current state of the planning before retrieving the work units. A query state is only visible to the principal that made the initial call to StartQueryPlanning. |
152
153### GetQueryStatistics
154| Method | Path | Description |
155|--------|------|-------------|
156| POST | /GetQueryStatistics | Retrieves statistics on the planning and execution of a query. |
157
158### GetResourceLFTags
159| Method | Path | Description |
160|--------|------|-------------|
161| POST | /GetResourceLFTags | Returns the LF-tags applied to a resource. |
162
163### GetTableObjects
164| Method | Path | Description |
165|--------|------|-------------|
166| POST | /GetTableObjects | Returns the set of Amazon S3 objects that make up the specified governed table. A transaction ID or timestamp can be specified for time-travel queries. |
167
168### GetTemporaryGluePartitionCredentials
169| Method | Path | Description |
170|--------|------|-------------|
171| POST | /GetTemporaryGluePartitionCredentials | This API is identical to GetTemporaryTableCredentials except that this is used when the target Data Catalog resource is of type Partition. Lake Formation restricts the permission of the vended credentials with the same scope down policy which restricts access to a single Amazon S3 prefix. |
172
173### GetTemporaryGlueTableCredentials
174| Method | Path | Description |
175|--------|------|-------------|
176| POST | /GetTemporaryGlueTableCredentials | Allows a caller in a secure environment to assume a role with permission to access Amazon S3. In order to vend such credentials, Lake Formation assumes the role associated with a registered location, for example an Amazon S3 bucket, with a scope down policy which restricts the access to a single prefix. |
177
178### GetWorkUnitResults
179| Method | Path | Description |
180|--------|------|-------------|
181| POST | /GetWorkUnitResults | Returns the work units resulting from the query. Work units can be executed in any order and in parallel. |
182
183### GetWorkUnits
184| Method | Path | Description |
185|--------|------|-------------|
186| POST | /GetWorkUnits | Retrieves the work units generated by the StartQueryPlanning operation. |
187
188### GrantPermissions
189| Method | Path | Description |
190|--------|------|-------------|
191| POST | /GrantPermissions | Grants permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. For information about permissions, see Security and Access Control to Metadata and Data. |
192
193### ListDataCellsFilter
194| Method | Path | Description |
195|--------|------|-------------|
196| POST | /ListDataCellsFilter | Lists all the data cell filters on a table. |
197
198### ListLFTags
199| Method | Path | Description |
200|--------|------|-------------|
201| POST | /ListLFTags | Lists LF-tags that the requester has permission to view. |
202
203### ListLakeFormationOptIns
204| Method | Path | Description |
205|--------|------|-------------|
206| POST | /ListLakeFormationOptIns | Retrieve the current list of resources and principals that are opt in to enforce Lake Formation permissions. |
207
208### ListPermissions
209| Method | Path | Description |
210|--------|------|-------------|
211| POST | /ListPermissions | Returns a list of the principal permissions on the resource, filtered by the permissions of the caller. For example, if you are granted an ALTER permission, you are able to see only the principal permissions for ALTER. This operation returns only those permissions that have been explicitly granted. For information about permissions, see Security and Access Control to Metadata and Data. |
212
213### ListResources
214| Method | Path | Description |
215|--------|------|-------------|
216| POST | /ListResources | Lists the resources registered to be managed by the Data Catalog. |
217
218### ListTableStorageOptimizers
219| Method | Path | Description |
220|--------|------|-------------|
221| POST | /ListTableStorageOptimizers | Returns the configuration of all storage optimizers associated with a specified table. |
222
223### ListTransactions
224| Method | Path | Description |
225|--------|------|-------------|
226| POST | /ListTransactions | Returns metadata about transactions and their status. To prevent the response from growing indefinitely, only uncommitted transactions and those available for time-travel queries are returned. This operation can help you identify uncommitted transactions or to get information about transactions. |
227
228### PutDataLakeSettings
229| Method | Path | Description |
230|--------|------|-------------|
231| POST | /PutDataLakeSettings | Sets the list of data lake administrators who have admin privileges on all resources managed by Lake Formation. For more information on admin privileges, see Granting Lake Formation Permissions. This API replaces the current list of data lake admins with the new list being passed. To add an admin, fetch the current list and add the new admin to that list and pass that list in this API. |
232
233### RegisterResource
234| Method | Path | Description |
235|--------|------|-------------|
236| POST | /RegisterResource | Registers the resource as managed by the Data Catalog. To add or update data, Lake Formation needs read/write access to the chosen Amazon S3 path. Choose a role that you know has permission to do this, or choose the AWSServiceRoleForLakeFormationDataAccess service-linked role. When you register the first Amazon S3 path, the service-linked role and a new inline policy are created on your behalf. Lake Formation adds the first path to the inline policy and attaches it to the service-linked role. When you register subsequent paths, Lake Formation adds the path to the existing policy. The following request registers a new location and gives Lake Formation permission to use the service-linked role to access that location. ResourceArn = arn:aws:s3:::my-bucket UseServiceLinkedRole = true If UseServiceLinkedRole is not set to true, you must provide or set the RoleArn: arn:aws:iam::12345:role/my-data-access-role |
237
238### RemoveLFTagsFromResource
239| Method | Path | Description |
240|--------|------|-------------|
241| POST | /RemoveLFTagsFromResource | Removes an LF-tag from the resource. Only database, table, or tableWithColumns resource are allowed. To tag columns, use the column inclusion list in tableWithColumns to specify column input. |
242
243### RevokePermissions
244| Method | Path | Description |
245|--------|------|-------------|
246| POST | /RevokePermissions | Revokes permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. |
247
248### SearchDatabasesByLFTags
249| Method | Path | Description |
250|--------|------|-------------|
251| POST | /SearchDatabasesByLFTags | This operation allows a search on DATABASE resources by TagCondition. This operation is used by admins who want to grant user permissions on certain TagConditions. Before making a grant, the admin can use SearchDatabasesByTags to find all resources where the given TagConditions are valid to verify whether the returned resources can be shared. |
252
253### SearchTablesByLFTags
254| Method | Path | Description |
255|--------|------|-------------|
256| POST | /SearchTablesByLFTags | This operation allows a search on TABLE resources by LFTags. This will be used by admins who want to grant user permissions on certain LF-tags. Before making a grant, the admin can use SearchTablesByLFTags to find all resources where the given LFTags are valid to verify whether the returned resources can be shared. |
257
258### StartQueryPlanning
259| Method | Path | Description |
260|--------|------|-------------|
261| POST | /StartQueryPlanning | Submits a request to process a query statement. This operation generates work units that can be retrieved with the GetWorkUnits operation as soon as the query state is WORKUNITS_AVAILABLE or FINISHED. |
262
263### StartTransaction
264| Method | Path | Description |
265|--------|------|-------------|
266| POST | /StartTransaction | Starts a new transaction and returns its transaction ID. Transaction IDs are opaque objects that you can use to identify a transaction. |
267
268### UpdateDataCellsFilter
269| Method | Path | Description |
270|--------|------|-------------|
271| POST | /UpdateDataCellsFilter | Updates a data cell filter. |
272
273### UpdateLFTag
274| Method | Path | Description |
275|--------|------|-------------|
276| POST | /UpdateLFTag | Updates the list of possible values for the specified LF-tag key. If the LF-tag does not exist, the operation throws an EntityNotFoundException. The values in the delete key values will be deleted from list of possible values. If any value in the delete key values is attached to a resource, then API errors out with a 400 Exception - "Update not allowed". Untag the attribute before deleting the LF-tag key's value. |
277
278### UpdateLakeFormationIdentityCenterConfiguration
279| Method | Path | Description |
280|--------|------|-------------|
281| POST | /UpdateLakeFormationIdentityCenterConfiguration | Updates the IAM Identity Center connection parameters. |
282
283### UpdateResource
284| Method | Path | Description |
285|--------|------|-------------|
286| POST | /UpdateResource | Updates the data access role used for vending access to the given (registered) resource in Lake Formation. |
287
288### UpdateTableObjects
289| Method | Path | Description |
290|--------|------|-------------|
291| POST | /UpdateTableObjects | Updates the manifest of Amazon S3 objects that make up the specified governed table. |
292
293### UpdateTableStorageOptimizer
294| Method | Path | Description |
295|--------|------|-------------|
296| POST | /UpdateTableStorageOptimizer | Updates the configuration of the storage optimizers for a table. |
297
298## Common Questions
299
300Match user requests to endpoints in references/api-spec.lap. Key patterns:
301- "Create a AddLFTagsToResource?" -> POST /AddLFTagsToResource
302- "Create a AssumeDecoratedRoleWithSAML?" -> POST /AssumeDecoratedRoleWithSAML
303- "Create a BatchGrantPermission?" -> POST /BatchGrantPermissions
304- "Create a BatchRevokePermission?" -> POST /BatchRevokePermissions
305- "Create a CancelTransaction?" -> POST /CancelTransaction
306- "Create a CommitTransaction?" -> POST /CommitTransaction
307- "Create a CreateDataCellsFilter?" -> POST /CreateDataCellsFilter
308- "Create a CreateLFTag?" -> POST /CreateLFTag
309- "Create a CreateLakeFormationIdentityCenterConfiguration?" -> POST /CreateLakeFormationIdentityCenterConfiguration
310- "Create a CreateLakeFormationOptIn?" -> POST /CreateLakeFormationOptIn
311- "Create a DeleteDataCellsFilter?" -> POST /DeleteDataCellsFilter
312- "Create a DeleteLFTag?" -> POST /DeleteLFTag
313- "Create a DeleteLakeFormationIdentityCenterConfiguration?" -> POST /DeleteLakeFormationIdentityCenterConfiguration
314- "Create a DeleteLakeFormationOptIn?" -> POST /DeleteLakeFormationOptIn
315- "Create a DeleteObjectsOnCancel?" -> POST /DeleteObjectsOnCancel
316- "Create a DeregisterResource?" -> POST /DeregisterResource
317- "Create a DescribeLakeFormationIdentityCenterConfiguration?" -> POST /DescribeLakeFormationIdentityCenterConfiguration
318- "Create a DescribeResource?" -> POST /DescribeResource
319- "Create a DescribeTransaction?" -> POST /DescribeTransaction
320- "Create a ExtendTransaction?" -> POST /ExtendTransaction
321- "Create a GetDataCellsFilter?" -> POST /GetDataCellsFilter
322- "Create a GetDataLakePrincipal?" -> POST /GetDataLakePrincipal
323- "Create a GetDataLakeSetting?" -> POST /GetDataLakeSettings
324- "Create a GetEffectivePermissionsForPath?" -> POST /GetEffectivePermissionsForPath
325- "Create a GetLFTag?" -> POST /GetLFTag
326- "Create a GetQueryState?" -> POST /GetQueryState
327- "Create a GetQueryStatistic?" -> POST /GetQueryStatistics
328- "Create a GetResourceLFTag?" -> POST /GetResourceLFTags
329- "Create a GetTableObject?" -> POST /GetTableObjects
330- "Create a GetTemporaryGluePartitionCredential?" -> POST /GetTemporaryGluePartitionCredentials
331- "Create a GetTemporaryGlueTableCredential?" -> POST /GetTemporaryGlueTableCredentials
332- "Create a GetWorkUnitResult?" -> POST /GetWorkUnitResults
333- "Create a GetWorkUnit?" -> POST /GetWorkUnits
334- "Create a GrantPermission?" -> POST /GrantPermissions
335- "Create a ListDataCellsFilter?" -> POST /ListDataCellsFilter
336- "Create a ListLFTag?" -> POST /ListLFTags
337- "Create a ListLakeFormationOptIn?" -> POST /ListLakeFormationOptIns
338- "Create a ListPermission?" -> POST /ListPermissions
339- "Create a ListResource?" -> POST /ListResources
340- "Create a ListTableStorageOptimizer?" -> POST /ListTableStorageOptimizers
341- "Create a ListTransaction?" -> POST /ListTransactions
342- "Create a PutDataLakeSetting?" -> POST /PutDataLakeSettings
343- "Create a RegisterResource?" -> POST /RegisterResource
344- "Create a RemoveLFTagsFromResource?" -> POST /RemoveLFTagsFromResource
345- "Create a RevokePermission?" -> POST /RevokePermissions
346- "Create a SearchDatabasesByLFTag?" -> POST /SearchDatabasesByLFTags
347- "Create a SearchTablesByLFTag?" -> POST /SearchTablesByLFTags
348- "Create a StartQueryPlanning?" -> POST /StartQueryPlanning
349- "Create a StartTransaction?" -> POST /StartTransaction
350- "Create a UpdateDataCellsFilter?" -> POST /UpdateDataCellsFilter
351- "Create a UpdateLFTag?" -> POST /UpdateLFTag
352- "Create a UpdateLakeFormationIdentityCenterConfiguration?" -> POST /UpdateLakeFormationIdentityCenterConfiguration
353- "Create a UpdateResource?" -> POST /UpdateResource
354- "Create a UpdateTableObject?" -> POST /UpdateTableObjects
355- "Create a UpdateTableStorageOptimizer?" -> POST /UpdateTableStorageOptimizer
356- "How to authenticate?" -> See Auth section
357
358## Response Tips
359- Check response schemas in references/api-spec.lap for field details
360- Create/update endpoints typically return the created/updated object
361
362## References
363- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas
364
365> Generated from the official API spec by [LAP](https://lap.sh)