AWS API 网关授权方:同时需要 OAuth 令牌和 API 密钥可以获得什么安全性?
AWS API Gateway Authorizer: What security is gained by requiring both an OAuth token and an API key?
我正在尝试使用 AWS Cognito 用户池令牌保护 AWS API 网关。 API 网关授权方设置允许我要求 HTTP 请求同时包含 x-api-key
header 和 authorization
header(包含 JWT 令牌)。我附上了这张照片。
在我看来,要求 API 密钥和 OAuth 令牌是多余的。要求此端点的客户端同时提供两者可能有什么实际的安全优势?
Api键更多的是配合Usage Plan来控制
- 给定客户端可以访问哪些阶段。
- 设置节流限制。例如:每分钟 100 次调用。
- 设置配额限制。例如:每天 10 万次调用。
Api 键实际上不包含任何用户特定的详细信息,它通常是根据 application/client.
创建的静态值
就我个人而言,我什至不认为这个 AWS Api 密钥等同于老派的 Basic Auth header,并且根本没有用于保护 api。
另一方面,身份验证 Header 通常 access_token and/or id_token,当特定用户成功 authorized/authenticated 针对身份验证服务器并获得收益时生成访问 API。
来自文档:
Don't rely on API keys as your only means of authentication and
authorization for your APIs. For one thing, if you have multiple APIs
in a usage plan, a user with a valid API key for one API in that usage
plan can access all APIs in that usage plan. Instead, use an IAM role,
a Lambda authorizer, or an Amazon Cognito user pool.
我正在尝试使用 AWS Cognito 用户池令牌保护 AWS API 网关。 API 网关授权方设置允许我要求 HTTP 请求同时包含 x-api-key
header 和 authorization
header(包含 JWT 令牌)。我附上了这张照片。
在我看来,要求 API 密钥和 OAuth 令牌是多余的。要求此端点的客户端同时提供两者可能有什么实际的安全优势?
Api键更多的是配合Usage Plan来控制
- 给定客户端可以访问哪些阶段。
- 设置节流限制。例如:每分钟 100 次调用。
- 设置配额限制。例如:每天 10 万次调用。
Api 键实际上不包含任何用户特定的详细信息,它通常是根据 application/client.
创建的静态值就我个人而言,我什至不认为这个 AWS Api 密钥等同于老派的 Basic Auth header,并且根本没有用于保护 api。
另一方面,身份验证 Header 通常 access_token and/or id_token,当特定用户成功 authorized/authenticated 针对身份验证服务器并获得收益时生成访问 API。
来自文档:
Don't rely on API keys as your only means of authentication and authorization for your APIs. For one thing, if you have multiple APIs in a usage plan, a user with a valid API key for one API in that usage plan can access all APIs in that usage plan. Instead, use an IAM role, a Lambda authorizer, or an Amazon Cognito user pool.