【发布时间】:2022-01-28 05:34:18
【问题描述】:
我正在使用terraform 为 GCP 上的几个服务创建基础架构。 GCP 将所有基础设施组织在所谓的项目中。我在 terraform 文件中错误地指定了 project_id(实际上我将 project_id 设置为我的 GCP 中已经存在,但 ptoject 名称不同)。计划阶段的 Terraform 成功,但在 apply 之后失败。然后我执行terraform destroy,设置正确的project_id(和名称),再次执行terraform apply,这次成功了。但是当我打开 GCP 控制台时,我看到实际上在项目列表中创建了 2 个项目(一个具有正确的名称和 id,另一个具有一些随机名称:smth like My Project 1234 as name and beaming-light-546562 as id)。现在gcloud projects list command 显示了 3 个项目(这个随机的一个、正确的一个和以前存在的一个)。
问题是我无法从 gcloud 实用程序或 gcp 控制台中删除该“随机”项目。我收到一个错误
<myuser_mail_address> does not have permission to access projects instance or poject doesn't exist
此外,该随机项目未链接到我的结算帐户。
我怎样才能删除那个“随机”项目
编辑
我(帐户所有者)无法删除 ID 为 beaming-light-546562 的项目似乎很奇怪,原因是我无权这样做。还有一个 id 的名称:它类似于技术 docker 用于生成正在运行的容器的名称。我不记得 terraform 有这样的功能。会不会是 gcp 自己生成了这样的随机名称?
【问题讨论】:
-
您在组织级别或文件夹级别(包含项目的文件夹)中的角色是什么?你必须有一些权限才能列出和删除项目(
resourcemanager.projects.list&resourcemanager.projects.delete) -
@AtefHares 在资源管理器中我看到我的项目不属于任何组织(显示了
No organization)。在那个随机项目上,我无法查看角色,它说我没有查看权限的权限。在其他 2 个项目中,我有角色所有者(我想这意味着我可以对项目做任何事情) -
您在使用terraform创建随机项目时,是否使用了一些服务帐户或您的帐户对GCP进行身份验证?
-
使用 terraform destroy 命令后需要执行几个步骤,有关删除项目的更多信息,请参阅此documentation 的 清理 部分并参阅到此documentation 了解与项目关联的结算帐户的详细信息。
-
@maks,好像是已知问题b.corp.google.com/issues/191214686,你可能是通过群组加入到项目中的,所以出现在项目列表中。但是,您没有被授予修改该项目的 IAM 的权限,因此您无法从权限列表中删除该组。您可以在groups.google.com/my-groups 中找到您所属的群组。注意:您可以离开组以失去访问权限,但可能会出现您的电子邮件被添加到单个角色/权限并且您无法将自己从 IAM 列表中删除的情况。
标签: google-cloud-platform terraform terraform-provider-gcp