如何在气流中添加管理员用户?

Mik*_*ail 4 airflow

如何在气流中添加管理员用户?

我想使用简单的Web 身份验证。如果我按照文档airflow.apache.ort/security 中的描述添加用户,则用户不是管理员。

来自文档的代码:

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)

kax*_*xil 6

如果您使用rbacUI,最简单的选择是为Airflow <2运行以下命令:

airflow create_user \
    --email EMAIL --firstname firstname \
    --lastname lastname --password password \
    --role Admin --username username
Run Code Online (Sandbox Code Playgroud)

对于气流 > 2

airflow users create \
    --email EMAIL --firstname firstname \
    --lastname lastname --password password \
    --role Admin --username username
Run Code Online (Sandbox Code Playgroud)


Mik*_*ail 5

我发现models.User() 有超级用户属性airflow.apache.org/_modules ,我简单地将该属性设置为True:

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'
user.superuser = True
session = settings.Session()
session.add(user)
session.commit()
session.close()
exit()
Run Code Online (Sandbox Code Playgroud)