amazon-web-services - 通过 mac cli 以编程方式访问 AWS 帐户
问题描述
在我的 ~/.aws/credentials
文件中,我有两个配置文件: default
和user1
.
user1
密钥绑定到不同的 AWS 账户。
我可以访问默认帐户。
我无法访问user1
AWS 账户:
例如,当我通过此命令时:
aws s3 ls --profile user1
显示此消息:
调用 ListBuckets 操作时出现错误(SignatureDoesNotMatch):我们计算的请求签名与您提供的签名不匹配。检查您的密钥和签名方法。
另一个用户可以使用这些相同的密钥来访问此帐户,因此这些密钥是有效的。
我能做些什么来解决这个问题?
解决方案
假设所有配置文件都不起作用。
您系统上的时间可能不同步。
您可以使用 Mac 系统同步时间
Big Sur
sudo sntp -sS time.apple.com
上Mojave
万一出错
kod_init_kod_db(): Cannot open KoD db file /var/db/ntp-kod: No such file or directory
创建文件并将所有权更改为root。有人报告说这实际上破坏了 ntp 同步
sudo touch /var/db/ntp-kod
sudo chown root:wheel /var/db/ntp-kod
和运行
sudo sntp -sS pool.ntp.org
这篇文章中有更多选项如何判断我的 Mac 是否保持时钟正确更新?您可以尝试同步时间。
编辑:
随着 OP 的更新,它适用于一个配置文件,但不适用于第二个配置文件。在那方面,正如@Asdfg 建议的那样,
- 仔细检查您个人资料中的密钥是否正确
- 升级 AWS CLI,如果错误仍然存在,
- 最后但并非最不重要的一点是遵循排除 AWS CLI 错误
推荐阅读
- reactivesearch - ReactiveList 相关搜索
- javascript - 如何在 JavaScript 中应用快速求幂
- android - 为什么要在Activity中添加“向上按钮”时修改Java代码?
- java - 使用equals方法时Android Studio无法处理String中的问号?
- scala - Google 地图绘图在 ScalaFx WebView 中损坏
- firebase - 等待Future的结果
在 Flutter Firestore 中 - go - 如果并发进程向全局变量写入相同的值会发生什么?
- c# - Xamarin IOS Navcontroller 异常
- unit-testing - Kotlin 多平台项目在 IDEA 中运行通用模块测试
- python - 为什么我在以下代码中使用的相同魔术方法生成的输出与预期的不同