如何授予帐户列出已启用 API 的权限?
How can I grant the account permission to list enabled APIs?
在 Cloud Build 上构建期间,我收到以下警告:
Step #2: WARNING: Unable to verify that the Appengine Flexible API is enabled for project [xxxxx]. You may not have permission to list enabled services on this project. If it is not enabled, this may cause problems in running your deployment. Please ask the project owner to ensure that the Appengine Flexible API has been enabled and that this account has permission to list enabled APIs.
我想摆脱这个警告以获得干净的构建日志。
由于构建成功,问题一定不是 Appengine Flexible API 被禁用。不;问题一定是该帐户没有权限列出已启用 APIs.
我该如何解决这个问题(在控制台或命令行中)?
要列出可用的服务,您需要 services.list
. You can grant this permission via granting a role that includes said permission, like roles/serviceusage.serviceUsageViewer
, or you can create your own personalised role 权限(如果您愿意的话)。
关于如何启用 API:首先检查所述帐户是否启用了 API,这看起来不太可能,$ gcloud services list
。默认情况下,它会显示该帐户的所有已启用服务。
如果您在上述列表中看不到 'appengineflex.googleapis.com',您可以 运行 $ gcloud services enable appengineflex.googleapis.com
这样做。
要验证您的帐户并在 cloudbuild 中启用 API,我必须将帐户添加为 role/App Engine Deployer
,这适用于我的案例。
同样在另一个项目中,我创建了新的 SA 并添加了 Editor
权限,这也奏效了。它用于测试目的,但它起作用了。
验证其是否正常工作的步骤如下:
gcloud config set account youraccountname
gcloud config set project yourprojectname
然后:
- gcloud auth activate-service-account yourname@yourproject.iam.gserviceaccount.com --key-file=yourfilekey.json
然后验证它是否正常工作:gcloud services list
,您将看到服务列表中的所有 NAME
和 TITLE
。
我今天 运行 进入这个问题。我需要确保在项目和我的个人资料上启用了计费。对于那些也看到此问题的人,我会检查结算部分。
在我的例子中,没有为我想要启用的项目设置计费 api。所以我做了:
从导航菜单转到结算,转到您的结算帐户,选择项目设置并更改结算设置。
在 Cloud Build 上构建期间,我收到以下警告:
Step #2: WARNING: Unable to verify that the Appengine Flexible API is enabled for project [xxxxx]. You may not have permission to list enabled services on this project. If it is not enabled, this may cause problems in running your deployment. Please ask the project owner to ensure that the Appengine Flexible API has been enabled and that this account has permission to list enabled APIs.
我想摆脱这个警告以获得干净的构建日志。
由于构建成功,问题一定不是 Appengine Flexible API 被禁用。不;问题一定是该帐户没有权限列出已启用 APIs.
我该如何解决这个问题(在控制台或命令行中)?
要列出可用的服务,您需要 services.list
. You can grant this permission via granting a role that includes said permission, like roles/serviceusage.serviceUsageViewer
, or you can create your own personalised role 权限(如果您愿意的话)。
关于如何启用 API:首先检查所述帐户是否启用了 API,这看起来不太可能,$ gcloud services list
。默认情况下,它会显示该帐户的所有已启用服务。
如果您在上述列表中看不到 'appengineflex.googleapis.com',您可以 运行 $ gcloud services enable appengineflex.googleapis.com
这样做。
要验证您的帐户并在 cloudbuild 中启用 API,我必须将帐户添加为 role/App Engine Deployer
,这适用于我的案例。
同样在另一个项目中,我创建了新的 SA 并添加了 Editor
权限,这也奏效了。它用于测试目的,但它起作用了。
验证其是否正常工作的步骤如下:
gcloud config set account youraccountname
gcloud config set project yourprojectname
然后:
- gcloud auth activate-service-account yourname@yourproject.iam.gserviceaccount.com --key-file=yourfilekey.json
然后验证它是否正常工作:gcloud services list
,您将看到服务列表中的所有 NAME
和 TITLE
。
我今天 运行 进入这个问题。我需要确保在项目和我的个人资料上启用了计费。对于那些也看到此问题的人,我会检查结算部分。
在我的例子中,没有为我想要启用的项目设置计费 api。所以我做了:
从导航菜单转到结算,转到您的结算帐户,选择项目设置并更改结算设置。