Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建视图的先决条件
-
要在数据目录中创建视图,您必须向 Lake Formation 注册引用表的基础 Amazon S3 数据位置。有关向 Lake Formation 注册数据的详细信息,请参阅向数据湖添加 Amazon S3 位置。
-
只有 IAM 角色可以创建数据目录视图。其他 IAM 身份无法创建数据目录视图。
-
定义视图的 IAM 角色必须具有以下权限:
对所有引用表(包括所有列)使用 Grantable
选项的 Lake Formation SELECT
权限。
在创建视图的目标数据库上的 Lake Formation CREATE_TABLE
权限。
Lake Formation 和 Amazon Glue 服务机构承担该角色的信任政策。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "DataCatalogViewDefinerAssumeRole1",
"Effect": "Allow",
"Principal": {
"Service": [
"glue.amazonaws.com",
"lakeformation.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
-
目标: Amazon Glue 和 Lake Formation 的PassRole 许可。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "DataCatalogViewDefinerPassRole1",
"Action": [
"iam:PassRole"
],
"Effect": "Allow",
"Resource": "*",
"Condition": {
"StringEquals": {
"iam:PassedToService": [
"glue.amazonaws.com",
"lakeformation.amazonaws.com"
]
}
}
}
]
}
-
Amazon Glue 以及 Lake Formation 权限。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"Glue:GetDatabase",
"Glue:GetDatabases",
"Glue:CreateTable",
"Glue:GetTable",
"Glue:GetTables",
"Glue:BatchGetPartition",
"Glue:GetPartitions",
"Glue:GetPartition",
"Glue:GetTableVersion",
"Glue:GetTableVersions",
"Glue:PassConnection",
"lakeFormation:GetDataAccess"
],
"Resource": "*"
}
]
}
-
不能在向 IAMAllowedPrincipals
组授予 Super
或 ALL
权限的数据库中创建视图。您可以撤销 IAMAllowedPrincipals
组对数据库的 Super
权限,请参阅步骤 4:将数据存储切换到 Lake Formation 权限模型;也可以创建一个新数据库,在新创建表的默认权限下取消选中仅对此数据库中的新表使用 IAM 访问控制复选框。