Build Lake Formation permission configurations with LF-Tags, data cell filters, and column/row-level security.
Build Lake Formation permission configurations with LF-Tags, data cell filters, and column/row-level security.
Required Fields
CatalogIdPrincipal.DataLakePrincipalIdentifierPermissionsOutput will appear here...Build a Lake Formation permission grant combining direct resource-level permissions (Permissions on a specific Table) with tag-based access control (LFTagPolicy matching resources by LF-Tag key/value rather than by name) and DataCellsFilter for column- and row-level security on top of table-level grants. LF-Tag-based permissions and named-resource permissions aren't mutually exclusive, they compose: a principal can gain access to a table both because they're directly granted on it AND because it happens to match an LF-Tag policy they have access to, meaning removing one grant doesn't necessarily fully revoke access if the other grant path still applies, a real gotcha when auditing 'does this principal still have access after I revoked X'.
The builder validates that CatalogId, Principal.DataLakePrincipalIdentifier, and Permissions all resolve before accepting the JSON as a valid GrantPermissions request, the fields Lake Formation needs to know who's being granted what; it can't verify the referenced table or database actually exists in the catalog, or compute a principal's full effective access across all grant mechanisms (direct, tag-based, inherited), that requires querying the live Lake Formation permission model directly.
When auditing or revoking a principal's access, check LF-Tag policy grants in addition to direct named-resource grants, a principal's effective access is the union of both paths, and forgetting to check tag-based grants is the most common reason a 'revoked' principal still has access.
DataCellsFilter's ColumnNames is inclusion-based, not exclusion-based, double-check the list actually contains every column you intend to expose, an incomplete inclusion list silently hides more than intended rather than erroring.
Prefer LF-Tag-based policies over per-table named grants for anything that should scale automatically as new tables are created and tagged, named-resource grants require a new grant action for every new table, which doesn't scale as a data lake's table count grows.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.