如何允许AWS Textract访问受保护的S3存储桶

问题描述

我有存储桶策略,该策略仅允许从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存储桶中帐户,并且仅向特定用户授予跨帐户访问权限。