Cloud Composer DAG 级别访问控制

Posted

技术标签:

【中文标题】Cloud Composer DAG 级别访问控制【英文标题】:Cloud Composer DAG Level Access Control 【发布时间】:2020-07-14 12:54:48 【问题描述】:

根据 Cloud Composer 文档 here,不支持 Airflow RBAC 功能。 我想知道是否有另一种方法可以为访问 Cloud Composer 中的 Airflow UI 的用户启用 DAG 级别访问控制。

谢谢! 马可

【问题讨论】:

【参考方案1】:

我有非官方的方式来启用它

1.goto 作曲家桶(GCS)

2.下载和编辑airflow.cfg

[webserver]
.
.
.
authenticate = True
auth_backend = airflow.contrib.auth.backends.password_auth
filter_by_owner = True

3.上传回来

*!!!读我!!! 会恢复的时候

1.更改节点号

2.在 GUI 中覆盖配置*

【讨论】:

我试过这个配置,它可以工作,谢谢!但是现在我面临另一个问题,如何创建第一个用户?根据 Airflow 文档,可以运行一个 python 脚本,请参阅airflow.apache.org/docs/1.10.6/…。我在哪里可以运行这个脚本?【参考方案2】:

根据documentation,您可以使用 Cloud Identity and Access Management (Cloud IAM) 进行访问控制。 Cloud IAM 为多个谷歌云产品提供身份管理,它在谷歌云项目中运行。

您可以使用 云控制台gcloud 命令行、REST API客户端库。 Google 提供了一个教程 "Granting, changing, and revoking access to resources",其中描述了如何在 Cloud IAM 中向团队成员授予特定角色。

作为下面的示例,您可以看到如何使用 gcloud 向用户授予编辑者角色:

 $ gcloud projects add-iam-policy-binding example-project-id-1 \
      --member='user:test-user@gmail.com' --role='roles/editor'

如果您对命令行界面有任何疑问,也可以查看documentation 以获得进一步的说明。

【讨论】:

以上是关于Cloud Composer DAG 级别访问控制的主要内容,如果未能解决你的问题,请参考以下文章

使用 Pub/Sub 消息触发 Cloud Composer DAG

添加第一个 dag 时出现 Cloud Composer 调度程序错误

Google Cloud Composer (Apache Airflow) 无法访问日志文件

DAG 在 Google Cloud Composer 网络服务器上不可点击,但在本地 Airflow 上运行良好

通过 Cloud Composer 运行气流时出现授权错误

BigQueryCheckOperator 在 Cloud Composer 中失败,出现 404 错误