问题描述
glue DataCatalog 访问由 Lake Formation 管理。但是,当尝试添加查询 Athena 表的新 SageMaker Data Wrangler 流时,会出现以下错误:
CustomerError:尝试创建时发生错误 glue 数据目录中的 sagemaker_data_wrangler 数据库:错误 调用 CreateDatabase 时发生 (AccessDeniedException) 操作:Lake Formation 权限不足:需要创建 目录数据库
数据库 sagemaker_data_wrangler 不存在,但我们已将使用 SageMaker 的默认 S3 存储桶(sagemaker-{region}-{account})添加到 Lake Formation Data Location,以赋予 SageMaker 执行角色 CreateDatabase 权限:
即使我们手动创建数据库 (sagemaker_data_wrangler) 并为 Data Wrangler 执行角色授予权限,该错误仍然存在。
解决方法
解决了。
它缺少对目录的 CreateDatabase 权限,该权限必须通过 AWS CLI 提供,因为 AWS 控制台不提供该选项:
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::10223*******:role/sandbox-******-mlops-demo-sagemaker --permissions "CREATE_DATABASE" --resource '{ "Catalog": {}}'