此问题可能是由于缺少认证或未正确授权导致的。为了解决这个问题,您可以尝试以下步骤:
1.检查您的认证是否正确,并确认您具有正确的访问权限。您可以使用以下命令确认您的认证信息:
gcloud auth application-default print-access-token
2.确保您的云存储库与您正在使用的Atlantis计划位于同一Google Cloud项目中。如果您的Atlantis计划与云存储库不在同一项目中,则将其移动到相同的项目可能会解决问题。
3.确认您的云存储访问权限已正确授权。您可以使用以下命令来检查您当前的授权:
gcloud projects get-iam-policy [YOUR-PROJECT-ID]
如果您的项目中没有正确的IAM角色,则可以使用以下命令为您的项目授予正确的角色:
gcloud projects add-iam-policy-binding [YOUR-PROJECT-ID] --member="[SERVICE-ACCOUNT-EMAIL]" --role="[ROLE]"
注意:请将上面的[YOUR-PROJECT-ID],[SERVICE-ACCOUNT-EMAIL]和[ROLE]替换为您项目的ID,您的服务帐户电子邮件和所需的IAM角色。
示例:
如果Atlantis在GCP的项目中运行,例如my-project,而云存储库在my-other-project中,则会出现此错误消息。将云存储库my-bucket移动到my-project项目中,或者启用跨项目访问“my-bucket”,并使用访问者IAM角色在my-other-project中授予Atlantis服务帐户访问权限可以解决此问题。