Athena 数据库级访问控制

Athena Database Level Access Control

我在 Amazon Athena 上的同一区域创建了两个数据库 D1 和 D2。我想限制用户对这些数据库的访问。我希望只为用户 U1 列出 D1。事实上,U1甚至应该不知道还有另一个数据库(D2)。

如何为 Athena 设置数据库级别的访问控制?

您可以使用 IAM 策略中的资源级权限定义对 AWS glue 数据目录的细粒度访问。精细控制适用于 database/table 级别。

例如,以下 IAM 策略:

{
"Effect": "Allow",
 "Action": [
   "glue:GetDatabase", 
   "glue:CreateDatabase"
],
"Resource": [
  "arn:aws:glue:us-east-1:123456789012:catalog",
  "arn:aws:glue:us-east-1:123456789012:database/default"
]
}

只会授予对 'database' 数据库中 'default' table 的访问权限(当然还有数据目录)

更多信息see aws glue data catalog fine-grained access documentation
对于 IAM 策略文档,单击 here