Пользователь SAML Assumed-Role не авторизован для выполнения действий - PullRequest
0 голосов
/ 20 ноября 2018

Я использую OKTA в качестве нашего провайдера идентификации, который позволяет мне определять роли, которые пользователи могут использовать при входе в консоль.

Цель: иметь роль, позволяющую пользователю войти в консольи только управлять своими ключами доступа (список, создание, обновление, удаление).

Эта политика должна позволять текущему пользователю управлять своими собственными ключами, но я получаю эту ошибку при попытке что-либо сделатькроме списка ключей доступа

User: arn:aws:sts::[ACCOUNT-NUMBER]:assumed-role/AccessKeyManagement/[Logged In Username] is not authorized to perform: iam:CreateAccessKey on resource: user [Logged In Username]

Разрешено, если я изменю ресурс на "*", он будет работать, но пользователь может изменить другие ключи доступа к учетной записи.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole",
                "sts:DecodeAuthorizationMessage",
                "iam:ListAccountAliases",
                "iam:ListUsers",
                "sts:GetCallerIdentity",
                "iam:ListAccessKeys"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:DeleteAccessKey",
                "iam:UpdateAccessKey",
                "iam:CreateAccessKey"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        }
    ]
}

Role Trusted Relationships (на всякий случай, если это необходимо)

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::[ACCOUNT-NUMBER]:saml-provider/OKTA"
      },
      "Action": [
        "sts:AssumeRoleWithSAML",
        "sts:AssumeRole"
      ],
      "Condition": {
        "StringEquals": {
          "SAML:aud": "https://signin.aws.amazon.com/saml"
        }
      }
    }
  ]
}

Я в растерянности относительно того, что мне нужно сделать, чтобы разрешить "предполагаемой роли" разрешения текущего пользователяизменить ключи доступа.

1 Ответ

0 голосов
/ 20 ноября 2018

Итак, с ролью IAM не связан постоянный ключ доступа, и вы получаете временные учетные данные (ключи доступа, секретный ключ и токен сеанса) при входе в консоль.Теперь "$ {aws: username}" преобразуется в имя пользователя IAM и не применяется к роли IAM.Таким образом, вы не можете управлять созданием ключей доступа для ролей IAM и не обязаны.

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