在 Amazon Glue Data Catalog 中管理 Amazon Redshift 命名空间的先决条件
-
创建数据湖管理员:创建有权接受命名空间邀请的 IAM 角色,创建 Amazon Glue Data Catalog 对象(目录、数据库、表/视图),并向其他用户授予 Lake Formation 权限。
有关创建数据湖管理员的逐步说明,请参阅创建数据湖管理员。
-
更新数据湖管理员权限。
除了数据湖管理员权限外,数据湖管理员还需要以下权限才能在 Lake Formation 中接受 Amazon Redshift 命名空间邀请、创建或更新 Data Catalog 资源以及启用数据湖访问权限:
-
如果用于创建联合目录的 IAM 角色不是数据湖管理员,则需要向该角色授予
Create catalog权限。创建目录创建者
通过 https://console.aws.amazon.com/lakeformation/
打开 Lake Formation 控制台。 在管理下面,选择管理角色和任务。
选择授权。
在授予权限屏幕上,选择 IAM 用户或角色。
选择创建目录权限。
或者,您也可以授予可授予的创建目录权限。可授予的权限让目录创建者可以将
Create catalog权限授予其他主体。选择授权。
授予创建联合目录权限的 Amazon CLI 示例。
aws lakeformation grant-permissions \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/Admin" }, "Resource": { "Catalog": { } }, "Permissions": [ "CREATE_CATALOG", "DESCRIBE" ] }' -
创建只读管理员角色,通过 Amazon Redshift 查询编辑器 v2 在 Data Catalog 中发现 Amazon Redshift 联合目录。
要从 Amazon Redshift 查询编辑器 v2 查询联合目录中的 Amazon Redshift 表,请确保只读管理员角色策略包含 Amazon Redshift 服务相关角色
AWSServiceRoleForRedshift的 ARN。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 EC2 上的 Amazon EMR)启用数据湖访问权限以访问 Data Catalog 中的 Amazon Redshift 资源时,您需要创建一个 IAM 角色,该角色具有所需的权限,可以执行与 Amazon S3 存储桶之间的数据传输。
-
将以下信任策略添加到 Amazon Glue 和 Amazon Redshift 服务的数据传输角色中,代入该角色即可与 Amazon S3 存储桶进行数据传输。
-
如果您使用客户管理型密钥加密 Amazon Redshift 集群/命名空间中的数据,请将以下密钥策略添加到 Amazon KMS 密钥中。将账号替换为有效的 Amazon 账号,并指定数据传输角色名称。默认情况下,Amazon Redshift 集群中的数据使用 KMS 密钥进行加密。Lake Formation 提供了创建自定义 KMS 密钥进行加密的选项。如果您使用客户管理型密钥,您必须向密钥添加特定的密钥策略。
有关管理客户管理型密钥权限的更多信息,请参阅客户管理型密钥。