TL; DR - AWS не раскрывает, как ключи хранятся и извлекаются.
Как вы сказали, AWS определенно использует ваш секретный ключ доступа для воссоздания подписи. Я не могу найти документацию от AWS о том, как секретный ключ доступа вызывается для этой цели. Ниже приведена полная ссылка, но здесь приведен поток, на который вы ссылались:
AWS учитывает идентификатор ключа доступа AWS и секретный доступ Ключ должен быть похож на имя пользователя и пароль.
Как имя пользователя и пароль, вы должны использовать оба идентификатора ключа доступа и секретный ключ доступа для аутентификации ваших запросов.
К вашим конкретным c вопросам :
Они хранят мой секретный ключ вместе с моим ключом доступа и просто ищут его?
AWS (насколько мне известно) не опубликовали, как они хранят любой ключ, но я бы предположил, что это похоже на то, как Unix хранит пароли, т. е. пользователь (идентификатор ключа доступа) находится в виде простого текста, а пароль (секретный ключ доступа) либо зашифрован, либо хеширован. Это безопасно и не может быть просмотрено.
Или они могут сгенерировать мой секретный ключ на основе ключа доступа?
Нет, как только сгенерирован секретный ключ доступа в первый раз он не может быть сгенерирован снова.
Вы можете получить секретный ключ доступа только при первоначальном создании пары ключей. Как и пароль, вы не сможете восстановить его позже. Если вы его потеряете, вы должны создать новую пару ключей.
Ссылки
Ключи доступа и секретные ключи доступа
Чтобы получить AWS идентификатор доступа и секретный ключ
V4 Аутентификация запросов