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(appbuilder)[源代码]

基类:airflow.auth.managers.base_auth_manager.BaseAuthManager

Flask-AppBuilder 认证管理器。

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

static get_cli_commands()[源代码]

提供 CLI 命令以包含在 Airflow CLI 中。

get_api_endpoints()[源代码]

返回认证管理器的 API 端点定义。

get_user_display_name()[源代码]

返回与会话中的用户关联的用户显示名称。

get_user()[源代码]

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

尝试在 g.user 中查找当前用户,如 Kerberos 身份验证后端定义的那样。如果未找到此类用户,则返回链接到用户会话的 current_user 本地代理对象。

init()[源代码]

在 Airflow 初始化时运行操作。

is_logged_in()[源代码]

返回用户是否已登录。

is_authorized_configuration(*, method, details=None, user=None)[源代码]

返回用户是否有权在配置上执行给定操作。

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

  • details (airflow.auth.managers.models.resource_details.ConfigurationDetails | None) – 有关配置的可选详细信息

  • user (airflow.auth.managers.models.base_user.BaseUser | None) – 要对其执行操作的用户。 如果未提供(或为 None),则使用当前用户

is_authorized_connection(*, method, details=None, user=None)[源代码]

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

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

  • details (airflow.auth.managers.models.resource_details.ConnectionDetails | None) – 有关连接的可选详细信息

  • user (airflow.auth.managers.models.base_user.BaseUser | None) – 要对其执行操作的用户。 如果未提供(或为 None),则使用当前用户

is_authorized_dag(*, method, access_entity=None, details=None, user=None)[源代码]

返回用户是否有权访问 DAG。

有多种情况

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

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

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

    如果没有指定 DAG,则仅检查子实体。

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

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

  • details (airflow.auth.managers.models.resource_details.DagDetails | None) – DAG 详细信息。

  • user (airflow.auth.managers.models.base_user.BaseUser | None) – 用户。

is_authorized_asset(*, method, details=None, user=None)[源代码]

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

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

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

  • user (airflow.auth.managers.models.base_user.BaseUser | None) – 要对其执行操作的用户。 如果未提供(或为 None),则使用当前用户

is_authorized_dataset(*, method, details=None, user=None)[源代码]
is_authorized_pool(*, method, details=None, user=None)[source]

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

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

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

  • user (airflow.auth.managers.models.base_user.BaseUser | None) – 要对其执行操作的用户。 如果未提供(或为 None),则使用当前用户

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

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

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

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

  • user (airflow.auth.managers.models.base_user.BaseUser | None) – 要对其执行操作的用户。 如果未提供(或为 None),则使用当前用户

is_authorized_view(*, access_view, user=None)[source]

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

参数
  • access_view (airflow.auth.managers.models.resource_details.AccessView) – 关于特定只读视图/状态的授权请求。

  • user (airflow.auth.managers.models.base_user.BaseUser | None) – 要对其执行操作的用户。 如果未提供(或为 None),则使用当前用户

is_authorized_custom_view(*, method, resource_name, user=None)[source]

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

自定义视图可以是定义为身份验证管理器一部分的视图。当身份验证管理器作为环境的一部分使用时,此视图才可用。它也可以是用户定义的插件的一部分的视图。

参数
  • method (airflow.auth.managers.base_auth_manager.ResourceMethod | str) – 要执行的方法。如果操作是在插件中定义的,则该方法也可以是字符串。在这种情况下,该操作可以是任何内容(例如 can_do)。请参阅 https://github.com/apache/airflow/issues/39144

  • resource_name (str) – 资源的名称

  • user (airflow.auth.managers.models.base_user.BaseUser | None) – 要对其执行操作的用户。 如果未提供(或为 None),则使用当前用户

get_permitted_dag_ids(*, methods=None, user=None, session=NEW_SESSION)[source]

获取用户可读或可写的 DAG。

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

参数
  • methods (Container[airflow.auth.managers.base_auth_manager.ResourceMethod] | None) – 是否过滤可读或可写

  • user – 当前用户

  • session (sqlalchemy.orm.Session) – 会话

security_manager()[source]

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

get_url_login(**kwargs)[source]

返回登录页面 URL。

get_url_logout()[source]

返回注销页面 URL。

get_url_user_profile()[source]

返回显示当前用户信息的页面 URL。

register_views()[source]

注册特定于身份验证管理器的视图。

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

生成文档;由 Sphinx argparse 使用。

此条目是否有帮助?