访问权限控制

本页面介绍了 Cloud Composer API 中提供的访问权限控制选项。

概览

Cloud Composer API 使用 Cloud Identity and Access Management (Cloud IAM) 进行访问权限控制。

在 Cloud Composer API 中,您可以在项目级层配置访问权限控制。例如,您可以向一组开发者授予对某项目中的所有 Cloud Composer API 资源的访问权限。

如需详细了解 Cloud IAM 及其特性,请参阅 Google Cloud Identity and Access Management 开发者指南。请特别留意管理 Cloud IAM 政策部分。

Cloud Composer API 的每种方法都要求调用者拥有必要的权限。如需了解详情,请参阅权限和角色

所需权限

下表列出了调用者在调用 Cloud Composer API 中的每种 API 方法时,或通过使用此 API 的 GCP 工具(例如 Google Cloud Platform Console 或 Cloud SDK)执行任务时所必须具备的权限。

方法 权限
environments.create composer.environments.create
environments.delete composer.environments.delete
environments.get composer.environments.get
environments.list composer.environments.list
environments.update composer.environments.update
operations.delete composer.operations.delete
operations.get composer.operations.get
operations.list composer.operations.list

角色

Cloud Composer 角色

角色 名称 说明 权限 最低资源要求
roles/
composer.admin
Composer 管理员 提供 Cloud Composer 资源的完全控制权。 composer.*
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
项目
roles/
composer.environmentAndStorageObjectAdmin
环境和存储对象管理员 提供 Cloud Composer 资源和所有项目存储分区中对象的完全控制权。 composer.*
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
storage.objects.*
项目
roles/
composer.environmentAndStorageObjectViewer
环境用户和存储对象查看者 提供列出及获取 Cloud Composer 环境和操作所需的权限。提供所有项目存储分区中对象的只读权限。 composer.environments.get
composer.environments.list
composer.operations.get
composer.operations.list
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
storage.objects.get
storage.objects.list
项目
roles/
composer.user
Composer 用户 提供列出及获取 Cloud Composer 环境和操作所需的权限。 composer.environments.get
composer.environments.list
composer.operations.get
composer.operations.list
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
项目
roles/
composer.worker
Composer 工作处理者 提供运行 Cloud Composer 环境虚拟机所需的权限。专用于服务帐号。 cloudbuild.*
container.*
logging.logEntries.create
monitoring.metricDescriptors.create
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.*
monitoring.timeSeries.create
pubsub.snapshots.create
pubsub.snapshots.delete
pubsub.snapshots.get
pubsub.snapshots.list
pubsub.snapshots.seek
pubsub.snapshots.update
pubsub.subscriptions.consume
pubsub.subscriptions.create
pubsub.subscriptions.delete
pubsub.subscriptions.get
pubsub.subscriptions.list
pubsub.subscriptions.update
pubsub.topics.attachSubscription
pubsub.topics.create
pubsub.topics.delete
pubsub.topics.get
pubsub.topics.list
pubsub.topics.publish
pubsub.topics.update
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
source.repos.get
source.repos.list
storage.buckets.create
storage.buckets.get
storage.buckets.list
storage.objects.*
项目

原初角色

角色 名称 说明 权限 最低资源要求
roles/owner Owner 该原初角色可提供 Cloud Composer 资源的完全控制权。 composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
项目
roles/writer Editor 该原初角色可提供 Cloud Composer 资源的完全控制权。 composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
项目
roles/reader Viewer 该原初角色可为用户提供列出和获取 Cloud Composer 资源的权限。 composer.operations.list
composer.operations.get
composer.environments.list
composer.environments.get
项目

执行常见任务所需的权限

角色对应一组权限。本部分列出了执行常见任务所需的角色或权限。

任务 权限或角色
访问受 Cloud IAP 保护的 Airflow 网页界面 composer.environments.get
使用“gcloud”命令行工具运行 Airflow CLI composer.environments.get
container.clusters.get
container.clusters.list
container.clusters.getCredentials
查看 GCP Console 中的“环境”页面 composer.environments.list
servicemanagement.projectSettings.get
查看 Stackdriver 日志和指标 roles/logging.viewer
roles/monitoring.viewer
创建环境 composer.environments.create
更新和删除环境,包括设置环境变量以及安装/更新 Python 软件包 environments.delete
environments.update
将文件上传到 DAGs 和 Plugins 文件夹,然后访问 Logs 文件夹中的 Airflow 日志 在存储分区级层或项目级层分配的 storage.objectAdmin

查找 DAG 目标存储分区所需的 composer.environments.get。

通过 gcloud 进行访问权限控制

要分配预定义角色,请执行 gcloud projects get-iam-policy 命令来获取当前政策,使用 roles/composer.admin (Composer Administrator) 角色或 roles/composer.user (Composer User) 角色更新政策绑定,然后执行 gcloud projects set-iam-policy 命令。如需详细了解如何使用 gcloud 分配角色,请参阅 Cloud IAM 文档中的授予、更改和撤消对资源的访问权限页面。

要配置一个拥有 Cloud Composer 权限(包括角色表中列出的所需权限)的自定义角色,请执行 gcloud iam roles create 命令。然后,使用新配置的自定义角色更新 Cloud IAM 政策。如需了解详情,请参阅 Cloud IAM 文档中的创建自定义角色页面。

通过 GCP Console 进行访问权限控制

您可以使用 GCP Console 来管理对环境和项目的访问权限控制。

要在项目级层设置访问权限控制,请执行以下操作:

  1. 在 Google Cloud Platform Console 中打开 IAM 页面
  2. 选择您的项目,然后点击继续
  3. 点击添加成员
  4. 输入先前未对其授予任何 Cloud IAM 角色的新成员的电子邮件地址。
  5. 从下拉菜单中选择所需的角色。
  6. 点击添加
  7. 验证该成员是否在您授予的角色下列出。
此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud Composer