IAM 用户可以查看 Athena 表。如何限制一个用户看不到其他数据库和表

IAM user can see Athena tables. How to restrict one user to not see other databases and tables

我正在使用 DMS 将我的数据复制到 S3 存储桶中,并在根据 'USERID' 在 AWS Athena 上过滤和创建单独的数据库后读取该数据。我想让我的客户只能访问他们的 USERID,这样他们就只能查询那里的数据,而不能查看或查看 Athena 上的其他数据库。想知道如何实现这一目标。我尝试创建 IAM permissions/roles,但我仍然能够看到数据目录中的所有数据库并查询它们。请帮助

谢谢

创建策略

{
   "Effect": "Allow",
   "Action": [
      "glue:GetDatabase",
      "glue:GetTables"    
   ],
   "Resource": [
     "arn:aws:glue:XXX:XXX:catalog",
     "arn:aws:glue:XXX:XXX:database/example_db",  
     "arn:aws:glue:XXX:XXX:table/example_db/*"
   ]
 }

并将此策略附加到用户角色(用户所属)。将此策略附加到用户角色后,他将只能看到 example_db 数据库的 table。如果您不想授予整个数据库访问权限,请删除“*”并提供特定的 table 名称。

此外,请确保没有向用户或其组授予其他权限。最好为该用户创建一个新角色并附加策略。