我正在Docker容器上运行Airflow 1.10.9(如this tutorial)
我需要创建用户并为他们分配角色。当我像在this documentation中那样打开rbac = True
(默认为False)时,我想象当通过浏览器上的localhost:8080
连接到Web服务器时,UI会改变,但是我得到了错误
我不确定如何使用airflow create_user
创建用户。如果有人对此有任何见解或知道任何指示,我将不胜感激。以下是我尝试过的内容列表:
1-在[webserver] authenticate = False
中更改为[webserver] authenticate = True
并添加了auth_backend = airflow.contrib.auth.backends.password_auth
。它可以工作,但这只给了我一个用户类型的选项,任何用户都可以访问所有UI。我也需要类似于查看器用户的东西
2-随着1中的更改,尝试将airflow create_user
与所有必需的选项一起使用,但我在webserver上得到了这个结果(不是开玩笑):
____/ ( ( ) ) \___
/( ( ( ) _ )) ) )\
(( ( )( ) ) ( ) )
((/ ( _( ) ( _) ) ( () ) )
( ( ( (_) (( ( ) .((_ ) . )_
( ( ) ( ( ) ) ) . ) ( )
( ( ( ( ) ( _ ( _) ). ) . ) ) ( )
( ( ( ) ( ) ( )) ) _)( ) ) )
( ( ( \ ) ( (_ ( ) ( ) ) ) ) )) ( )
( ( ( ( (_ ( ) ( _ ) ) ( ) ) )
( ( ( ( ( ) (_ ) ) ) _) ) _( ( )
(( ( )( ( _ ) _) _(_ ( (_ )
(_((__(_(__(( ( ( | ) ) ) )_))__))_)___)
((__) \\||lll|l||/// \_))
( /(/ ( ) ) )\ )
( ( ( ( | | ) ) )\ )
( /(| / ( )) ) ) )) )
( ( ((((_(|)_))))) )
( ||\(|(|)|/|| )
( |(||(||)|||| )
( //|/l|||)|\\ \ )
(/ / // /|//||||\\ \ \ \ _)
-------------------------------------------------------------------------------
Node: a7f653c9257d
-------------------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/usr/local/lib/python3.7/site-packages/flask_admin/base.py", line 69, in inner
return self._run_view(f, *args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/flask_admin/base.py", line 368, in _run_view
return fn(self, *args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/flask_login/utils.py", line 261, in decorated_view
return func(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/airflow/utils/db.py", line 74, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/airflow/www/views.py", line 2296, in index
auto_complete_data=auto_complete_data)
File "/usr/local/lib/python3.7/site-packages/airflow/www/views.py", line 388, in render
return super(AirflowViewMixin, self).render(template, **kwargs)
File "/usr/local/lib/python3.7/site-packages/flask_admin/base.py", line 308, in render
return render_template(template, **kwargs)
File "/usr/local/lib/python3.7/site-packages/flask/templating.py", line 140, in render_template
ctx.app,
File "/usr/local/lib/python3.7/site-packages/flask/templating.py", line 120, in _render
rv = template.render(context)
File "/usr/local/lib/python3.7/site-packages/jinja2/asyncsupport.py", line 76, in render
return original_render(self, *args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/usr/local/lib/python3.7/site-packages/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.7/site-packages/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.7/site-packages/airflow/www/templates/airflow/dags.html", line 20, in top-level template code
{% extends "airflow/master.html" %}
File "/usr/local/lib/python3.7/site-packages/jinja2/environment.py", line 1005, in render
return concat(self.root_render_func(self.new_context(vars)))
File "/usr/local/lib/python3.7/site-packages/airflow/www/templates/airflow/dags.html", line 16, in root
specific language governing permissions and limitations
File "/usr/local/lib/python3.7/site-packages/airflow/www/templates/airflow/master.html", line 16, in root
specific language governing permissions and limitations
File "/usr/local/lib/python3.7/site-packages/airflow/www/templates/admin/master.html", line 16, in root
specific language governing permissions and limitations
File "/usr/local/lib/python3.7/site-packages/flask_admin/templates/bootstrap3/admin/base.html", line 26, in root
<style>
File "/usr/local/lib/python3.7/site-packages/airflow/www/templates/admin/master.html", line 76, in block_page_body
var field = $('<input></input>');
File "/usr/local/lib/python3.7/site-packages/airflow/www/templates/admin/master.html", line 100, in block_main_menu
seconds = seconds - hours * secondsPerHour;
File "/usr/local/lib/python3.7/site-packages/jinja2/runtime.py", line 262, in call
return __obj(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/jinja2/runtime.py", line 570, in __call__
return self._invoke(arguments, autoescape)
File "/usr/local/lib/python3.7/site-packages/jinja2/asyncsupport.py", line 110, in _invoke
return original_invoke(self, arguments, autoescape)
File "/usr/local/lib/python3.7/site-packages/jinja2/runtime.py", line 574, in _invoke
rv = self._func(*arguments)
File "/usr/local/lib/python3.7/site-packages/flask_admin/templates/bootstrap3/admin/layout.html", line 83, in macro
{% endmacro %}
File "/usr/local/lib/python3.7/site-packages/jinja2/runtime.py", line 262, in call
return __obj(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/flask_admin/menu.py", line 52, in get_children
return [c for c in self._children if c.is_accessible() and c.is_visible()]
File "/usr/local/lib/python3.7/site-packages/flask_admin/menu.py", line 52, in <listcomp>
return [c for c in self._children if c.is_accessible() and c.is_visible()]
File "/usr/local/lib/python3.7/site-packages/flask_admin/menu.py", line 126, in is_accessible
return self._view.is_accessible()
File "/usr/local/lib/python3.7/site-packages/airflow/www/utils.py", line 94, in is_accessible
(not current_user.is_anonymous and current_user.is_superuser())
File "/usr/local/lib/python3.7/site-packages/airflow/contrib/auth/backends/password_auth.py", line 114, in is_superuser
return hasattr(self, 'user') and self.user.is_superuser()
AttributeError: 'NoneType' object has no attribute 'is_superuser'
3-随着1中的更改,也设置了rbac = True
,这给了我404很多圈页面
目前没有回答
相关问题 更多 >
编程相关推荐