docker-airflow를 통해 로그인 인증 기능 설정

2217 단어 Dockerairflow

docker-airflow에 로그인 기능을 설정하고 싶은 사람을 대상으로 합니다.
docker-airflow의 경우 공식 문서 절차에 따라 실행하면 스크립트에서 사용자 로그인을 할 수 있습니다.
sqlite3.OperationalError: no such table: users
따라서 패스워드의 해시 값을 직접 생성하고 사용자를 직접 등록해야 하기 때문에 절차를 기록해야 한다.
Ceelery Executor를 전제로 썼지만, Local Executor도 마찬가지라고 생각한다.

1. airflow.편집 conf

${PROJECT}/config/airflow.cnf[webserver] 프로젝트의auth의 설정(airflow-11.10.9에서 L당 300)은 다음과 같다.
~略~

[webserver]

~略^

# Set to true to turn on authentication:
# https://airflow.apache.org/security.html#web-authentication
authenticate = True
auth_backend = airflow.contrib.auth.backends.password_auth 
어쨌든 로그인해야 합니다.액세스하면 로그인 화면이 표시됩니다.

2. 암호 해싱 가져오기


ptyhon 스크립트로 얻습니다.산열이 되면 뭐든지 OK.
# なければ、flask-bcryptをインストール
pip install flask-bcrypt

# pythonスクリプトを実行しハッシュを取得
python
>>> from flask_bcrypt import generate_password_hash
>>> generate_password_hash('your_password', 12)

# 出力されたハッシュ値をメモ

3.postgreSQL에 사용자 정보 직접 등록


postgreSQL로 사용자 등록을 직접 진행합니다.
# コンテナ一覧表示
docker ps

# postgreSQLのコンテナにsshログイン
docker exec -it ${PSQL_CONTAINER_ID} bash

# airflowユーザーでpsqlにログイン
psql -U airflow

# ユーザーをinsert
INSERT INTO users (username, email, superuser, password) VALUES ('your_name', 'your_email', True, '2で取得したハッシュ値');
이렇게 docker를 다시 만들고 시작하면 ok.

참고 자료


Fail to create user on users table on Docker Webserver Container

좋은 웹페이지 즐겨찾기