本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
权限示例方案
以下场景有助于演示如何设置权限以保护对中数据的访问Amazon Lake Formation.
Shirley 是一名数据管理员。她想为自己的公司建立一个数据湖, AnyCompany. 目前,所有数据都存储在 Amazon S3 中。John 是一名营销经理,需要写入客户购买信息(包含在s3://customerPurchases)。营销分析师迭戈今年夏天加入了约翰的行列。John 需要能够授予 Diego 访问权限,以便在不涉及 Shirley 的情况下对数据执行查询。
总结一下:
-
Shirley 是数据湖管理员。
-
John 要求
CREATE_DATABASE和CREATE_TABLE在数据目录中创建新数据库和表的权限。 -
John 还需要
SELECT、INSERT, 和DELETE他创建的表的权限。 -
Dieg 需要
SELECT对表的权限以运行查询。
的员工 AnyCompany 执行以下操作以设置权限。为了清楚起见,本场景中显示的 API 操作显示了简化的语法。
-
Shirley 向 Lake Formation 注册了包含买家购买信息的 Amazon S3 路径。
RegisterResource(ResourcePath("s3://customerPurchases"), false, Role_ARN ) -
Shirley 授予了 John 访问包含买家购买信息的 Amazon S3 路径的访问权限。
GrantPermissions(John, S3Location("s3://customerPurchases"), [DATA_LOCATION_ACCESS]) ) -
Shirley 授予 John 创建数据库的权限。
GrantPermissions(John, catalog, [CREATE_DATABASE]) -
John 创建数据库
John_DB. John 自动具有CREATE_TABLE因为他创建了这个数据库。CreateDatabase(John_DB) -
John 创建表
John_Table指向s3://customerPurchases. 因为他创建了表,所以他拥有该表的所有权限,并且可以授予对表的权限。CreateTable(John_DB, John_Table) -
John 允许他的分析师 Diego 进入桌子
John_Table.GrantPermissions(Diego, John_Table, [SELECT])