AWS Lake Formation/Redshift 与 IAM IDC 集成的权限被拒绝,除了 IAMAllowedPrincipals 之外的所有内容

问题描述 投票:0回答:1

我几天来一直在探索 AWS Lake Formation (LF) 兔子洞,试图让它与 Redshift 和 IAM Identity Center (IAM IDC) 配合使用。

预期目标:

在使用新的 Lake Formation 之前,我们有一个功能数据湖,可以使用普通的联合用户和 JDBC 用户连接在 Redshift QueryEditorV2 中进行查询,这些连接仍然有效。我已成功将 Redshift 与我们的 IDC 集成,并有一个测试用户,该用户属于添加到 IDC 组的组的一部分,该组也可分配给 AWS Lake Formation 中的表和资源。当我使用该用户登录 QueryEditorV2 时,我最初能够查询在 LF 工作之前已经可见的表。

但是,我意识到,只有当表通过

IAMAllowedPrincipals
组具有 LF 权限时,我才能成功查询表。当此权限被撤销并且我直接通过 IAM IDC 用户或用户所属的 IAM IDC 组授予权限时,我无法查询。我在 QueryEditorV2 中收到以下错误消息:

ERROR: AwsClientException: AccessDeniedException from glue - Insufficient Lake Formation permission(s) on example_table[ErrorId: 1-66a178f2-00168194599db4c26280f923]

简而言之,我的 Redshift IDC 用户似乎是通过 IAMAllowedPrincipals 路径对 LF 进行身份验证,以访问数据而不是 Identity Center 凭据。我不会在这里列出我尝试过的所有内容,但我花了几天时间浏览了上面列出的两个教程以及所有其他似乎有用的 Lake Formation 文档。我尝试了 LF 权限设置、数据位置注册、混合访问与无混合访问的多种组合,但我很难理解为什么唯一适用于任何内容的权限集是具有访问权限的 IAM 角色无论如何,到数据湖。

amazon-redshift aws-lake-formation aws-iam-identity-center
1个回答
0
投票

在与 AWS Support 交谈后终于弄清楚了这一点。事实证明,这是由有关表分区的已知错误引起的https://docs.aws.amazon.com/lake-formation/latest/dg/limitations.html#issue-table-partitions

不幸的是,这个问题似乎已经悬而未决多年了。

© www.soinside.com 2019 - 2024. All rights reserved.