我使用 DynamoDB 连接器 https://github.com/awslabs/aws-athena-query-federation/tree/master/athena-dynamodb 在 Athena 中显示表。连接器将 DynamoDb 中的所有表添加到 default 数据库中。现在我想隐藏一些表并在 Athena 中控制对它们的访问。 IAM 是否可以做到这一点,或者应该调整连接器的代码? 谢谢,
我认为您无法在联合查询中隐藏表或使用 IAM 控制访问。表列表来自连接器(连接器部署的 Lambda 函数)。 Athena 本身无法控制表的权限,这是在 Glue 或 Lake Formation 中的“常规”表中完成的,而在联合查询中则将其委托给连接器。
我认为最接近的方法是分叉连接器并将您自己的逻辑添加到过滤表中。
您需要访问底层 DynamoDB 表才能查看表内容。通过阻止 IAM 对特定 DynamoDB 表的访问,您也可以通过 Athena 阻止该委托人查看数据。