上次更新日期:2020 年 12 月24 日
当我尝试使用 AWS 命令行界面 (AWS CLI) 访问我的 Amazon Simple Storage Service (Amazon S3) 存储桶时,收到错误消息。如何解决此问题?
解决方法“Unable to locate credentials”错误表示 Amazon S3 找不到用于对 AWS API 调用进行身份验证的凭证。要解决此问题,请确保在 AWS CLI 中正确配置了 AWS 凭证。
注意:如果运行 AWS CLI 命令时仍然收到错误,请确保您使用的是最新的 AWS CLI 版本。
要检查 AWS CLI 是否配置了凭证,请运行以下命令:
$ aws configure list
如果在配置文件中配置了凭证,则该命令将返回类似于以下内容的响应:
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ****************ABCD config_file ~/.aws/config
secret_key ****************ABCD config_file ~/.aws/config
region us-west-2 env AWS_DEFAULT_REGION
如果在实例配置文件中配置了凭证,则该命令将返回类似于以下内容的响应:
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ****************YVEQ iam-role
secret_key ****************2a9N iam-role
region <not set> None None
查看响应以检查凭证是否丢失或者存储的凭证是否不正确。如果是这样,请更新凭证。
注意:AWS CLI 按特定顺序调用凭证提供程序,并在找到要使用的一组凭证时停止调用提供程序。这意味着,如果您在优先级更高的凭证提供程序上配置了错误的凭证,则会收到“Unable to locate credentials”错误。即使在优先级较低的提供程序上正确配置了凭证,也会遇到此错误。
更新凭证后,请运行 Amazon S3 AWS CLI 命令(例如 aws s3 ls)测试 AWS CLI。