Amazon s3 访问被拒绝的联合用户Amazon S3

Amazon s3 访问被拒绝的联合用户Amazon S3,amazon-s3,amazon-iam,Amazon S3,Amazon Iam,每当我试图通过.NET应用程序访问AmazonS3时,我都会被拒绝访问。我有一个IAM用户,如果我使用他的凭据,它可以正常工作。但是,如果我使用其凭据创建一个联邦用户,那么生成的用户将无法访问AmazonS3中的存储桶。需要注意的一点是,我没有在代码中为我的联邦用户指定策略。我希望他拥有与IAM用户相同的访问级别。但如果我在代码中为policy指定一个值,我就可以访问并列出bucket。 有什么建议吗 private static SessionAWSCredentials GetTempo

每当我试图通过.NET应用程序访问AmazonS3时,我都会被拒绝访问。我有一个IAM用户,如果我使用他的凭据,它可以正常工作。但是,如果我使用其凭据创建一个联邦用户,那么生成的用户将无法访问AmazonS3中的存储桶。需要注意的一点是,我没有在代码中为我的联邦用户指定策略。我希望他拥有与IAM用户相同的访问级别。但如果我在代码中为policy指定一个值,我就可以访问并列出bucket。 有什么建议吗

  private static SessionAWSCredentials GetTemporaryFederatedCredentials(
                                string accessKeyId, string secretAccessKeyId)
        {
            var config = new AmazonSecurityTokenServiceConfig();
            var stsClient = 
                new AmazonSecurityTokenServiceClient(
                                             accessKeyId, secretAccessKeyId, config);
            var federationTokenRequest =
                                     new GetFederationTokenRequest();
            federationTokenRequest.Name = "User1";
//            federationTokenRequest.Policy =
//                @"{
//                              ""Statement"":
//                              [
//                                {
//                                  ""Action"":[""s3:ListAllMyBuckets""],
//                                  ""Effect"":""Allow"",
//                                  ""Resource"":""arn:aws:s3:::*""
//                                                }
//                                              ]
//                                            }";
            federationTokenRequest.DurationSeconds = 3600; 
         GetFederationTokenResponse federationTokenResponse = 
                         stsClient.GetFederationToken(federationTokenRequest);
            GetFederationTokenResult federationTokenResult = 
                             federationTokenResponse.GetFederationTokenResult;
            Credentials credentials = federationTokenResult.Credentials;


            var sessionCredentials =
                new SessionAWSCredentials(credentials.AccessKeyId,
                                          credentials.SecretAccessKey,
                                          credentials.SessionToken);
            return sessionCredentials;
        }


    }
}

联合身份使用角色工作。您是否已授予该角色权限或已将该角色添加到bucket策略?@Abhi.Net您是否获得了解决方案?我也被困在这里。联合身份使用角色工作。您是否已授予该角色权限或已将该角色添加到bucket策略?@Abhi.Net您是否获得了解决方案?我也被困在这里。