在 AWS CLI 上找不到 IAM 凭证



我正在尝试在 ubuntu 机器上自动将数据库备份上传到 s3。我正确生成了数据库备份,但是当我尝试上传到s3时,出现以下错误:

A client error (InvalidAccessKeyId) occurred when calling the PutObject 
operation: The AWS Access Key Id you provided does not exist in our records.

我使用命令行 aws configure 命令来配置我的凭据,然后打开 ~/.aws/config 文件并确保它是正确的。我也跑了

aws configure list

并收到以下内容:

Name                    Value             Type    Location
----                    -----             ----    --------
profile                <not set>             None    None
access_key     ****************B6YQ      config_file    ~/.aws/config
secret_key     ****************Vstu      config_file    ~/.aws/config
region               cn-north-1      config_file    ~/.aws/config

当这不起作用时,我尝试为根用户和 IAM 用户重新生成新凭证,但这仍然不起作用。 我尝试了 IAM 模拟器,看看 S3 put 命令是否可以工作,它确实有效。

有人对我能做什么有任何想法吗?

从配置 AWS CLI :

AWS

CLI 使用提供程序链在多个不同位置查找 AWS 凭证,包括系统或用户环境变量以及本地 AWS 配置文件。

AWS CLI 按以下顺序查找凭证和配置设置:

  1. 命令行选项 – 可以将区域、输出格式和配置文件指定为命令选项以覆盖默认设置。

  2. 环境变量AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY

  3. AWS 凭证文件– 位于 Linux、macOS 或 Unix 上的~/.aws/credentials,或 Windows 上的C:UsersUSERNAME .awscredentials。除了默认配置文件外,此文件还可以包含多个命名配置文件。

  4. CLI 配置文件– 通常位于 Linux、macOS 或 Unix 上的~/.aws/config,或 Windows 上的C:UsersUSERNAME .awsconfig。此文件可以包含默认配置文件、命名配置文件以及每个配置文件的 CLI 特定配置参数。

  5. 实例配置文件凭证– 这些凭证可用于具有分配的实例角色的 EC2 实例,并通过 Amazon EC2 元数据服务提供。

您也可以设置AWS_DEFAULT_PROFILE,这将覆盖配置文件中使用的凭据。

相关内容

  • 没有找到相关文章

最新更新