配置权限

本主题介绍如何配置调用 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

用户账号

要向用户账号授予必要的角色,请完成以下步骤。

  1. 要使用用户账号登录,请运行以下命令。

    gcloud auth login USER_ACCOUNT_EMAIL
    
  2. 向您的用户帐号授予根(父级)资源的 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_IDserviceusage.services.use 权限。如需查看包含此权限的预定义角色列表,请参阅了解角色

服务账号

要向服务账号授予必要的角色,请完成以下步骤。如需详细了解服务账号,请参阅创建和管理服务账号

  1. 要创建新的服务账号,请运行以下命令。如果您在已在启用 Cloud Asset Inventory API 的项目中拥有服务账号,则可以跳过此步骤。

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
        --display-name "SERVICE_ACCOUNT_DISPLAY_NAME"
    
  2. 向您的服务账号授予根(父级)资源的 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