aws_access_key

指令 'aws_access_key' 指定用于对 AWS 服务的请求进行身份验证的 AWS 访问密钥。

语法aws_access_key your_aws_access_key;
默认值none
上下文http, server, location
参数1

说明

在 NGINX 配置中,指令 'aws_access_key' 用于指定对 AWS 服务(尤其是在通过 AWS V4 身份验证协议使用 S3 时)进行身份验证所需的 AWS 访问密钥。该密钥是生成签名密钥所需凭证的重要组成部分,签名密钥用于对发送到 AWS 端点的请求进行授权和签名,从而确保对资源的安全访问。

该指令需要一个参数,即 AWS 访问密钥 ID。它可以在 'http'、'server' 和 'location' 等不同上下文中定义,根据所需的身份验证范围实现灵活配置。所提供的访问密钥必须有效,并与具有对相关 S3 存储桶或其他指定 AWS 资源执行操作权限的身份关联。对访问密钥的妥善管理(包括防止未授权访问)对于维护 AWS 账户的安全至关重要。

当服务器接收请求时,模块会自动将 'aws_access_key' 与其他配置参数(例如签名密钥和密钥范围)一并用于对相应的 AWS 服务端点的请求进行身份验证。这使得 NGINX 能够无缝地作为 AWS 服务的代理集成,同时通过使用签名请求维持强健的安全性,从而降低在服务器配置中直接暴露敏感凭证的风险。

配置示例

server {
    listen     8000;

    aws_access_key your_aws_access_key;  # Example: AKIDEXAMPLE
    aws_key_scope scope_of_generated_signing_key;  # Example: 20150830/us-east-1/service/aws4_request
    aws_signing_key signing_key_generated_using_script;  # Example: L4vRLWAO92X5L3Sqk5QydUSdB0nC9+1wfqLMOKLbRp4=
    aws_s3_bucket your_s3_bucket;

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

确保 access key 不要硬编码在可公开访问的配置文件中,以防泄露。

始终定期刷新 signing key,因为它仅在一周内有效;否则将导致身份验证错误。

在跨多台服务器部署配置时,确保 AWS access key 得到适当同步。

← 返回所有指令