当我尝试在 Amazon DynamoDB 中发出 GET 或 PUT 请求时,出现错误“security token included in the request is invalid”(请求中包含的安全令牌无效)。
简短描述
在以下情况下,您可能会收到错误 security token included in the request is invalid(请求中包含的安全令牌无效):
- 您使用了 AWS 客户端的临时凭证,但凭证已过期。
- 您用于对请求进行身份验证的安全令牌存在问题。
- 您的 Amazon Elastic Compute Cloud (Amazon EC2) 实例的日期和时间设置不正确,导致您的 AWS 凭证被拒绝。
解决方法
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
使用 Amazon Time Sync Service 或其他 NTP 源
要保持您的实例的准确时间参考,请配置 Amazon Time Sync Service 或其他网络时间协议 (NTP) 源。
更新您的 AWS 凭证
要查看您的凭证,请使用 --debug 设置运行 update-access-key 命令。如果您使用安全令牌服务,请运行 get-caller-identity 命令。如果您的 AWS 凭证不正确,请使用 AWS CLI 更新您的 AWS 访问密钥 ID 和秘密访问密钥。
使用正确的凭证配置您的 AWS CLI 或 AWS SDK
要在 AWS CLI 中配置您的凭证,请运行 configure 命令。
要在 AWS SDK 中配置您的凭证,您可以使用环境变量、AWS 凭证文件或 AWS Secrets Manager。
刷新您的临时凭证
如果您对 DynamoDB 使用临时凭证,请在凭证即将到期前 5 分钟刷新您的凭证。
对您的实例使用 IAM 角色
如果您使用 EC2 实例作为客户端计算机,则将实例配置文件附加到您的实例。确保您未在代码或实例上指定任何其他凭证。实例配置文件是默认凭证提供程序链搜索凭证的最后位置。如果凭证位于搜索链的前端位置,则您无法使用 AWS Identity and Access Management (IAM) 角色。有关详细信息,请参阅配置和凭证优先级。
轮换您的凭证
如果您仍然遇到问题,请轮换您的凭证。
相关信息
为 SDK 提供临时凭证