本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中管理 Amazon Redshift 命名空间的先决条件 AWS Glue Data Catalog
-
创建数据湖管理员-创建有权接受命名空间邀请的 IAM 角色,创建 AWS Glue Data Catalog 对象(目录、数据库、表/视图),并向其他用户授予 Lake Formation 权限。
有关创建数据湖管理员的 step-by-step说明,请参阅创建数据湖管理员。
-
更新数据湖管理员权限。
除了数据湖管理员权限外,数据湖管理员还需要以下权限才能在 Lake Formation 中接受 Amazon Redshift 命名空间邀请、创建或更新数据目录资源以及启用数据湖访问权限:
-
如果用于创建联合目录的 IAM 角色不是数据湖管理员,则需要向该角色授予
Create catalog
权限。创建目录创建者
打开 Lake Formation 控制台,网址为https://console.aws.amazon.com/lakeformation/
。 在 “管理” 下选择 “管理角色和任务”。
选择授权。
在授予权限屏幕上,选择一个 IAM 用户或角色。
选择创建目录权限。
或者,您也可以授予可授予的 “创建目录” 权限。可授予权限允许目录创建者将
Create catalog
权限授予其他委托人。选择授权。
AWS CLI 授予创建联合目录权限的示例。
aws lakeformation grant-permissions \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/Admin" }, "Resource": { "Catalog": { } }, "Permissions": [ "CREATE_CATALOG", "DESCRIBE" ] }'
-
创建只读管理员角色,通过亚马逊 Redshift 查询编辑器 v2 在数据目录中发现亚马逊 Redshift 联合目录。
要从 Amazon Redshift 查询编辑器 v2 查询联合目录中的亚马逊 Redshift 表,请确保只读管理员角色策略包含亚马逊 Redshift 服务相关角色的 ARN-。
AWSServiceRoleForRedshift
aws lakeformation put-data-lake-settings --region us-east-1 \ --data-lake-settings \ '{ "DataLakeAdmins": [{"DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/Admin"}], "ReadOnlyAdmins":[{"DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift"}], "CreateDatabaseDefaultPermissions":[], "CreateTableDefaultPermissions":[], "Parameters":{"CROSS_ACCOUNT_VERSION":"4","SET_CONTEXT":"TRUE"} }'
-
创建一个数据传输角色,Amazon Redshift 可以代表您担任该角色,用于向 Amazon S3 存储桶传输数据和从该存储桶传输数据。
当您为兼容 Apache Iceberg 的查询引擎(例如亚马逊上的 Athena、Amazon EMR)启用数据湖访问权限以 EC2 访问数据目录中的 Amazon Redshift 资源时,您需要创建一个具有所需权限的 IAM 角色来执行与亚马逊 S3 存储桶之间的数据传输。
-
将以下信任策略添加到 AWS Glue 和 Amazon Redshift 服务的数据传输角色中,以代入和传出 Amazon S3 存储桶的数据的角色。
-
如果您使用客户托管密钥加密 Amazon Redshift 集群/命名空间中的数据,请将以下密钥策略添加到密钥中。 AWS KMS 将账号替换为有效的 AWS 账号,并指定数据传输角色名称。默认情况下,Amazon Redshift 集群中的数据使用 KMS 密钥进行加密。Lake Formation 提供了一个选项来创建用于加密的自定义 KMS 密钥。如果您使用的是客户管理的密钥,则必须为密钥添加特定的密钥策略。
有关管理客户管理型密钥权限的更多信息,请参阅客户管理型密钥。