是否有不需要身份验证的aws-cli调用可以使用



我有一个Terraform模块,用于从AWS获取Terraform中不可用的信息。该模块是开源的,在Terraform注册表中,似乎受到超过2.7K条款的欢迎。

我现在想在包中添加一些单元测试。

在本地,我的测试都很好,因为我有AWS证书。

我想做的是使用AWS CLI对AWS进行ANY调用,该CLI可以返回JSON输出,但不需要任何凭据。

我希望能得到一份类似AWS地区或AWS产品的列表,但所有这些都需要证书。

测试不是关于特定的值,而是纯粹关于通信、数据检索和处理。与内容无关。

所以。真正地任何输出,只要它是JSON。

或者,是否存在任何类型的";测试";允许用于此类事情的凭据。由于这些证书必须存在于管道中,因此它们必须是不会被滥用的证书。

模拟AWS服务的一个流行选择是通过localstack。您可以部署它并在本地进行测试,而无需任何真正的AWS凭据。

关于对AWS服务的调用,AWS CLI支持--无签名请求。这不需要任何凭据,但用途非常有限。基本上,它只适用于访问公共S3存储桶。由于它们是公开的,因此无需使用AWS凭据来访问它们。

非常感谢@Marcin的回答,下面是我正在使用的命令。

aws s3api list-objects --bucket ryft-public-sample-data --no-sign-request --output json --query 'max_by(Contents, &Size)'

这使我能够验证我的模块是否按预期运行,以及它是否与Terraform集成。我可以公开测试,因为它不需要任何证书。

谢谢。

最新更新