配置 Analytics Hub 角色

本文档介绍 Analytics Hub 用户角色以及如何向用户授予这些角色。如需了解详情,请参阅 Analytics Hub 角色

Analytics Hub 用户角色

以下部分介绍了预定义的 Analytics Hub 角色。您可以将这些角色分配给用户,以对您的数据交换和清单执行各种任务。

Analytics Hub Admin 角色

为了管理数据交换,Analytics Hub 提供了您可以授予项目或数据交换的 Analytics Hub Admin 角色 (roles/analyticshub.admin)。凭借此角色,用户可以执行以下任务:

  • 创建、更新和删除数据交换。
  • 创建、更新、删除和共享清单。
  • 管理 Analytics Hub 管理员,清单管理员、发布者、订阅者和查看者。

具有此角色的用户称为管理员

Analytics Hub Publisher 和 Listing Admin 角色

为了管理清单,Analytics Hub 提供了您可以为项目、数据交换或清单授予的以下预定义角色:

  • Analytics Hub Publisher 角色 (roles/analyticshub.publisher),用于执行以下任务:

    具有此角色的用户称为发布商

  • Analytics Hub Listing Admin (roles/analyticshub.listingAdmin) 角色,该角色使用户可以执行以下任务:

Analytics Hub Subscriber 和 Viewer 角色

为了查看和订阅清单,Analytics Hub 提供了以下预定义角色,您可以将这些角色授予项目、数据交换或清单:

  • Analytics Hub Subscriber 角色 (roles/analyticshub.subscriber),使用户可以查看和订阅清单。

    具有此角色的用户称为订阅者

  • Analytics Hub Viewer 角色 (roles/analyticshub.viewer),使用户可以查看清单和数据交换的权限。

    具有此角色的用户称为查看者

Analytics Hub Subscription Owner 角色

为了管理订阅,Analytics Hub 提供了以下预定义角色,您可以在项目级层授予这些角色:

  • Analytics Hub Subscription Owner 角色 (roles/analyticshub.subscriptionOwner),该角色允许用户管理其订阅。

授予 Analytics Hub 角色

您可以根据需要,在资源层次结构的以下级层授予 Analytics Hub 角色:

  • 项目。如果您为用户授予项目的角色,则该角色将应用于项目包含的所有数据交换和清单。

  • 数据交换。如果您为用户授予数据交换角色,则它将应用于数据交换包含的所有清单。

  • 清单。如果您向用户授予清单的角色,则该角色将仅应用于这一特定清单。

授予项目的角色

如果要针对项目设置 IAM 政策,您必须拥有该项目的 roles/resourcemanager.projectIamAdmin 角色。要向项目授予预定义的 Analytics Hub 用户角色,请按照以下步骤操作:

控制台

  1. 转到项目的 IAM

    转到 IAM

  2. 点击 Add

  3. 新建主账号字段中,输入您要向其授予访问权限的身份的电子邮件地址。例如:

    • Google 账号电子邮件地址:test-user@gmail.com
    • Google 群组:admins@googlegroups.com
    • 服务账号:server@example.gserviceaccount.com
    • Google Workspace 网域:example.com
  4. 角色列表中,将指针悬停在 Analytics Hub 上,然后选择以下角色之一:

    • Analytics Hub Admin
    • Analytics Hub Publisher
    • Analytics Hub Listing Admin
    • Analytics Hub Subscriber
    • Analytics Hub Viewer
  5. 可选:如需进一步控制用户对 Google Cloud 资源的访问权限,请添加条件角色绑定

  6. 保存更改。

您可以通过前面的 IAM 面板删除和更新管理员(如前述步骤所述)。

gcloud

如需在项目级层授予角色,请使用 gcloud projects add-iam-policy-binding 命令

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='PRINCIPAL' \
    --role='roles/analyticshub.admin'

替换以下内容:

  • PROJECT_ID:项目 ID,例如 my-project-1
  • PRINCIPAL:您要向其授予相应角色的有效身份。

    例如:

    • Google 账号电子邮件地址:user:user@gmail.com
    • Google 群组:group:admins@googlegroups.com
    • 服务账号:serviceAccount:server@example.gserviceaccount.com
    • Google Workspace 网域:domain:example.com

