簡體   English   中英

控制塔 AWS - 共享 s3 存儲桶

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM