Создание политики для роли IAM SAML - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь создать политику для роли IAM для моих федеративных пользователей (аутентификация через моего поставщика SAML).Я слежу за Создание роли для федерации SAML 2.0 (Консоль) - Управление идентификацией и доступом AWS :

{
    "Version": "2012-10-17",
    "Statement": {
      "Effect": "Allow",
      "Action": "sts:AssumeRoleWithSAML",
      "Principal": {"Federated": "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:saml-provider/PROVIDER-NAME"},
      "Condition": {"StringEquals": {"SAML:aud": "https://signin.aws.amazon.com/saml"}}
    }
  }

Но я получаю следующую ошибку:

This policy contains the following error: Has prohibited field Principal For more information about the IAM policy grammar, see AWS IAM Policies

Я пытался Google, но безуспешно.Ответ на Политика доверия AWS запретил поле Принципал - Переполнение стека также не помогло.Может кто-нибудь сказать мне, как я могу создать политику и роль для моего провайдера SAML?

Ответы [ 2 ]

0 голосов
/ 06 мая 2019

Проблема решена. Документация старая и вводящая в заблуждение. Если вы создаете роль для поставщика SAML через консоль IAM, автоматически в нее встроены доверительные отношения. Таким образом, необходимо добавить только разрешения.

0 голосов
/ 05 мая 2019

В политике произошла ошибка. Вы пропускаете [] в выписке.

Правильная политика будет:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "<COPY & PASTE SAML ARN VALUE HERE>"
      },
      "Action": "sts:AssumeRoleWithSAML",
      "Condition": {
        "StringEquals": {
          "SAML:aud": "https://signin.aws.amazon.com/saml"
        }
      }
    }
  ]
}

Попробуйте это

...