本主题介绍如何配置调用 Cloud Asset Inventory API 所需的权限和凭据。
身份验证
在调用 Cloud Asset Inventory API 之前,您必须作为最终用户或服务账号进行身份验证。如需详细了解身份验证,请参阅身份验证概览。
为 gcloud CLI 授予必需的的权限
如需使用 gcloud CLI 访问 Cloud Asset Inventory API,您必须授予对目标资源的父级(可以是组织、项目或文件夹)的必要权限。您必须在 API 请求的 parent
字段中指定此父级。
如果您的账号具有资源的父级资源的 Cloud Asset Owner 角色 (roles/cloudasset.owner
) 或 Owner 基本角色 (roles/owner
),则该账号已具有调用 Cloud Asset Inventory API 的足够权限,并且您可以跳至下载凭据。如需详细了解 Cloud Asset Inventory 角色,请参阅角色。
正在授予角色
如需向帐号授予角色,请使用 Google Cloud CLI 完成以下步骤。了解如何安装和初始化 gcloud CLI。
用户账号
要向用户账号授予必要的角色,请完成以下步骤。
要使用用户账号登录,请运行以下命令。
gcloud auth login USER_ACCOUNT_EMAIL
向您的用户帐号授予根(父级)资源的 Cloud Asset Viewer 角色 (
roles/cloudasset.viewer
) 或 Cloud Asset Owner 角色 (roles/cloudasset.owner
)。此项目可以是启用了 Cloud Asset Inventory API 的项目。要向用户账号授予 Cloud Asset Viewer 角色,请运行以下命令。
gcloud projects add-iam-policy-binding TARGET_PROJECT_ID \ --member user:USER_ACCOUNT_EMAIL \ --role roles/cloudasset.viewer
您可以在
gcloud asset
命令中添加--billing-project
标志,以指定启用了 Cloud Asset Inventory API 的结算项目。--billing-project PROJECT_ID
如果您指定此标志,您的帐号需要项目
PROJECT_ID
的serviceusage.services.use
权限。如需查看包含此权限的预定义角色列表,请参阅了解角色。
服务账号
要向服务账号授予必要的角色,请完成以下步骤。如需详细了解服务账号,请参阅创建和管理服务账号。
要创建新的服务账号,请运行以下命令。如果您在已在启用 Cloud Asset Inventory API 的项目中拥有服务账号,则可以跳过此步骤。
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --display-name "SERVICE_ACCOUNT_DISPLAY_NAME"
向您的服务账号授予根(父级)资源的 Cloud Asset Viewer 角色 (
roles/cloudasset.viewer
) 或 Cloud Asset Owner 角色 (roles/cloudasset.owner
)。此项目可与启用了 Cloud Asset Inventory API 的项目相同。如需为您的服务帐号授予 Cloud Asset Viewer 角色,请运行以下命令。
gcloud projects add-iam-policy-binding TARGET_PROJECT_ID \ --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role roles/cloudasset.viewer