Предоставление полномочий роли iam iam пользователю iam в той же учетной записи - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть роль AWS с разрешениями s3 только для чтения.Я уже настроил aws cli для пользователя AWS.Поэтому я хочу использовать одного и того же пользователя для просмотра файлов s3 в aws cli.то, что я сделал, добавило доверительные отношения для пользователя root к роли arn:aws:iam::<1234...>:role/test-role, чтобы я мог передать это всем своим пользователям iam

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<1234..>:root",
        "Service": "s3.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

, затем я добавил политику для пользователя, чтобы он занял вышеуказанную роль.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt12345",
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": "arn:aws:iam::<1234...>:role/test-role"
        }
    ]
}

Когда я пытаюсь составить список, я получаю ошибку «Отказано в доступе».

aws s3 ls

An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied

Я убедился, что у роли есть полное разрешение на чтение s3 следующим образом.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:Get*",
                "s3:List*"
            ],
            "Resource": "*"
        }
    ]
}

Может кто-нибудь подсказать, где проблема?

1 Ответ

0 голосов
/ 19 декабря 2018

Если вы используете CLI, вам нужен профиль с правильными учетными данными.

Ваши учетные данные должны быть в файле .aws / credentials, например:

[myprofile]
aws_access_key_id =  ... access key ...
aws_secret_access_key = ... secret access key …

ТогдаВы можете добавить профиль для предполагаемой роли в файл .aws / config, например:

[profile test-role]
source_profile=myprofile
role_arn = arn:aws:iam::<1234...>:role/test-role

Наконец, установите AWS_PROFILE на test-role перед запуском команды CLI

SET AWS_PROFILE=test-role
aws s3 ls

Я только что разместил ссылку на документацию AWS , но этот сайт не одобряет ответы только для ссылок.

...