Каково использование токена сеанса в службе токенов безопасности (STS)
В ответ на запросы STS, такие как «AssumeRole» и т. Д., Службы STS возвращают временные учетные данные безопасности, которые состоят из <ключ доступа, секретный ключ, токен сеанса / безопасности>. В то время как «ключ доступа» используется для идентификации пользователя, секретный ключ используется для обеспечения (подтверждения) того, что пользователь действительно является тем, кому были выданы временные учетные данные (при условии, что учетные данные не были украдены). В чем же тогда польза от третьей части, «токена сеанса / безопасности»?
2 ответа
Маркер сеанса, скорее всего, содержит список утверждений, одним из которых может быть «Прошел ли пользователь проверку подлинности MFA». Но я не вижу использования открытого/закрытого ключа доступа.
Я не являюсь сотрудником AWS и не обладаю внутренними знаниями об авторизации IAM, так что это предположение.
Учитывая это, я предполагаю, что токен сеанса - это оптимизация. Похоже, это значение в кодировке Base64, и я ожидал, что оно содержит как минимум подписанную временную метку, которая указывает, когда истекает срок действия учетных данных. Это позволяет интерфейсным серверам AWS быстро отклонять просроченные токены без необходимости просматривать базу данных.
Это оптимизация, которая необходима, потому что можно ожидать, что количество идентификаторов сеанса на несколько порядков больше, чем «долгоживущие» учетные данные, назначенные пользователям.