Получение временных учетных данных для федерации
Описание
Возвращает набор временных учетных данных безопасности (состоящий из идентификатора ключа доступа, секретного ключа доступа и маркера безопасности) для пользователя. Типичное использование — в прокси-приложении, которое получает временные учетные данные безопасности от имени распределенных приложений внутри корпоративной сети.
Вы должны вызвать операцию GetFederationToken, используя долгосрочные учетные данные безопасности пользователя IAM. Таким образом, этот вызов подходит в контекстах, где эти данные могут быть защищены, обычно в приложении на сервере. Для сравнения GetFederationToken с другими операциями API, которые создают временные учетные данные, см. Запрос временных учетных данных безопасности и Сравнение учетных данных STS в руководстве пользователя IAM.
Хотя можно вызвать GetFederationToken, используя учетные данные безопасности учетной записи Amazon Web Services, а не пользователя IAM, которого вы создали для целей прокси-приложения, мы этого не рекомендуем. Дополнительную информацию см. в разделе Обеспечение безопасности учетных данных вашего root-пользователя и не используйте их для повседневных задач в руководстве пользователя IAM.
Примечание
AssumeRoleWithWebIdentity. Дополнительную информацию см. в разделе Федерация с помощью поставщика веб-идентификации в руководстве пользователя IAM.Продолжительность сессии
Временные учетные данные действительны в течение указанного периода времени, от 900 секунд (15 минут) до максимального значения 129 600 секунд (36 часов). По умолчанию продолжительность сессии составляет 43 200 секунд (12 часов). Временные учетные данные, полученные с помощью учетных данных root-пользователя, имеют максимальную продолжительность 3 600 секунд (1 час).
Вы можете использовать временные учетные данные, созданные GetFederationToken, в любом сервисе Amazon Web Services, за исключением следующих:
- Вы не можете вызывать какие-либо операции IAM с помощью командной строки или API Amazon Web Services. Это ограничение не относится к сессиям консоли.
- Вы не можете вызывать какие-либо операции STS, кроме
GetCallerIdentity.
Вы можете использовать временные учетные данные для однократного входа (SSO) в консоль.
Вы должны передать политику сессии в виде встроенной или управляемой политики в эту операцию. Вы можете передать один JSON-документ политики в качестве встроенной политики сессии. Вы также можете указать до 10 управляемых имен ресурсов Amazon (ARN), которые будут использоваться в качестве управляемых политик сессии. Текст без форматирования, который вы используете для встроенных и управляемых политик сессии, не может превышать 2048 символов.
Хотя параметры политики сессии необязательны, если вы не передадите политику, результирующая сессия федеративного пользователя не будет иметь разрешений. Когда вы передаете политики сессии, разрешения сессии являются пересечением политик пользователя IAM и политик сессии, которые вы передаете. Это дает вам возможность дополнительно ограничить разрешения федеративного пользователя. Вы не можете использовать политики сессии для предоставления большего количества разрешений, чем те, которые определены в политике разрешений пользователя IAM. Дополнительную информацию см. в разделе Политики сессии в руководстве пользователя IAM. Сведения об использовании GetFederationToken для создания временных учетных данных безопасности см. в разделе GetFederationToken—Федерация с помощью пользовательского брокера идентификации.
Вы можете использовать учетные данные для доступа к ресурсу, имеющему политику на основе ресурса. Если эта политика конкретно ссылается на сессию федеративного пользователя в элементе Principal политики, сессия имеет разрешения, разрешенные политикой. Эти разрешения предоставляются дополнительно к разрешениям, предоставленным политиками сессии.
(Необязательно) Вы можете передать пары значений ключей тегов в свою сессию. Это теги сессии. Дополнительную информацию о тегах сессии см. в разделе Передача тегов сессии в STS в руководстве пользователя IAM.
Примечание
Вы можете создать мобильное или веб-приложение, которое может аутентифицировать пользователей с помощью поставщика веб-идентификации, такого как Login with Amazon, Facebook, Google или совместимого с OpenID Connect поставщика идентификации. В этом случае мы рекомендуем использовать Amazon Cognito илиAssumeRoleWithWebIdentity. Дополнительную информацию см. в разделе Федерация с помощью поставщика веб-идентификации в руководстве пользователя IAM.Администратор должен предоставить вам разрешения, необходимые для передачи тегов сессии. Администратор также может создать детализированные разрешения, чтобы позволить вам передать только определенные теги сессии. Дополнительную информацию см. в разделе Учебник: Использование тегов для управления доступом на основе атрибутов в руководстве пользователя IAM.
Пары значений ключей тегов не чувствительны к регистру, но регистр сохраняется. Это означает, что у вас не может быть отдельных Department и department ключей тегов. Предположим, что пользователь, которого вы федерализируете, имеет тег Department = «Маркетинг», и вы передаете тег сессии department = «инженерия». Department и department не сохраняются как отдельные теги, и тег сессии, переданный в запросе, имеет приоритет над тегом пользователя.
См. также: Документация API AWS
Синтаксис
get-federation-token
--name <value>
[--policy <value>]
[--policy-arns <value>]
[--duration-seconds <value>]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--name (строка)
Имя федеративного пользователя. Имя используется в качестве идентификатора временных учетных данных безопасности (например, Bob). Например, вы можете использовать имя федеративного пользователя в политике, основанной на ресурсах, такой как политика для ведра Amazon S3.
Для валидации этого параметра используется регулярное выражение, которое представляет собой строку, состоящую из символов верхнего и нижнего регистра, латинских букв и цифр без пробелов. Вы также можете включать символы подчеркивания или следующие символы: =,.@-
--policy (строка)
Политика IAM в формате JSON, которую вы хотите использовать как политику сеанса в строчном виде.
Вы должны передать политику сеанса в строчном виде или управляемую политику в этот операцию. Вы можете передать один документ политики JSON, чтобы использовать его как политику сеанса в строчном виде. Вы также можете указать до 10 управляемых политик Amazon Resource Names (ARN) для использования как управляемых политик сеанса.
Этот параметр является необязательным. Однако если вы не передадите никакие политики сеанса, то полученный сеанс федеративного пользователя не будет иметь прав.
При передаче политик сеанса права сеанса являются пересечением политик пользователя IAM и политик сеанса, которые вы передаете. Это позволяет вам дополнительно ограничить права федеративного пользователя. Вы не можете использовать политики сеанса, чтобы предоставить больше прав, чем те, которые определены в политике разрешений пользователя IAM. Дополнительную информацию см. в разделе Политики сеанса в руководстве IAM User Guide.
Полученные учетные данные могут быть использованы для доступа к ресурсу, имеющему политику на основе ресурсов. Если эта политика конкретно ссылается на сеанс федеративного пользователя в элементе Principal политики, сеанс имеет права, разрешенные политикой. Эти права предоставляются в дополнение к правам, предоставляемым политиками сеанса.
Текстовый формат, используемый как для политик сеанса в строчном виде, так и для управляемых политик, не может превышать 2048 символов. Символы политики JSON могут быть любыми символами ASCII от пробела до конца списка допустимых символов (u0020 до u00FF). Он также может включать символы табуляции (u0009), новой строки (u000A) и возврата каретки (u000D).
Примечание
Система Amazon Web Services сжимает переданную политику сеанса в строчном виде, управляемые имена ресурсов и теги сеанса в упакованный двоичный формат, имеющий отдельный предел. Ваш запрос может быть отклонен из-за этого предела, даже если ваш текстовый формат соответствует другим требованиям. Элемент ответаPackedPolicySize показывает процентное соотношение того, насколько близки политики и теги вашего запроса к верхнему пределу размера.--policy-arns (список)
Amazon Resource Names (ARN) управляемых политик IAM, которые вы хотите использовать в качестве управляемой политики сеанса. Политики должны существовать в той же учетной записи, что и пользователь IAM, запрашивающий федеративный доступ.
Вы должны передать политику сеанса в строчном виде или управляемую политику в этот операцию. Вы можете передать один документ политики JSON, чтобы использовать его как политику сеанса в строчном виде. Вы также можете указать до 10 управляемых политик Amazon Resource Names (ARN) для использования как управляемых политик сеанса. Текстовый формат, используемый как для политик сеанса в строчном виде, так и для управляемых политик, не может превышать 2048 символов. Вы можете предоставить до 10 управляемых имен ресурсов. Дополнительную информацию об именах ресурсов см. в разделе Имена ресурсов Amazon (ARN) и пространства имен служб Amazon Web Services в общем справочнике Amazon Web Services.
Этот параметр является необязательным. Однако если вы не передадите никакие политики сеанса, то полученный сеанс федеративного пользователя не будет иметь прав.
При передаче политик сеанса права сеанса являются пересечением политик пользователя IAM и политик сеанса, которые вы передаете. Это позволяет вам дополнительно ограничить права федеративного пользователя. Вы не можете использовать политики сеанса, чтобы предоставить больше прав, чем те, которые определены в политике разрешений пользователя IAM. Дополнительную информацию см. в разделе Политики сеанса в руководстве IAM User Guide.
Полученные учетные данные могут быть использованы для доступа к ресурсу, имеющему политику на основе ресурсов. Если эта политика конкретно ссылается на сеанс федеративного пользователя в элементе Principal политики, сеанс имеет права, разрешенные политикой. Эти права предоставляются в дополнение к правам, предоставляемым политиками сеанса.
Примечание
Система Amazon Web Services сжимает переданную политику сеанса в строчном виде, управляемые имена ресурсов и теги сеанса в упакованный двоичный формат, имеющий отдельный предел. Ваш запрос может быть отклонен из-за этого предела, даже если ваш текстовый формат соответствует другим требованиям. Элемент ответаPackedPolicySize показывает процентное соотношение того, насколько близки политики и теги вашего запроса к верхнему пределу размера.(структура)
Ссылка на управляемую политику IAM, передаваемую в качестве политики сеанса для сеанса роли или сеанса федеративного пользователя.
arn -> (строка)
Сокращенная запись:
arn=string ...
Синтаксис JSON:
[
{
"arn": "string"
}
...
]
--duration-seconds (целое число)
--tags (список)
Список тегов сеанса. Каждый тег сеанса состоит из имени ключа и соответствующего значения. Дополнительную информацию о тегах сеанса см. в разделе Передача тегов сеанса в STS в руководстве IAM User Guide.
Этот параметр является необязательным. Вы можете передать до 50 тегов сеанса. Ключи текстовых тегов сеанса не могут превышать 128 символов, а значения — 256 символов. Дополнительную информацию о этих и других ограничениях см. в разделе Ограничения символов IAM и STS в руководстве IAM User Guide.
Примечание
Система Amazon Web Services сжимает переданную политику сеанса в строчном виде, управляемые имена ресурсов и теги сеанса в упакованный двоичный формат, имеющий отдельный предел. Ваш запрос может быть отклонен из-за этого предела, даже если ваш текстовый формат соответствует другим требованиям. Элемент ответаPackedPolicySize показывает процентное соотношение того, насколько близки политики и теги вашего запроса к верхнему пределу размера.Вы можете передать тег сеанса с тем же ключом, что и тег, уже прикрепленный к пользователю, для которого выполняется федерация. В этом случае теги сеанса перезаписывают тег пользователя с тем же ключом.
Значения пар ключ-значение тегов не чувствительны к регистру, но регистр сохраняется. Это означает, что у вас не может быть отдельных тегов Department и department. Предположим, что у роли есть тег Department =``Маркетинг``, и вы передаете тег сеанса department =``инженерия``. Department и department не сохраняются как отдельные теги, и тег сеанса, переданный в запросе, имеет приоритет перед тегом роли.
(структура)
Вы можете передавать пользовательские пары атрибутов ключ-значение при доступе к роли или федерации пользователя. Они называются тегами сеанса. Затем вы можете использовать теги сеанса для управления доступом к ресурсам. Дополнительную информацию см. в разделе Использование тегов сеанса Amazon Web Services STS в руководстве IAM User Guide.
Ключ -> (строка)
Ключ тега сеанса.
Вы можете передать до 50 тегов сеанса. Ключи текстовых тегов сеанса не могут превышать 128 символов. Дополнительную информацию о этих и других ограничениях см. в разделе Ограничения символов IAM и STS в руководстве IAM User Guide.
Значение -> (строка)
Значение тега сеанса.
Вы можете передать до 50 тегов сеанса. Значения текстовых тегов сеанса не могут превышать 256 символов. Дополнительную информацию о этих и других ограничениях см. в разделе Ограничения символов IAM и STS в руководстве IAM User Guide.
Сокращенная запись:
Key=string,Value=string ...
Синтаксис JSON:
[
{
"Key": "string",
"Value": "string"
}
...
]
--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из переданной строки JSON. Строка JSON соответствует формату, предоставленному --generate-cli-skeleton. Если на командной строке указаны другие аргументы, эти значения переопределят значения из JSON. Передать произвольные двоичные значения с помощью значения, предоставленного в JSON, невозможно, так как строка будет воспринята буквально. Этот параметр не может быть указан вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса API. При отсутствии значения или значении input выводит пример JSON-ввода, который может использоваться в качестве аргумента для --cli-input-json. Аналогично, если указано yaml-input, он выведет пример YAML-ввода, который можно использовать с --cli-input-yaml. Если указано значение output, оно валидирует входные данные команды и возвращает пример JSON-вывода для этой команды. Сгенерированный JSON-скелет не стабилен между версиями AWS CLI, и нет гарантий обратной совместимости в генерируемом JSON-скелете.
Общие параметры
--debug (boolean)
Включить отладку логов.
--endpoint-url (string)
Переопределить URL по умолчанию команды заданным URL.
--no-verify-ssl (boolean)
По умолчанию, AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет поведение по умолчанию проверки SSL-сертификатов.
--no-paginate (boolean)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (string)
Стиль форматирования вывода команд.
- json
- text
- table
- yaml
- yaml-stream
--query (string)
Запрос JMESPath для фильтрации данных ответа.
--profile (string)
Использовать конкретный профиль из файла аутентификации.
--region (string)
Регион для использования. Переопределяет настройки из конфигурации/окружения.
--version (string)
Отобразить версию этого инструмента.
--color (string)
Включить/выключить цветной вывод.
- on
- off
- auto
--no-sign-request (boolean)
Не подписывать запросы. Кредиты не будут загружены, если этот аргумент предоставлен.
--ca-bundle (string)
Файл с сертификатами CA для проверки SSL-сертификатов. Переопределяет настройки из конфигурации/окружения.
--cli-read-timeout (int)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и без таймаута. Значение по умолчанию - 60 секунд.
--cli-connect-timeout (int)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и без таймаута. Значение по умолчанию - 60 секунд.
--cli-binary-format (string)
Стиль форматирования для двоичных блоков. Формат по умолчанию - base64. Формат base64 ожидает, что двоичные блоки будут представлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, соответствующего двоичному блоку, fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (boolean)
Отключить вывод пейджера CLI.
--cli-auto-prompt (boolean)
Автоматически запросить параметры ввода CLI.
--no-cli-auto-prompt (boolean)
Отключить автоматическое запроса параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительная информация представлена в руководстве по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования, похожие на Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. использование кавычек со строками в Руководстве пользователя AWS CLI.
Для получения набора временных учетных данных безопасности с использованием ключей доступа к учетным данным пользователя IAM
Следующий get-federation-token пример возвращает набор временных учетных данных безопасности (состоящих из идентификатора ключа доступа, секретного ключа доступа и токена безопасности) для пользователя. Вам необходимо вызвать операцию GetFederationToken с использованием долгосрочных учетных данных безопасности пользователя IAM.
aws sts get-federation-token \
--name Bob \
--policy file://myfile.json \
--policy-arns arn=arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess \
--duration-seconds 900
Содержимое myfile.json:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "elasticloadbalancing:Describe*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:ListMetrics",
"cloudwatch:GetMetricStatistics",
"cloudwatch:Describe*"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "autoscaling:Describe*",
"Resource": "*"
}
]
}
Вывод:
{
"Credentials": {
"AccessKeyId": "ASIAIOSFODNN7EXAMPLE",
"SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"SessionToken": "EXAMPLEpZ2luX2VjEGoaCXVzLXdlc3QtMiJIMEYCIQC/W9pL5ArQyDD5JwFL3/h5+WGopQ24GEXweNctwhi9sgIhAMkg+MZE35iWM8s4r5Lr25f9rSTVPFH98G42QQunWMTfKq0DCOP//////////wEQAxoMNDUyOTI1MTcwNTA3Igxuy3AOpuuoLsk3MJwqgQPg8QOd9HuoClUxq26wnc/nm+eZLjHDyGf2KUAHK2DuaS/nrGSEXAMPLE",
"Expiration": "2023-12-20T02:06:07+00:00"
},
"FederatedUser": {
"FederatedUserId": "111122223333:Bob",
"Arn": "arn:aws:sts::111122223333:federated-user/Bob"
},
"PackedPolicySize": 36
}
Дополнительная информация представлена в разделе Запрос временных учетных данных безопасности в Руководстве пользователя AWS IAM.
Вывод
Credentials -> (структура)
Временные учетные данные безопасности, включающие идентификатор ключа доступа, секретный ключ доступа и токен безопасности (или сеанса).
Примечание
Размер токена безопасности, возвращаемого операциями API STS, не фиксирован. Не рекомендуется делать предположений о максимальном размере.AccessKeyId -> (строка)
SecretAccessKey -> (строка)
SessionToken -> (строка)
Expiration -> (временная метка)
FederatedUser -> (структура)
Идентификаторы федеративного пользователя, связанные с учетными данными (например, arn:aws:sts::123456789012:federated-user/Bob или 123456789012:Bob). Вы можете использовать ARN федеративного пользователя в политиках на основе ресурсов, таких как политика для ведра Amazon S3.
FederatedUserId -> (строка)
Arn -> (строка)
PackedPolicySize -> (целое число)
© Copyright 2025, Amazon Web Services. Created using Sphinx.