@Override public void authorize(Database db, Privilege[] inputRequiredPriv, Privilege[] outputRequiredPriv) throws HiveException, AuthorizationException { BitSetChecker checker = BitSetChecker.getBitSetChecker(inputRequiredPriv, outputRequiredPriv); boolean[] inputCheck = checker.inputCheck; boolean[] outputCheck = checker.outputCheck; authorizeUserAndDBPriv(db, inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck); checkAndThrowAuthorizationException(inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck, db.getName(), null, null, null); }
@Override public void authorize(Database db, Privilege[] inputRequiredPriv, Privilege[] outputRequiredPriv) throws HiveException, AuthorizationException { BitSetChecker checker = BitSetChecker.getBitSetChecker(inputRequiredPriv, outputRequiredPriv); boolean[] inputCheck = checker.inputCheck; boolean[] outputCheck = checker.outputCheck; authorizeUserAndDBPriv(db, inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck); checkAndThrowAuthorizationException(inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck, db.getName(), null, null, null); }
/** * Check privileges on User, DB and table objects. * * @param table * @param inputRequiredPriv * @param outputRequiredPriv * @param inputCheck * @param outputCheck * @return true if the check passed * @throws HiveException */ private boolean authorizeUserDBAndTable(Table table, Privilege[] inputRequiredPriv, Privilege[] outputRequiredPriv, boolean[] inputCheck, boolean[] outputCheck) throws HiveException { if (authorizeUserAndDBPriv(hive_db.getDatabase(table.getDbName()), inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck)) { return true; } PrincipalPrivilegeSet tablePrivileges = hive_db.get_privilege_set( HiveObjectType.TABLE, table.getDbName(), table.getTableName(), null, null, this.getAuthenticator().getUserName(), this.getAuthenticator() .getGroupNames()); if (authorizePrivileges(tablePrivileges, inputRequiredPriv, inputCheck, outputRequiredPriv, outputCheck)) { return true; } return false; }
/** * Check privileges on User, DB and table objects. * * @param table * @param inputRequiredPriv * @param outputRequiredPriv * @param inputCheck * @param outputCheck * @return true if the check passed * @throws HiveException */ private boolean authorizeUserDBAndTable(Table table, Privilege[] inputRequiredPriv, Privilege[] outputRequiredPriv, boolean[] inputCheck, boolean[] outputCheck) throws HiveException { if (authorizeUserAndDBPriv(hive_db.getDatabase(table.getCatName(), table.getDbName()), inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck)) { return true; } PrincipalPrivilegeSet tablePrivileges = hive_db.get_privilege_set( HiveObjectType.TABLE, table.getDbName(), table.getTableName(), null, null, this.getAuthenticator().getUserName(), this.getAuthenticator() .getGroupNames()); if (authorizePrivileges(tablePrivileges, inputRequiredPriv, inputCheck, outputRequiredPriv, outputCheck)) { return true; } return false; }
boolean[] inputCheck, boolean[] outputCheck) throws HiveException { if (authorizeUserAndDBPriv( hive_db.getDatabase(part.getTable().getDbName()), inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck)) {
boolean[] inputCheck, boolean[] outputCheck) throws HiveException { if (authorizeUserAndDBPriv( hive_db.getDatabase(part.getTable().getCatName(), part.getTable().getDbName()), inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck)) {
@Override public void authorize(Database db, Privilege[] inputRequiredPriv, Privilege[] outputRequiredPriv) throws HiveException, AuthorizationException { BitSetChecker checker = BitSetChecker.getBitSetChecker(inputRequiredPriv, outputRequiredPriv); boolean[] inputCheck = checker.inputCheck; boolean[] outputCheck = checker.outputCheck; authorizeUserAndDBPriv(db, inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck); checkAndThrowAuthorizationException(inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck, db.getName(), null, null, null); }
/** * Check privileges on User, DB and table objects. * * @param table * @param inputRequiredPriv * @param outputRequiredPriv * @param inputCheck * @param outputCheck * @return true if the check passed * @throws HiveException */ private boolean authorizeUserDBAndTable(Table table, Privilege[] inputRequiredPriv, Privilege[] outputRequiredPriv, boolean[] inputCheck, boolean[] outputCheck) throws HiveException { if (authorizeUserAndDBPriv(hive_db.getDatabase(table.getDbName()), inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck)) { return true; } PrincipalPrivilegeSet tablePrivileges = hive_db.get_privilege_set( HiveObjectType.TABLE, table.getDbName(), table.getTableName(), null, null, this.getAuthenticator().getUserName(), this.getAuthenticator() .getGroupNames()); if (authorizePrivileges(tablePrivileges, inputRequiredPriv, inputCheck, outputRequiredPriv, outputCheck)) { return true; } return false; }
boolean[] inputCheck, boolean[] outputCheck) throws HiveException { if (authorizeUserAndDBPriv( hive_db.getDatabase(part.getTable().getDbName()), inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck)) {