Skip to content

Lake Formation

CloudMock emulates AWS Lake Formation, supporting resource registration, permissions management, data lake settings, and LF-Tags for fine-grained access control.

OperationStatusNotes
RegisterResourceSupportedRegisters a resource with Lake Formation
DeregisterResourceSupportedDeregisters a resource
ListResourcesSupportedLists registered resources
GrantPermissionsSupportedGrants permissions on a resource
RevokePermissionsSupportedRevokes permissions
GetEffectivePermissionsForPathSupportedReturns effective permissions for a path
ListPermissionsSupportedLists all permissions
GetDataLakeSettingsSupportedReturns data lake settings
PutDataLakeSettingsSupportedUpdates data lake settings
CreateLFTagSupportedCreates an LF-Tag
GetLFTagSupportedReturns LF-Tag details
ListLFTagsSupportedLists all LF-Tags
DeleteLFTagSupportedDeletes an LF-Tag
UpdateLFTagSupportedUpdates an LF-Tag
AddLFTagsToResourceSupportedAssigns LF-Tags to a resource
RemoveLFTagsFromResourceSupportedRemoves LF-Tags from a resource
GetResourceLFTagsSupportedReturns LF-Tags for a resource
import { LakeFormationClient, RegisterResourceCommand } from '@aws-sdk/client-lakeformation';
const client = new LakeFormationClient({
endpoint: 'http://localhost:4566',
region: 'us-east-1',
credentials: { accessKeyId: 'test', secretAccessKey: 'test' },
});
await client.send(new RegisterResourceCommand({
ResourceArn: 'arn:aws:s3:::my-data-lake',
RoleArn: 'arn:aws:iam::000000000000:role/lf-role',
}));
import boto3
client = boto3.client('lakeformation',
endpoint_url='http://localhost:4566',
region_name='us-east-1',
aws_access_key_id='test',
aws_secret_access_key='test')
client.register_resource(
ResourceArn='arn:aws:s3:::my-data-lake',
RoleArn='arn:aws:iam::000000000000:role/lf-role')
cloudmock.yml
services:
lakeformation:
enabled: true
  • Permissions are stored but not enforced on actual data access
  • LF-Tags are managed independently of Glue Data Catalog integration
  • Data lake settings do not affect other service behavior