0

我正在尝试让联合用户 (ADFS + SAML + STS) 访问 Amazon S3 存储桶。我试图给校长作为

  "Principal": {
                "AWS": [
                    "arn:aws:sts: accountid:federated-user/someuser"
                ]
             }

"Resource": "arn:aws:s3:::mybucket"

但我似乎无法获得正确的访问权限。对此的任何指示

4

2 回答 2

3

用户在尝试访问存储桶之前是否首先承担特定角色?

如果是这样,请尝试在您的存储桶策略中同时包含用户和假定角色,即

"AWS": [
  "arn:aws:sts::1234567890:assumed-role/User/joe@example.com",
  "arn:aws:iam::1234567890:role/User"
]

User角色名称在哪里。

于 2018-10-09T13:52:34.887 回答
0

这可能是一篇旧帖子,但@alkalinecoffee 的上述答案确实帮助我找出了今天的最佳答案

IAM 角色策略现在大量使用条件:

{
  "Effect": "Deny",
  "Principal": "*",
  "Action": "s3:*",
  "Resource": [
     "arn:aws:s3:::<s3bucket>",
     "arn:aws:s3:::<s3bucket>/*"
  ],
  Condition = {
    ArnNotEquals = {
      aws:PrincipalArn = [
        "arn:aws:iam::<AccountID>:role/aws-reserved/sso.amazonaws.com/<region>/<rolename>",
        "arn:aws:iam::<AccountID>:assumed-role/<rolename>/<federateduser>"
      ]
   }
}

这将阻止除ArnNotEquals条件中定义的 federateduser 之外的所有用户。

于 2022-03-04T01:06:32.303 回答