有没有办法确定某个项目在 Google Cloud 中是否不存在?

问题描述 投票:0回答:1

大家下午好

我所在的组织中有几个不同的团队可以与给定的 Google Cloud 项目进行交互。每个团队都会保留对 Google Cloud 项目的引用,但如果/当 Google 项目被删除时,每个团队并不总是会收到此操作的通知。这会导致团队引用旧的、不存在的项目。

我尝试使用gsutil项目描述来测试项目是否存在,但根据文档:

此命令可能因以下原因失败:

  • 指定的项目不存在。
  • 活动帐户无权访问给定项目。

最终看起来像这样:

> gcloud projects describe Project_Name

ERROR: (gcloud.projects.describe) User [My_Admin_Uuer] does not have permission to access projects instance [Project_Name] (or it may not exist): The caller does not have permission

有没有办法确定这个项目是否存在,如果存在,我需要哪些权限才能查看项目描述?

google-cloud-platform gsutil
1个回答
0
投票

如果您在尝试访问项目时遇到权限错误,这确实可能意味着以下两种情况之一:

  1. 该项目不存在。
  2. 您无权访问该项目。

要明确区分这两种情况,请考虑以下方法:

  1. 专用服务帐户:创建具有组织级别

    resourcemanager.projects.get
    权限的专用服务帐户。此权限允许服务帐户获取项目元数据。当您使用此服务帐户运行
    gcloud projects describe <Project_ID_or_Name>
    时,如果该项目不存在,您将收到一个明确的错误,指示该项目不存在。如果该项目存在,但您没有额外的权限来查看其中的资源,那么至少您已经验证了该项目的存在。

  2. 使用 Cloud Resource Manager API:Google Cloud Resource Manager API 提供了允许您以编程方式管理 Google Cloud 资源的方法。您可以利用此 API 来检查项目是否存在。当您向 API 发出请求并收到

    403 Permission Denied
    响应时,这可能意味着该项目存在,但您无权访问。
    404 Not Found
    响应表示该项目不存在。

  3. 请求必要的权限:如果您经常需要检查项目,请考虑请求

    resourcemanager.projects.get
    权限。有了此权限,您可以使用
    gcloud projects describe
    来确定项目是否存在。如果它存在并且您收到权限错误,则您知道您在该项目中缺乏进一步的权限。

请记住,Google Cloud 遵循最小权限原则,因此当您缺乏权限时,它会故意含糊其辞 - 它不想将资源的存在泄露给未经授权的用户。

© www.soinside.com 2019 - 2024. All rights reserved.