[英]Control Tower AWS - Share s3 bucket
我最近開始使用 AWS 的 Control Tower 來管理我的多賬戶環境。
我目前的問題是:我有一個屬於主賬戶的存儲桶,我想與組織的一些賬戶共享控制台訪問權限。 我怎樣才能做到這一點? 我嘗試添加一個存儲桶策略,指定帳戶和附加到該帳戶的 SSO 權限集,授予對存儲桶的訪問權限,但是當使用該角色訪問 s3 時,我看不到該存儲桶。
不過,我可以通過 CLI 訪問存儲桶,但不能通過 console 訪問。 即當通過 CLI 使用分配的角色訪問時,我可以執行aws s3 ls s3://mybucket
並顯示其中的文件夾(其他命令也可以)。 但是在執行aws s3 ls
,未列出存儲桶。
存儲桶策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Example permissions",
"Effect": "Allow",
"Principal": {
"AWS": [
"123456789101",
"112131415161",
]
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::mybucket"
}
]
}
權限集:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Example",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::mybucket",
"arn:aws:s3:::mybucket/*"
]
}
]
}
有誰知道如何允許用戶通過 s3 頁面上的其他帳戶存儲桶和控制台列出它?
謝謝!!
戴安娜
據我了解 ControlTower,您不應該在 root 帳戶中做任何有意義的事情。
此外,除非您允許其他用戶“聯合”到創建存儲桶的同一帳戶中,否則沒有共享控制台訪問權限。 使用 ControlTower 這通常通過單點登錄 (SSO) 完成
我的建議是:創建一個共享服務/資源帳戶,並允許您組織的任何成員訪問這些資源。 通過使用新的AWS:PrincipalOrgID
做到這一點。 例如,請參閱此 CloudFormation 代碼段,了解 AWS 組織內具有sns:Publish
權限的中央 SNS 隊列。:
Resources:
Topic:
Type: AWS::SNS::Topic
Properties:
DisplayName: Name
TopicName: name
TopicPolicy:
Type: AWS::SNS::TopicPolicy
Properties:
Topics:
- !Ref Topic
PolicyDocument:
Version: '2012-10-17'
Statement:
# default permission allow same account: https://www.terraform.io/docs/providers/aws/r/sns_topic_subscription.html
- Sid: __default_statement_ID
Effect: Allow
Principal:
AWS: "*"
Action:
- SNS:GetTopicAttributes
- SNS:SetTopicAttributes
- SNS:AddPermission
- SNS:RemovePermission
- SNS:DeleteTopic
- SNS:Subscribe
- SNS:ListSubscriptionsByTopic
- SNS:Publish
- SNS:Receive
Resource: !Ref Topic
Condition:
StringEquals:
AWS:SourceOwner: !Sub ${AWS::AccountId}
- Sid: SnsTopicPolicy
Effect: Allow
Principal:
AWS: "*"
Condition:
StringEquals:
# allow access from within your organization
AWS:PrincipalOrgID: "o-xxxxxxxxxx"
Action: sns:Publish
Resource: !Ref Topic
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.