API

  1. 使用资源的 getIamPolicy 方法来读取现有政策。对于项目,请使用 projects.getIamPolicy 方法

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
    

    PROJECT_ID 替换为项目 ID,例如 my-project-1

  2. 如需添加主账号及其关联的角色,请使用文本编辑器修改该政策。请按以下格式添加成员:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    例如,如需向 group:admins@example.com 授予 roles/analyticshub.admin 角色,请将以下绑定添加到政策中:

    {
     "members": [
       "group:admins@example.com"
     ],
     "role":"roles/analyticshub.admin"
    }
    
  3. 使用 setIamPolicy 方法写入更新后的政策。

    例如,要在项目级设置政策,请使用 project.setIamPolicy 方法。在请求正文中,提供上一步中更新的 IAM 政策。

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
    

    PROJECT_ID 替换为项目 ID。

授予数据交换的角色

如需授予数据交换的角色,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,转到 Analytics Hub 页面。

    转到 Analytics Hub

  2. 点击您要设置权限的数据交换名称。

  3. 点击 设置权限

  4. 如需添加主账号,请点击 添加主账号

  5. 新建主账号字段中,添加要授予其访问权限的电子邮件。

  6. 对于选择角色,请将指针悬停在 Analytics Hub 上,然后选择以下 Identity and Access Management (IAM) 角色之一:

    • Analytics Hub Admin
    • Analytics Hub Publisher
    • Analytics Hub Listing Admin
    • Analytics Hub Subscriber
    • Analytics Hub Viewer
  7. 点击保存

API

  1. 使用 projects.locations.dataExchanges.getIamPolicy 方法通过列表 getIamPolicy 方法读取现有政策:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
    

    替换以下内容:

    • PROJECT_ID:项目 ID,例如 my-project-1
    • LOCATION:数据交换的位置。
    • DATAEXCHANGE_ID:数据交换 ID。

    Analytics Hub 会返回当前政策。

  2. 如需添加或移除成员及其关联的 Identity and Access Management (IAM) 角色,请使用文本编辑器修改该政策。请按以下格式添加成员:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    例如,如需向 group:subscribers@example.com 授予 roles/analyticshub.subscriber 角色,请将以下绑定添加到政策中:

    {
     "members": [
       "group:subscribers@example.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. 使用 projects.locations.dataExchanges.setIamPolicy 方法写入更新后的政策。在请求正文中,提供上一步中写入的更新后 IAM 政策。

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
    

    在请求正文中,提供清单详细信息。如果请求成功,则响应正文包含清单的详细信息。

您可以通过同一 IAM 面板删除和更新数据交换的角色,如前面的步骤中所述。

授予清单的角色

要授予清单的角色,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,转到 Analytics Hub 页面。

    转到 Analytics Hub

  2. 点击包含清单的数据交换名称。

  3. 点击要为其添加用户的清单。

  4. 点击 设置权限

  5. 如需添加主账号,请点击 添加主账号

  6. 新建主账号字段中,添加您要授予其访问权限的身份的电子邮件。

  7. 对于选择角色,请将指针悬停在 Analytics Hub 上,然后选择以下角色之一:

    • Analytics Hub Admin
    • Analytics Hub Publisher
    • Analytics Hub Listing Admin
    • Analytics Hub Subscriber
    • Analytics Hub Viewer
  8. 点击保存

API

  1. 使用 projects.locations.dataExchanges.listings.getIamPolicy 方法通过列表 getIamPolicy 方法读取现有政策:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:getIamPolicy
    

    替换以下内容:

    • PROJECT_ID:项目 ID,例如 my-project-1
    • LOCATION:包含清单的数据交换的位置。
    • DATAEXCHANGE_ID:数据交换 ID。
    • LISTING_ID:清单 ID。

    Analytics Hub 会返回当前政策。

  2. 如需添加或移除成员及其关联的 Identity and Access Management (IAM) 角色,请使用文本编辑器修改该政策。请按以下格式添加成员:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    例如,如需向 group:publishers@example.com 授予 roles/analyticshub.publisher 角色,请将以下绑定添加到政策中:

    {
     "members": [
       "group:publishers@example.com"
     ],
     "role":"roles/analyticshub.publisher"
    }
    
  3. 使用 projects.locations.dataExchanges.listings.setIamPolicy 方法写入更新后的政策。在请求正文中,提供上一步中写入的更新后 IAM 政策。

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING-ID:setIamPolicy
    

    在请求正文中,提供清单详细信息。如果请求成功,则响应正文包含清单的详细信息。

您可以通过同一 IAM 面板删除和更新清单的角色,如前面的步骤中所述。

后续步骤