aws_signing_key

Директива `aws_signing_key` задаёт ключ подписи AWS, используемый для аутентификации запросов к сервисам AWS через NGINX.

Синтаксисaws_signing_key string;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива aws_signing_key является частью модуля NGINX, который упрощает проксирование запросов к аутентифицированным сервисам AWS, таким как S3. Эта директива принимает один аргумент — предварительно вычисленный ключ подписи. Ключ подписи является результатом криптографической процедуры, предназначенной для аутентификации запросов в соответствии с процессом подписи версии 4 от AWS.

При настройке NGINX для взаимодействия с сервисами AWS крайне важно надёжно обрабатывать ключ подписи. Ключ подписи не следует путать с AWS secret access key; он специально генерируется для аутентификации и действителен в течение ограниченного срока (обычно одну неделю). Чтобы избежать потенциальных рисков безопасности, обычно рекомендуется не хранить AWS secret access key на сервере NGINX. Вместо этого следует использовать безопасную систему для управления и распределения ключей подписи по мере необходимости. Директива aws_signing_key должна быть установлена корректно, чтобы обеспечить успешную аутентификацию запросов; в противном случае запросы не пройдут аутентификацию при отправке в AWS.

Эту директиву можно использовать в различных контекстах: http, server и location, что даёт гибкость в конфигурации в зависимости от метода доступа к сервисам AWS. В сочетании с другими директивами, такими как aws_access_key, aws_key_scope и aws_endpoint, она формирует комплексную конфигурацию для управления аутентификацией сервисов AWS. Обратите внимание, что поскольку этот модуль не проверяет наличие ключей подписи, пропуск этой настройки может привести к ошибкам доступа, особенно если запросы отправляются к защищённым конечным точкам AWS.

Пример конфига

server {
    listen     8000;

    aws_access_key your_aws_access_key;
    aws_key_scope scope_of_generated_signing_key;
    aws_signing_key signing_key_generated_using_script;
    aws_s3_bucket your_s3_bucket;

    location / {
        aws_sign;
        proxy_pass http://your_s3_bucket.s3.amazonaws.com;
    }
}

Убедитесь, что ключ подписи хранится надежно и, по возможности, не прописывается напрямую в конфигурации.

Ключ подписи необходимо регулярно обновлять, так как у него ограниченный срок действия.

Несоответствие ключа подписи ключу доступа или региону может привести к ошибкам аутентификации.

← Ко всем директивам