允许athena和白色列出的IP地址访问数据



我计划为名为"athenadata162〃;。我希望只有2个办公室IP地址和当前帐户中的athena用户可以访问这个bucket。我想知道这项政策是否写得正确以达到目的。它是基于博客文章:

https://aws.amazon.com/blogs/security/how-to-define-least-privileged-permissions-for-actions-called-by-aws-services/

我不知道如何正确设置这个部分。。。

"Principal": {
"AWS": "arn:aws:iam::111122223333:role/BizMetricsQuery"
},

以下是我尝试过的:

{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::testme1623/*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"1.2.3.4/32",
"5.6.7.8/32"
], "aws:CalledVia": "athena.amazonaws.com"
}
}
}
]
}

如果我不使用NotIpAddress的第二个Condition语句,那么IP地址将正确地列为白色,但Athena无法访问文件。

当您使用Athena运行查询时,访问S3的是Athena服务,S3/IAM将看到其IP,而不是客户端的。你能做的最好的事情可能是用aws:CalledVia限制对bucket的访问,就像你所做的那样,并在Athena级别应用IP限制,例如athena:StartQueryExecution——当然,这不是一回事。

您还可以在假定角色策略上设置IP限制,然后将对存储桶的访问限制为仅限于该角色。在运行查询之前,用户将被要求扮演该角色,并且只能从指定的IP号码中扮演该角色。

相关内容

  • 没有找到相关文章

最新更新