启用 API 身份验证时,Apache 气流 REST API 调用失败,403 被禁止

San*_*har 3 airflow

Apache Airflow REST API 失败,403 forbidden for the call:

“/api/实验/测试”

airflow.cfg 中的配置

[网络服务器]

  • 认证 = 真
  • auth_backend = 气流.contrib.auth.backends.password_auth

[API]

  • rbac = 真
  • auth_backend = 气流.contrib.auth.backends.password_auth

在设置完所有这些之后,docker 镜像被构建并作为一个 docker 容器运行。

创建气流用户如下:

airflow create_user -r Admin -u admin -e admin@hpe.com -f Administrator -l 1 -p admin
Run Code Online (Sandbox Code Playgroud)

使用 Web UI 凭据登录工作正常。

因为登录到 REST API 不起作用。用于身份验证的 HTTP 标头:授权 BASIC YWRtaW46YWRtaW4=

气流版本:1.10.9

San*_*har 7

通过以下方式创建用户,我们可以使用凭据访问 Airflow 实验 API。

import airflow
from airflow import models, settings
from airflow.contrib.auth.backends.password_auth import PasswordUser
user = PasswordUser(models.User())
user.username = 'new_user_name'
user.email = 'new_user_email@example.com'
user.password = 'set_the_password'
session = settings.Session()
session.add(user)
session.commit()
session.close()
exit()
Run Code Online (Sandbox Code Playgroud)

通过使用“airflow create_user”命令创建用户,我们无法访问 Airflow 实验 API。