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