aws_key_scope

定义用于对 AWS 服务的请求进行身份验证的签名密钥的作用域。

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

说明

NGINX 的 AWS 身份验证模块中的 aws_key_scope 指令指定为 AWS 服务生成的签名密钥的作用域。此作用域是根据 AWS 的 Signature Version 4 过程正确签署请求所必需的。它通常包含日期、区域和服务,格式为 YYYYMMDD/region/service/aws4_request。使用正确的作用域可确保授权机制能够针对目标 AWS 服务端点验证请求。通过在 httpserverlocation 上下文级别设置此指令,用户可以为应用的不同部分配置不同的作用域,以适应不同的服务端点或区域。

当发出请求时,NGINX 会结合该作用域和生成的签名密钥来创建 S3 可以验证的正确签名请求。键作用域有助于隔离签名密钥,使得管理安全性和访问控制更容易。由于 AWS 签名密钥被视为敏感信息,最佳做法是确保它们得到安全管理并定期刷新,因为它们仅在有限时间内有效,通常为一周。

总之,此指令对于将 NGINX 有效配置为 AWS 服务(尤其是 S3)的代理至关重要,既能确保请求被正确认证,又能防止访问密钥和签名密钥等敏感信息被不必要地暴露。

配置示例

server {
    listen 8000;
    aws_access_key your_aws_access_key;
    aws_key_scope 20150830/us-east-1/service/aws4_request;
    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;
    }
}

确保密钥作用域字符串的格式符合 AWS 要求:YYYYMMDD/region/service/aws4_request

注意密钥的有效期;签名密钥需要经常刷新。

避免在公开可访问的配置中暴露您的 AWS 访问密钥和签名密钥。

← 返回所有指令