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 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_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_account(name, password): user = PasswordUser(models.User()) user.username = name user.password = password session = settings.Session() session.add(user) session.commit() session.close()
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 userSetUp(apiUser, apiPassword): session = Session() user = models.User() password_user = PasswordUser(user) password_user.username = apiUser password_user.password = apiPassword session.add(password_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 setUp(self): self.app = application.create_app(testing=True) session = Session() user = models.User() password_user = PasswordUser(user) password_user.username = '******' password_user.password = '******' session.add(password_user) session.commit() session.close()
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 set_user(username, password): print('Creating user {0}...'.format(username)) user = PasswordUser(models.User()) user.username = username user.password = password session = settings.Session() session.add(user) session.commit() session.close() print('Done.') exit()
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(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 setUp(self): configuration.conf.set("webserver", "authenticate", "True") configuration.conf.set("webserver", "auth_backend", "airflow.contrib.auth.backends.password_auth") app = application.create_app() app.config['TESTING'] = True self.app = app.test_client() from airflow.contrib.auth.backends.password_auth import PasswordUser session = Session() user = models.User() password_user = PasswordUser(user) password_user.username = '******' password_user.password = '******' print(password_user._password) session.add(password_user) session.commit() session.close()
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 setUp(self): configuration.load_test_config() try: configuration.conf.add_section("api") except DuplicateSectionError: pass configuration.conf.set("api", "auth_backend", "airflow.contrib.auth.backends.password_auth") self.app = application.create_app(testing=True) session = Session() user = models.User() password_user = PasswordUser(user) password_user.username = '******' password_user.password = '******' session.add(password_user) session.commit() 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 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 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 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 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 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 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")
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()
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()
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()
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, 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 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()