Невозможно использовать политику на основе сеанса, присоединенную к AssumeRole API в AWS SDK JAVA API - PullRequest
0 голосов
/ 28 января 2019

В документе API AWS https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html упоминается, что мы можем ограничивать пользователей для определенных операций, используя политики на основе сеансов.Моя политика на основе сеансов для вашей справки: -

val policy: String =
  """
    |{
    |"Version": "2012-10-17",
    |"Statement": [
    |{
    |"Effect": "Deny",
    |"Action": ["s3:ListBucket"],
    |"Resource": ["arn:aws:s3:::test"]
    |}
    |]
    |}
  """.stripMargin

Несмотря на то, что в моей роли запрещена операция ListBucket, AWS разрешает доступ к Bucket.И я не могу навязать S3 разрешения уровня сеанса.Для роли IAM я предоставил разрешение S3FullAccess, а для пользователя IAM - разрешение IAMFullAccess.И когда я делаю это: -

 val s3Client = AmazonS3ClientBuilder.standard.withCredentials(new AWSStaticCredentialsProvider(basicSessionCredentials)).withRegion(Regions.US_WEST_2).build


  val buckets = s3Client.listBuckets
  import scala.collection.JavaConversions._
  for (b <- buckets) {
   System.out.println("List of buckets names" + b.getName)
  }

Я все еще могу перечислить ведра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...