How to allow clients to write to an S3 bucket only if the bucket is in a specific AWS account?

0

These are the general formats for Amazon Resource Names (ARNs):

  • arn:partition:service:region:account-id:resource-id
  • arn:partition:service:region:account-id:resource-type/resource-id
  • arn:partition:service:region:account-id:resource-type:resource-id

[https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html][1]

The challenge with S3:

S3 buckets are globally unique (well, if we exclude Gov Cloud and China regions). That is why S3 ARNs do not include region and the AWS account ID:

arn:aws:s3:::examplebucket

Now, what the customer is saying:

  • we own a bucket
  • we write a policy allowing service X to write secret file Y to the bucket
  • we delete the bucket (and its contents), forgetting about service X
  • someone else creates a bucket and allows anybody to write to it
  • service X writes to "the bucket" (now owned by someone else)

It would be trivial to avoid by only allowing service X to write to "bucket foo" in a particular account, but AWS IAM explicitly disallows bucket ARNs with account IDs in them.

Is there any workaround for this?

AWS
已提問 4 年前檢視次數 976 次
1 個回答
0
已接受的答案
AWS
已回答 4 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南