def add_user(username: Optional[str] = None, email: Optional[str] = None, password: Optional[str] = None) -> None: """ Create the admin user. If user already exists, the process will ignore the error. :param username: airflow admin ui's username :param email: email of admin :param password: admin's password """ user = PasswordUser(models.User()) user.username = username if username else os.environ[ AIRFLOW_WEBSERVER_USER_ENV_VAR] user.email = email if email else os.environ[AIRFLOW_WEBSERVER_EMAIL_ENV_VAR] user.password = password if password else os.environ[ AIRFLOW_WEBSERVER_PASSWORD_ENV_VAR] session = settings.Session() try: session.add(user) session.commit() except IntegrityError as error_object: print(error_object) finally: session.close()
def create_superuser(): """ Creates a superuser (admin level) for accessing the web UI for Airflow :return: None """ # get path to config file relative to this file current_dir = os.path.dirname(__file__) filepath = os.path.join(current_dir, 'config.ini') # read config.ini file config = ConfigParser() config.read(filepath) # create User object user = PasswordUser(models.User()) user.username = config['web_authentication']['username'] user.email = config['web_authentication']['email'] user.password = config['web_authentication']['password'] user.superuser = True # Add user to Airflow session session = settings.Session() session.add(user) session.commit() session.close()
def create_user(username: str, password: str, email: str, is_superuser: bool = True): """ Method to create Airflow user :param username: (str) - Airflow User name :param password: (str) - Airflow Password :param email: (str) - Email of the user :param is_superuser: (str) - Is super user - True/False Note: Modified date: 10-04-2021 Author: TB """ user = PasswordUser(models.User()) user.username = username user.email = email user.password = password user.superuser = is_superuser session = settings.Session() session.add(user) session.commit() session.close()
def create_admin_user(admin_user): """ Create a user in Airflow metadata database to allow login with password_auth backend. :param admin_user: User properties as dictionary. :return: Job done. """ print('Creating admin user...') user = PasswordUser(models.User()) user.username = admin_user['username'] user.password = admin_user['password'] user.email = admin_user['email'] session = settings.Session() try: existing = session.query( models.User).filter_by(username=user.username).first() if not existing: session.add(user) session.commit() print('\tCREATED: Admin user %s' % user.username) else: print('\tSKIPPED: Admin user %s already exists' % user.username) finally: session.close()
def create_user(username, password, email): # This import depends on flask_bcrypt # You should get it via installation of: 'apache-airflow[google_auth]' # More info: http://airflow.apache.org/docs/stable/security.html from airflow.contrib.auth.backends.password_auth import PasswordUser from airflow import models from airflow.settings import Session # Create user for experimental api users session = Session() print("sql_alchemy_conn: %s" % str(session.bind)) try: user = ( session.query(PasswordUser) .filter(PasswordUser.username == username) .one_or_none() ) if not user: user = PasswordUser(models.User()) user.username = username user.password = password user.email = email session.add(user) session.commit() session.close() print("User %s created successfully." % username) except Exception as e: print("Could not create user. %s" % e)
def create_user(username, email, password): user = PasswordUser(models.User()) user.username = username user.email = email user.password = password session = settings.Session() session.add(user) session.commit() session.close()
def create_user(): user = PasswordUser(models.User()) user.username = '******' user.email = '*****@*****.**' user.password = '******' session = settings.Session() session.add(user) session.commit() session.close()
def add_user(username, email, password): user = PasswordUser(models.User()) user.username = username user.email = email user.password = password session = settings.Session() session.add(user) session.commit() session.close()
def make_user(username, email): user = PasswordUser(models.User()) user.username = username user.email = email user.superuser = True user.password = click.prompt("Password") session = settings.Session() session.add(user) session.commit() session.close()
def generate_admin_user(password): """ Creates the new Airflow admin user. """ user = PasswordUser(models.User()) user.username = '******' user.email = get_email_address() user.password = password user.superuser = True return user
def main(): print(">>>> create airflow user...") user = PasswordUser(models.User()) user.username = '******' user.email = '*****@*****.**' user.password = '******' session = settings.Session() session.add(user) session.commit() session.close() print(">>>> create airflow user OK : user_id : user, password : 123")
def create_user(username, password, email): """This programm creates users for airflow.""" user = PasswordUser(models.User()) user.username = username user.email = email user.password = password session = settings.Session() session.add(user) session.commit() session.close() click.echo(f'Account {username} created successfully!')
def create(self): """ create user """ user = PasswordUser(models.User()) user.username = self.params.get('name') user.email = self.params.get('email') user.password = self.params.get('password') session = settings.Session() session.add(user) session.commit() session.close()
def create_user(username, password, email): """This programm creates users for airflow.""" user = PasswordUser(models.User()) user.username = username user.email = email user.password = password session = settings.Session() session.add(user) session.commit() session.close() click.echo(f'Account {username} created successfully!')
def add_default_user(session=None): from airflow import models from airflow.contrib.auth.backends.password_auth import PasswordUser user = PasswordUser(models.User()) user.username = '******' user.email = '*****@*****.**' user.password = '******' user.superuser = True session.add(user) session.commit()
def create_user(opts): from airflow.contrib.auth.backends.password_auth import PasswordUser from airflow import models, settings u = PasswordUser(models.User()) u.username = opts['username'] u.email = opts['email'] u._set_password = opts['password'] s = settings.Session() s.add(u) s.commit() s.close()
def create_user(opts): from airflow.contrib.auth.backends.password_auth import PasswordUser from airflow import models, settings u = PasswordUser(models.User()) u.username = opts['username'] u.email = opts['email'] u._set_password = opts['password'] s = settings.Session() s.add(u) s.commit() s.close()
def createuser(): userdata = json.loads(request.data) username = userdata.get('user') or '' email = userdata.get('email') or '' password = userdata.get('password') or username + '123' superuser = userdata.get('superuser') or False if not superuser: superuser = 0 else: superuser = 1 data = {} try: if not username: data['status'] = '200' data[ 'message'] = "Username has missed, unable to create user in Airflow server" return jsonify(data) session = settings.Session() user = session.query( models.User).filter(models.User.username == username).first() if user: user.superuser = superuser session.commit() data['status'] = '200' data['message'] = 'SuperUser status is updated successfully!' else: user = PasswordUser(models.User()) user.username = username user.email = email user.password = password user.superuser = superuser session.add(user) session.commit() data['status'] = '200' data['message'] = "User Created successfully!" except Exception as e: data['status'] = '400' data['message'] = e.message return jsonify(data)
def add_user(c): from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser import sqlalchemy user = PasswordUser(models.User()) user.username = c.config.auth.username user.email = c.config.auth.email user.password = c.config.auth.password session = settings.Session() session.add(user) try: session.commit() except sqlalchemy.exc.IntegrityError as e: logging.exception(e) finally: session.close()
def add_user(username=os.environ['AIRFLOW_WEB_USER'], email=os.environ['AIRFLOW_WEB_EMAIL'], password=os.environ['AIRFLOW_WEB_PASSWORD']): """Create the admin user :param username: airflow admin ui's username :param email: email of admin :param password: admin's password :return: None """ user = PasswordUser(models.User()) user.username = username user.email = email user.password = password session = settings.Session() try: session.add(user) session.commit() except IntegrityError as error_object: print(error_object) finally: session.close()
def createuser(): username = request.args.get('user') email = request.args.get('email', '') superuser = request.args.get('superuser', False) if superuser == 'False': superuser = 0 else: superuser = 1 try: user = PasswordUser(models.User()) user.username = username user.email = email user.password = username + '123' user.superuser = superuser session = settings.Session() session.add(user) session.commit() return jsonify("User Created") except: return jsonify("Raised Exception")
# create airflow login user import airflow from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser user = PasswordUser(models.User()) user.username = '******' user.email = '*****@*****.**' user.password = '******' # user.superuser = True session = settings.Session() session.add(user) session.commit() session.close()
parser.add_argument("email", help="email address") parser.add_argument("password", help="password") args = parser.parse_args() username = sys.argv[1] email = sys.argv[2] password = sys.argv[3] session = settings.Session() def is_user_exists(username): return (session.query( models.User).filter(models.User.username == username).first() != None) if (not is_user_exists(username)): user = PasswordUser(models.User()) logging.info("Adding Airflow user " + username + "...") user.username = username user.email = email user._set_password = password session.add(user) session.commit() logging.info("Successfully added Airflow user.") session.close() else: logging.warning("Airflow User " + username + " already exists") exit()
from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser from airflow.models import Variable from flask_bcrypt import generate_password_hash # Get password from variables password = Variable.get("user_password") user = PasswordUser(models.User()) user.username = '******' user.email = '*****@*****.**' user._password = generate_password_hash(password, 12) session = settings.Session() session.add(user) session.commit() session.close() exit()
from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser from flask_bcrypt import generate_password_hash from sqlalchemy import exists session = settings.Session() isUserPresent = not session.query( exists().where(models.User.username == 'airflow')).scalar() if (isUserPresent): user = PasswordUser(models.User()) user.username = '******' user.email = 'airflow@fab_airflow.com' user.superuser = True user._password = generate_password_hash('airflow', 12) session.add(user) session.commit() session.close() exit()
import airflow from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser user = PasswordUser(models.User()) user.username = '******' user.email = '*****@*****.**' user.password = '******' session = settings.Session() session.add(user) session.commit() session.close()
import airflow, sys from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser try: if len(sys.argv) != 4: raise ValueError( 'Missing required arguments for user account creation') user = PasswordUser(models.User()) user.username = sys.argv[1] user.email = sys.argv[2] user.password = sys.argv[3] user.supersuer = True session = settings.Session() session.add(user) session.commit() session.close() except Exception as e: print(e) raise
#!/usr/bin/env python # encoding: utf-8 """ @author: demo @license: Copyright 2019-2022, LineZoneData @contact: [email protected] @desc: """ from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser user = PasswordUser(models.User()) user.username = '******' user.email = '*****@*****.**' user.password = '******' user.superuser = True # the secret sauce is right here from sqlalchemy import create_engine engine = create_engine( "postgresql://*****:*****@192.168.21.151:5432/airflow") session = settings.Session(bind=engine) session.add(user) session.commit() session.close()
import os airflow_user = os.environ.get('AIRFLOW_USER') airflow_password = os.environ.get('AIRFLOW_PASSWORD') airflow_email = os.environ.get('AIRFLOW_EMAIL') if airflow_user and airflow_password: import airflow from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser session = settings.Session() q = session.query(PasswordUser).filter_by(username=airflow_user) if q.count(): user = q.one() user.username = airflow_user user.password = airflow_password user.email = airflow_email else: user = PasswordUser(models.User()) user.username = airflow_user user.password = airflow_password user.email = airflow_email user.superuser = True session.add(user) session.commit() session.close()
import airflow from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser user = PasswordUser(models.User()) user.username = '******' user.email = '*****@*****.**' user._set_password = '******'.encode('utf8') session = settings.Session() session.add(user) session.commit() session.close() exit()
import airflow from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser user = PasswordUser(models.User()) user.username = '******' user.email = '*****@*****.**' user.password = '******' session = settings.Session() session.add(user) session.commit() session.close()
import sys import airflow from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser def has_user(session, username): users = session.query(models.User) with_name = users.filter(models.User.username == username) return with_name.count() > 0 username = sys.argv[1] email = sys.argv[2] password = sys.argv[3] session = settings.Session() if not has_user(session, username): new_user = PasswordUser(models.User()) new_user.username = username new_user.email = email new_user.password = password session.add(new_user) session.commit() print('user created') session.close()
#!/usr/bin/env python import airflow from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser user = PasswordUser(models.User()) user.username = '******' user.email = '*****@*****.**' user._set_password = '******' session = settings.Session() session.add(user) session.commit() session.close() exit()
import airflow from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser from flask_bcrypt import generate_password_hash user = PasswordUser(models.User()) user.username = '******' user.email = '*****@*****.**' user._password = generate_password_hash("password_here", 12).decode('utf-8') session = settings.Session() session.add(user) session.commit() session.close() exit()
#!/usr/bin/python # https://airflow.incubator.apache.org/security.html username = '******' email = '*****@*****.**' ##### import airflow from airflow import models, settings from airflow.contrib.auth.backends.password_auth import PasswordUser # https://stackoverflow.com/questions/3854692/generate-password-in-python import string from random import sample, choice chars = string.letters + string.digits length = 20 password = ''.join(choice(chars) for _ in range(length)) print "%s : %s" % (username, password) user = PasswordUser(models.User()) user.username = username user.email = email user.password = password session = settings.Session() session.add(user) session.commit() session.close() exit()