我的 AWS CLI 配置有什么问题?

What's wrong with my AWS CLI configuration?

我正在尝试使用 AWS CLI 工具将文件上传到 Amazon Glacier。我使用 pip:

安装了 awscli
sudo pip install awscli

我创建了一个具有 AmazonGlacierFullAccess 权限的新 AWS IAM 组 example

我创建了一个新的 AWS IAM 用户 example 并将该用户添加到 example 组。我还为用户创建了一个新的访问密钥。

我创建了一个新的 AWS Glacier Vault example 并编辑了策略文档以允许 example 用户无条件地允许操作 glacier:*

然后我 运行 aws configure 并添加了 "Access Key ID" 和 "Secret Access Key" 以及默认区域。

当我运行:

aws glacier list-vaults

我收到错误:

aws: error: argument --account-id is required

如果我添加账户ID:

aws --account-id=[example user account ID] glacier list-vaults

我收到这个错误:

A client error (UnrecognizedClientException) occurred when calling the ListVaults operation: No account found for the given parameters

我想我可能在组分配中弄错了,所以我将 AdministratorAccess 策略直接添加到 example 用户。现在我可以 运行 命令,例如 aws s3 ls,但我仍然不能 aws glacier list-vaults 而不得到 aws: error: argument --account-id is required 错误。

我是否遗漏了我的 AWS 配置中的某些内容?我该如何进一步解决这个问题?

看起来 AWS Glacier 您需要帐户 ID List Vaults (GET vaults)

您可以从 Support 页面 - AWS 控制面板右上角获取您的账户 ID(12 位数字)。