airflow.security.permissions 폐지 공지

airflow.security.permissions 폐지 공지

Airflow 3부터 Flask AppBuilder(FAB) provider가 더 이상 core 의존성이 아니게 되면서, 일부 하위 호환 모듈이 core에 남게 됐어요. 이 문서는 airflow.security.permissions의 폐지 대상과 새 권한 표준으로의 마이그레이션 방법을 설명해요.

출처: 문서

본문

Airflow 3가 배포된 이후, Flask AppBuilder(일명 "FAB") provider는 더 이상 core Airflow 의존성이 아니에요. 하지만 Flask AppBuilder (FAB) auth manager를 위해 특별히 설계된 일부 모듈은 Airflow 사용자를 위한 하위 호환 편의로 core Airflow 배포에 남아 있어요. 하위 호환 목적으로 core에 남아 있는 그런 모듈 중 하나가 airflow.security.permissions예요.

만약 배포 환경이 커스텀 역할 정의나 커스텀 Auth Manager 로직에 airflow.security.permissions를 의존한다면 — FAB Auth Manager를 쓰든 다른 Auth Manager를 쓰든 — 리소스(resources)와 액션(actions)에 대한 새 권한 표준 정의로 전환해야 해요. 폐지된 airflow.security.permissions는 Airflow 4에서 제거될 예정이에요.

이 폐지가 내 Airflow 시스템에 영향을 주나요?

일반적으로 이 폐지 경고는 다음 중 하나라도 해당하는 Airflow 시스템에 적용돼요:

  • Airflow 배포가 커스텀 RBAC 역할을 정의하기 위해 airflow.security.permissions에 의존하는 경우.
  • Airflow 배포가 커스텀 Auth manager 의존성을 포함해 airflow.security.permissions에 의존하는 다른 커스텀 로직을 가진 경우.

하지만 수정하지 않은 Flask AppBuilder (FAB) auth manager를 사용하고 커스텀 역할 정의를 사용하지 않는다면, 이 문서의 나머지 내용은 해당되지 않아요. 마찬가지로 Simple auth manager나 다른 provider Auth Manager를 사용하고 airflow.security.permissions를 사용하는 커스텀 코드가 없다면, 이 문서의 나머지 내용은 해당되지 않아요.

Note

각 커스터마이즈된 Airflow RBAC 설정은 경우에 따라 다르기 때문에, 이 문서는 새 Airflow 권한 표준으로의 전환에 대한 일반적인 지침만 제공할 수 있어요. 지나치게 규정적이지 않으면서 말이죠.

새 권한 표준 정의로 마이그레이션하기

폐지된 permissions 모듈 구성 요소와, Airflow core에서 제공하는 해당 지원 교체 항목은 아래 목록을 참고하세요:

  • airflow.security.permissions.ACTION_*airflow.api_fastapi.auth.managers.base_auth_manager.ResourceMethod
  • airflow.security.permissions.RESOURCE_*airflow.api_fastapi.auth.managers.models.resource_details
  • DAG.access_control → DAG 수준 권한은 선택한 Auth Manager의 filter_authorized_dag_ids 메서드로 처리해야 해요.

폐지된 모듈에 의존하는 커스텀 Auth manager를 유지하고 있다면, ResourceMethodresource_details 구성 요소를 어떻게 사용할 수 있는지의 예시로 SimpleAuthManager소스 코드를 참고하는 것을 권장해요.

폐지된 모듈에 기반한 커스텀 역할 정의에 의존한다면, 시스템이 사용하는 auth manager의 문서를 참고해야 해요.

더 알아보기 (Learn more)