행궁동 데이터 엔지니어

반응형

Airflow 공식문서에서 제공하는

Quick Start 중 도커로 Airflow 실행(Running Airflow in Docker) 시 관리자 계정 패스워드를 변경하는 방법에 대한 포스팅입니다.

(도커로 Airflow를 실행하면 default로 계정/패스워드가 airflow/airflow로 설정되고, 이는 Webserver에 접속해 수정할 수 있지만 보안에 취약할 수 있어 처음부터 변경해주는 것이 좋습니다.)

 

패스워드 변경 방법 외 설치 방법아래 공식문서와 공식문서를 정리한 자료 참고 부탁드립니다.

 

관리자 계정 패스워드 변경해서 Airflow 실행하는 방법

  • docker-compose.yaml 파일 경로에 .env 파일 생성
  • .env파일에 아래 2개 변수 설정 
_AIRFLOW_WWW_USER_USERNAME=계정명
_AIRFLOW_WWW_USER_PASSWORD=패스워드
  • docker-compose.yaml 파일에 아래 2개 변수 값을 직접 설정할 수도 있습니다.
  • 하지만 직접 변수 값을 입력할 경우 외부에 계정/패스워드명이 바로 노출되므로 .env 파일을 생성해 변수를 읽어오게 하는 게 좋습니다.

 

설정 결과

 

1.  변수 설정 파일(.env) 생성

  • docker-compose.yaml과 같은 경로에 .env 파일을 생성 한 후 2개 변수를 설정 했습니다.
  • 변수 1: _AIRFLOW_WWW_USER_USERNAME=계정명
  • 변수 2: _AIRFLOW_WWW_USER_PASSWORD=패스워드

.env에 계정/패스워드 변수 설정

 

2. Airflow DB 및 계정 생성

  • .env 파일에서 설정한 계정명(_AIRFLOW_WWW_USER_USERNAME=menthamin)으로 계정이 생성된 것을 확인할 수 있습니다.

.env 파일에 설정한 계정명으로 계정이 생성

 

3. 도커로 Airflow 실행: docker-compose up -d

Airflow 실행, -d 옵션: 데몬으로 실행(백그라운드에서 서비스로 실행)

 

4. Airflow Webserver 접속

  • .env 파일에 설정한 계정/패스워드로 로그인이 가능하고, 해당 계정이 관리자 계정(Role: Admin)인 것을 확인할 수 있습니다.

로그인 후 계정정보 확인

 

계정 관련 추가 설정 자료

  • 계정 소유자의 이름, Email 등을 설정하는 변수들도 존재하고 이또한 .env 파일로 설정 할 수 있습니다.
  • 변수 목록은 아래에 첨부하겠습니다.

출처: https://airflow.apache.org/docs/docker-stack/entrypoint.html#creating-admin-user

 

* 기타 Tip: Airflow 실행 간 예제 DAG 설치를 원하시지 않는 경우에는 아래 환경 변수를 false로 설정해주시면 됩니다.

    AIRFLOW__CORE__LOAD_EXAMPLES: 'false'

 

기타 궁금하신 사항은 댓글 남겨주세요.

 

감사합니다.

반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band