如何设置S3存储桶策略,只允许组织内部的VPC流日志访问?

0

【以下的问题经过翻译处理】 你好,

我已经使用Control Tower创建了一个landing zone(包括审计和日志账户等)。在日志账户中,我有一个S3存储桶,用来从组织中的所有当前和未来的账户中接收VPC流日志。因此,我想创建一个存储桶策略,只允许接收属于组织的源账户的VPC流日志。其他团队通过自助服务的方式使用Control Tower Factory创建了新的账户,因此我需要按照组织的方式进行过滤,而不是按照账户ID或具体的ARN进行过滤。

根据VPC流日志用户指南,我得将以下语句(还有另一个类似的语句,但咱们简化点来说)添加到S3存储桶策略的目标存储桶中:

   

{
             "Sid":“AWSLogDeliveryWrite”,
             "Effect":“Allow”,
             "Principal":{"Service":“delivery.logs.amazonaws.com”},
             "Action":“s3:PutObject”,
             "Resource":“my-s3-arn”,
             "Condition":{
                 “StringEquals”:{
                     “s3:x-amz-acl”:“bucket-owner-full-control”,
                     “aws:SourceAccount”:account_id
                 },
                 “ArnLike”:{
                     “aws:SourceArn”:“arn:aws:logs:region:account_id:*”
                 }
             }
         }

因为我需要按组织而不是按账户进行过滤,所以我尝试使用aws:PrincipalOrgID条件键代替SourceAccd'sount和SourceArn。然而,我会收到一个错误,说aws:PrincipalOrgID不支持service principals,所以无法创建策略。

我也尝试过使用aws:PrincipalOrgPaths条件键。然而,虽然我创建policy成功了,但是创建日志流的时候又报错: "Access Denied for LogDestination: bucket_name. Please check LogDestination permissions."

我也试过将principal设置成"*"并且条件键设置为"aws:PrincipalServiceName": "delivery.logs.amazonaws.com" ,但是也是在设置日志流的时候报了同样的错误。

有谁知道这该怎么办吗?先谢了。

1 Antwort
0

【以下的回答经过翻译处理】 您不能使用与组织相关的任何条件,因为service principal不是您组织的成员。只需删除与Account ID相关的所有条件即可。并将S3存储桶名称保密。我相信 delivery.logs.amazonaws.com 服务足够安全。

{
   "Sid":"AWSLogDeliveryWrite",
   "Effect":"Allow",
   "Principal":{
      "Service":"delivery.logs.amazonaws.com"
   },
   "Action":"s3:PutObject",
   "Resource":"my-s3-arn",
   "Condition":{
      "StringEquals":{
         "s3:x-amz-acl":"bucket-owner-full-control"
      }
   }
}

我知道这并不是最好的解决方法,但是很简单! :)

profile picture
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen