Облачные инструменты

отладка подписи AWS SigV4

Введите фактические поля запроса и проследите создание подписи в заголовке.

отладка подписи AWS SigV4

Поля запроса

Дополнительные заголовки (по одному на строку)

Текст тела (UTF-8)

Результат подписи

Вычисление в браузере без отправки запроса. Используйте тестовые, а не рабочие секретные ключи.

Параметры и эталоны

Время UTC

Эталонный канонический запрос

Введите URL запроса.

Токен скрыт в отчёте; по скрытому каноническому запросу нельзя повторить расчёт.

Ошибка SignatureDoesNotMatch не всегда означает неверный ключ. Отладка подписи AWS SigV4 показывает канонический запрос с путём, параметрами, заголовками и хешем тела, чтобы сравнить его с ожидаемым значением сервиса.

В опубликованном примере S3 есть фиктивные ключи, фиксированное время и известная подпись. Вычисление остаётся в браузере и не проверяет разрешения IAM или доступность ресурса.

Зачем нужна отладка подписи AWS SigV4

Вместо догадок о ключах сравните конкретные байты запроса.

Найдите разницу кодирования

Отладка подписи AWS SigV4 сортирует имена и значения параметров после кодирования, сохраняет повторы и нормализует пробелы заголовков. Разница между `+` и `%20` сразу видна в каноническом запросе.

Повторяющиеся параметры и заголовки переходят в упорядоченный канонический запрос без изменения слэшей пути.

Проследите цепочку вычисления

Показаны SHA-256 канонического запроса, область действия ключа и строка для подписи. Вставьте эталонный канонический запрос, и отладка подписи AWS SigV4 выделит первую отличающуюся строку даже без секретного ключа.

Канонический запрос проходит через хеш и строку для подписи к локальной подписи рядом с эталоном.

Воспроизведите подпись с постоянными входными данными

01

Зафиксируйте время

Метка UTC заполняется при открытии страницы только один раз; кнопка «Сейчас» обновляет её вручную. Публичный пример S3 сначала показывает предварительный просмотр замены полей.

02

Проверьте канонизацию до HMAC

Запустите расчёт вручную или нажмите Ctrl/Cmd+Enter. Сверьте URI, отсортированные параметры, нормализованные заголовки и хеш тела. Для S3 значение x-amz-content-sha256 определяется выбранным режимом.

03

Сравните с эталоном

Канонический запрос можно сравнить без ключа. Только итоговая подпись требует одноразовых тестовых данных. Общий отчёт скрывает Session Token; точный текст канонического запроса копируется отдельно.

Какие этапы подписания видны

Шесть частей канонического запроса

Метод, URI, отсортированные параметры, заголовки, SignedHeaders и хеш тела собираются по правилам SigV4. Повторные параметры остаются; `+` кодируется как `%2B`, а не превращается в пробел.

Строка для подписи и область

Показаны SHA-256 канонического запроса и область date/region/service/aws4_request. Неверный регион меняет и строку для подписи, и производный HMAC-ключ.

Необязательная тестовая подпись

Структуру можно исследовать без секрета. С одноразовой парой ключей локально вычисляются Signature и Authorization; секрет и промежуточные ключи не показываются.

Первая разница с эталоном

Канонический запрос сверяется построчно, 64-символьная шестнадцатеричная подпись — по значению. Совпадение в браузере не доказывает, что AWS примет запрос.

Границы локальной проверки

Только заголовок Authorization
Вычисляется AWS4-HMAC-SHA256 для заголовка Authorization. Подписанные URL, SigV4a, V2, потоковая загрузка и импорт cURL или HAR сюда не входят.
Без обращения к AWS
Запрос не отправляется ни в AWS, ни по указанному URL. Совпадение тестового HMAC не доказывает действительность учётных данных, права IAM или сохранность байтов после прокси.
Путь и тело не исправляются молча
Путь объекта S3 не нормализуется. Неоднозначные сегменты с точками и закодированные слэши вызывают ошибку. Хеш вычисляется только для вставленного текста UTF-8, не для файла или потока.
Временные токены требуют осторожности
Session Token подписывается в x-amz-security-token и может оказаться в точном каноническом запросе. Общий отчёт скрывает токен, поэтому по нему нельзя пересчитать подпись.

Частые вопросы: отладка подписи AWS SigV4

Почему AWS возвращает SignatureDoesNotMatch для подписанного запроса?

Сначала сравните канонический запрос клиента с ожидаемым текстом в ответе AWS. Отладка подписи AWS SigV4 укажет первую отличающуюся строку; проверьте кодирование пути, порядок параметров, подписанные заголовки и хеш тела.

Как проверить канонический запрос до вычисления подписи?

Укажите метод, URL, заголовки и текст тела, затем запустите расчёт. Сравните полученный канонический запрос с журналом SDK или ошибкой сервиса. Секретный ключ для этого не требуется.

Может ли прокси нарушить подпись SigV4?

Да. Изменение хоста, пути, параметров, подписанного заголовка или тела после подписания приводит к другому значению у сервиса. По возможности сравните запрос до и после прокси.

Влияют ли регион и сервис на ключ подписи?

Да. Оба значения входят в область действия и цепочку получения HMAC-ключа. Проверьте фактический регион и код сервиса для используемой конечной точки.

Означает ли AccessDenied, что подпись верна?

Не обязательно делать такой вывод только по тексту ошибки: поведение зависит от сервиса. Этот инструмент не обращается к AWS и не знает политику IAM; изучите журналы и диагностику прав.

Остались вопросы?

Запустить отладку подписи AWS SigV4

Сначала проверьте опубликованный тестовый вектор S3, затем сравните свой непроизводственный запрос. Отладка подписи AWS SigV4 не отправляет его в сеть.