Возьмите на себя роль от AWS Cli с SAML - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь сгенерировать учетные данные aws, используя aws sts assume-role-with-saml из этой документации

Однако я получаю ошибки, и я не совсем понимаю, что происходит.Обычно у меня есть основная учетная запись ACCOUNT_A , где она SAML_PROVIDER , и с которой я переключаю роль на учетную запись ACCOUNT_B .Таким образом, насколько я понимаю, синтаксис должен выглядеть следующим образом:

aws sts assume-role-with-saml --role-arn arn:aws:iam::ACCOUNT_B:role/IAM_ROLE --principal-arn arn:aws:iam::ACCOUNT_A:saml-provider/SAML_PROVIDER --saml-assertion BASE64_ENCODED_RESPONSE

Но когда я пытаюсь описанным выше способом, я получаю ошибку:

Произошла ошибка (ValidationError) при вызове операции AssumeRoleWithSAML: принципал существует вне учетной записи предполагаемой роли

Тогда, если попытаться выполнить это следующим образом:

aws sts assume-role-with-saml --role-arn arn:aws:iam::ACCOUNT_B:role/IAM_ROLE --principal-arn arn:aws:iam::ACCOUNT_B:saml-provider/SAML_PROVIDER --saml-assertion BASE64_ENCODED_RESPONSE

Я получаюошибка:

Произошла ошибка (InvalidIdentityToken) при вызове операции AssumeRoleWithSAML: указанный поставщик не существует (Служба: AWSOpenIdDiscoveryService; Код состояния: 400; Код ошибки: AuthSamlManifestNotFoundException; Код запроса: 3565c77a-44b66b6-11e9-a384-b1f45948a767)

Я думаю, что документация не ясна по функциональному аспекту, и в Google нет неясного примера ... Итак, мои вопросы:

  • какие номера учетных записей я должен использовать в этих двух местах в синтаксисе?
  • Нужно ли создавать SAML IDP в учетной записи ACCOUNT_B?

1 Ответ

0 голосов
/ 12 марта 2019

на самом деле я думаю, что часть SAML смутила меня, в другой учетной записи нечего создавать (ACCOUNT_B) , если это будет означать, что вы обойдете учетную запись отказов (ACCOUNT_A) и он теряет свой интерес и свою цель безопасности. Но вы должны использовать SAML idp , присутствующий в ACCOUNT_A , чтобы сгенерировать учетные данные, которые затем позволят переключаться с A на B, точно так же, как это работает без делегирования

...