airflow.providers.fab.auth_manager.fab_auth_manager

FabAuthManager

Flask-AppBuilder 认证管理器。

函数

get_parser()

生成文档;由 Sphinx argparse 使用。

模块内容

class airflow.providers.fab.auth_manager.fab_auth_manager.FabAuthManager(context=None)[source]

继承自: airflow.api_fastapi.auth.managers.base_auth_manager.BaseAuthManager[airflow.providers.fab.auth_manager.models.User]

Flask-AppBuilder 认证管理器。

这个认证管理器负责为用户提供向后兼容的用户管理体验。

appbuilder: airflow.providers.fab.www.extensions.init_appbuilder.AirflowAppBuilder | None = None[source]
init_flask_resources()[source]
property apiserver_endpoint: str[source]
static get_cli_commands()[source]

提供包含在 Airflow CLI 中的命令行。

get_fastapi_app()[source]

获取 FastAPI 应用。

get_api_endpoints()[source]
get_user()[source]

返回与会话中的用户关联的用户。

尝试在 g.user 中查找当前用户,如 kerberos 认证后端所定义。如果未找到此类用户,则返回与用户会话关联的 current_user 本地代理对象。

deserialize_user(token)[source]

从字典创建用户对象。

serialize_user(user)[source]

从用户对象创建主题和额外声明字典。

is_logged_in()[source]

返回用户是否已登录。

is_authorized_configuration(*, method, user, details=None)[source]

返回用户是否被授权对配置执行给定操作。

参数:
  • method (airflow.api_fastapi.auth.managers.base_auth_manager.ResourceMethod) – 要执行的方法

  • user (airflow.providers.fab.auth_manager.models.User) – 执行操作的用户

  • details (airflow.api_fastapi.auth.managers.models.resource_details.ConfigurationDetails | None) – 关于配置的可选详情

is_authorized_connection(*, method, user, details=None)[source]

返回用户是否被授权对连接执行给定操作。

参数:
  • method (airflow.api_fastapi.auth.managers.base_auth_manager.ResourceMethod) – 要执行的方法

  • user (airflow.providers.fab.auth_manager.models.User) – 执行操作的用户

  • details (airflow.api_fastapi.auth.managers.models.resource_details.ConnectionDetails | None) – 关于连接的可选详情

is_authorized_dag(*, method, user, access_entity=None, details=None)[source]

返回用户是否被授权访问 dag。

有多种情况

1. dag_access 未提供,这意味着用户想要访问 DAG 本身而不是子实体(例如 DAG 运行)。 2. dag_access 已提供,这意味着用户想要访问 DAG 的子实体(例如 DAG 运行)。

  1. 如果 method 是 GET,则检查用户是否对 DAG 和子实体具有 READ 权限。

  2. 否则,检查用户是否对 DAG 具有 EDIT 权限以及对子实体具有对应的 method 权限。但是,

    如果没有针对特定 DAG,则只检查子实体。

参数:
  • method (airflow.api_fastapi.auth.managers.base_auth_manager.ResourceMethod) – 要授权的方法。

  • user (airflow.providers.fab.auth_manager.models.User) – 执行操作的用户。

  • access_entity (airflow.api_fastapi.auth.managers.models.resource_details.DagAccessEntity | None) – dag 访问实体。

  • details (airflow.api_fastapi.auth.managers.models.resource_details.DagDetails | None) – dag 详情。

is_authorized_backfill(*, method, user, details=None)[source]

返回用户是否被授权对回填执行给定操作。

参数:
  • method (airflow.api_fastapi.auth.managers.base_auth_manager.ResourceMethod) – 要执行的方法

  • user (airflow.providers.fab.auth_manager.models.User) – 执行操作的用户

  • details (airflow.api_fastapi.auth.managers.models.resource_details.BackfillDetails | None) – 关于回填的可选详情

is_authorized_asset(*, method, user, details=None)[source]

返回用户是否被授权对资产执行给定操作。

参数:
  • method (airflow.api_fastapi.auth.managers.base_auth_manager.ResourceMethod) – 要执行的方法

  • user (airflow.providers.fab.auth_manager.models.User) – 执行操作的用户

  • details (airflow.providers.common.compat.assets.AssetDetails | None) – 关于资产的可选详情

is_authorized_asset_alias(*, method, user, details=None)[source]

返回用户是否被授权对资产别名执行给定操作。

参数:
  • method (airflow.api_fastapi.auth.managers.base_auth_manager.ResourceMethod) – 要执行的方法

  • user (airflow.providers.fab.auth_manager.models.User) – 执行操作的用户

  • details (airflow.providers.common.compat.assets.AssetAliasDetails | None) – 关于资产别名的可选详情

is_authorized_pool(*, method, user, details=None)[source]

返回用户是否被授权对池执行给定操作。

参数:
  • method (airflow.api_fastapi.auth.managers.base_auth_manager.ResourceMethod) – 要执行的方法

  • user (airflow.providers.fab.auth_manager.models.User) – 执行操作的用户

  • details (airflow.api_fastapi.auth.managers.models.resource_details.PoolDetails | None) – 关于池的可选详情

is_authorized_variable(*, method, user, details=None)[source]

返回用户是否被授权对变量执行给定操作。

参数:
  • method (airflow.api_fastapi.auth.managers.base_auth_manager.ResourceMethod) – 要执行的方法

  • user (airflow.providers.fab.auth_manager.models.User) – 执行操作的用户

  • details (airflow.api_fastapi.auth.managers.models.resource_details.VariableDetails | None) – 关于变量的可选详情

is_authorized_view(*, access_view, user)[source]

返回用户是否被授权访问安装的只读状态。

参数:
is_authorized_custom_view(*, method, resource_name, user)[source]

返回用户是否被授权对自定义视图执行给定操作。

自定义视图可以是认证管理器中定义的视图。这种视图仅在认证管理器作为环境的一部分使用时可用。它也可以是用户定义的插件中定义的视图。

参数:
filter_authorized_menu_items(menu_items, user)[source]

根据用户权限过滤菜单项。

参数:
get_authorized_dag_ids(*, user, method='GET', session=NEW_SESSION)[source]

获取用户有权访问的 DAG。

默认情况下,读取所有 DAG 并单独检查用户是否有权访问该 DAG。这可能导致性能不佳。建议在认证管理器实现中覆盖此方法以提供更高效的实现。

参数:
property security_manager: airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride[source]

返回特定于 FAB 的安全管理器。

get_url_login(**kwargs)[source]

返回登录页面 URL。

get_url_logout()[source]

返回注销页面 URL。

register_views()[source]
get_extra_menu_items(*, user)[source]

提供要添加到菜单的额外链接。

参数:

user (airflow.providers.fab.auth_manager.models.User) – 用户

static get_db_manager()[source]

指定运行认证管理器所需的数据库管理器路径。

这是可选的,并非所有认证管理器都需要数据库管理器。

airflow.providers.fab.auth_manager.fab_auth_manager.get_parser()[source]

生成文档;由 Sphinx argparse 使用。

此条目对您有帮助吗?