授予权限
将 S3 表与 Amazon Lake Formation 集成后,您可以向账户中的其他 IAM 角色和用户授予对 S3 表目录和目录对象(表存储桶、数据库、表)的权限。借助 Lake Formation 权限,您可为 Amazon Redshift Spectrum 和 Athena 等集成分析引擎的用户定义表级、列级和行级粒度的访问控制。
您可以使用命名资源方法或 Lake Formation 基于标签的访问控制 (LF-TBAC) 方法来授予权限。在使用 LF 标签和 LF 标签表达式授予权限之前,必须进行定义并将其分配给 Data Catalog 对象。
有关更多信息,请参阅管理 LF 标签以实现元数据访问控制。
通过向外部账户授予 Lake Formation 权限,您可以与这些外部 Amazon 账户共享数据库和表。然后,用户可以运行跨多个账户联接和查询表的查询和作业。当您与其他账户共享目录资源时,该账户中的主体可以对该资源进行操作,就像该资源位于其数据目录中一样。
当您与外部账户共享数据库和表时,超级用户权限不可用。
有关授予权限的详细说明,请参阅管理 Lake Formation 权限部分。
对 Amazon S3 表类数据存储服务授予权限的 Amazon CLI 示例
aws lakeformation grant-permissions \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier":"arn:aws:iam::111122223333:role/DataAnalystRole" }, "Resource": { "Table": { "CatalogId":"111122223333:s3tablescatalog/amzn-s3-demo-bucket1", "DatabaseName":"S3 table bucket namespace <example_namespace>", "Name":"S3 table bucket table name <example_table>" } }, "Permissions": [ "SELECT" ] }'
命名中要包括以下参数:
-
DataLakePrincipalIdentifier:要授予权限的 IAM 用户、角色或组 ARN
-
CatalogId:拥有 Data Catalog 的 12 位数字 Amazon 账户 ID
DatabaseName:Amazon S3 表类数据存储服务存储桶命名空间的名称
名称:Amazon S3 表类数据存储服务存储桶表名称
权限:要授予的权限。选项包括:SELECT、INSERT、DELETE、DESCRIBE、ALTER、DROP、ALLL 和 SUPER