问题描述
我有存储桶策略,该策略仅允许从VPC进行访问:
{
"Version": "2012-10-17","Id": "aksdhjfaksdhf","Statement": [
{
"Sid": "Access-only-from-a-specific-VPC","Effect": "Deny","Principal": "*","Action": "s3:*","Resource": [
"arn:aws:s3:::zzzz","arn:aws:s3:::zzzz/*"
],"Condition": {
"StringNotEquals": {
"aws:SourceVpc": "vpc-xxxx"
}
}
}
]
}
我也希望允许从AWS Textract到该存储桶的流量。我尝试了各种方法,但是由于“显式拒绝”(我需要)的绝对优先,我无法使其正常工作。
是否存在不同的策略制定或方法,以完全限制从VPC和Textract服务访问此S3存储桶?
解决方法
这是不可能的。
通常,避免使用Deny
策略是个好主意,因为它们会覆盖任何Allow
策略。众所周知,它们很难正确配置。
一种选择是删除Deny
,并非常谨慎地授予Allow
谁有权访问存储桶。
但是,如果这太难了(例如,默认情况下,授予管理员访问 all 存储桶的权限),那么通常的做法是将敏感数据移动到其他AWS的S3存储桶中帐户,并且仅向特定用户授予跨帐户访问权限。