我尝试访问我的 Amazon Simple Storage Service (Amazon S3) 存储桶,但我收到了以下错误: “The AWS Access Key Id you provided does not exist in our records”(您提供的 AWS 访问密钥 ID 在我们的记录中不存在)。
解决方法
出现此错误是因为您使用的凭证存在问题。您使用的访问密钥可能已被删除或处于非活动状态。或者,与 Amazon S3 存储桶关联的 AWS Identity and Access Management (IAM) 角色或用户可能已被删除或不存在。
**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
要解决此问题,请检查您使用的用户凭证以确保其有效。运行以下 AWS CLI 命令以列出存储的访问密钥:
aws configure list
您还可以运行 get-caller-identity AWS CLI 命令来获取有关您用于调用 API 的 IAM 凭证的详细信息:
aws sts get-caller-identity
要使用 AWS SDK 获取用户凭证,请运行 GetCallerIdentity API 操作:
如果您使用 IAM 角色访问您的 Amazon S3 存储桶,请按照以下步骤验证该角色是否存在:
- 打开 IAM 控制台。
- 选择 Roles(角色)。
- 在 Role name(角色名称)中,确认 IAM 角色存在。如果该角色不存在,请创建新的 IAM 角色。
如果您使用 IAM 用户访问您的 S3 存储桶,请按照以下步骤验证该用户是否存在并检查凭证:
- 打开 IAM 控制台。
- 选择 Users(用户)。
- 在 User name(用户名)中,验证 IAM 用户是否存在。如果该用户不存在,请创建新的 IAM 用户。
- 如果 IAM 用户存在,请选择 IAM 用户名以查看 IAM 用户对象的详细信息。
- 选择 Security credentials(安全凭证)选项卡,然后检查关联的 Access keys(访问密钥)是否出现。如果访问密钥丢失或处于非活动状态,请创建新的访问密钥或激活密钥。
**注意:**如果您使用了会话令牌,请确保将会话令牌与访问密钥和秘密密钥一起传递。