@Override public HiveAuthorizationProvider getAuthorizationProvider() throws HiveException { return new DefaultHiveAuthorizationProvider(); }
if (authorizeUserDBAndTable(table, inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck)) { return; if (authorizeUserDbAndPartition(part, inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck)) { return; partValues, col, this.getAuthenticator().getUserName(), this .getAuthenticator().getGroupNames()); authorizePrivileges(partColumnPrivileges, inputRequiredPriv, inputCheck2, outputRequiredPriv, outputCheck2); booleanArrayOr(inputCheck2, inputCheck); booleanArrayOr(inputCheck2, inputCheck); checkAndThrowAuthorizationException(inputRequiredPriv, outputRequiredPriv, inputCheck2, outputCheck2, table.getDbName(), table.getTableName(), partName, col);
/** * 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; }
Privilege[] inputRequiredPriv, Privilege[] outputRequiredPriv, boolean[] inputCheck, boolean[] outputCheck) throws HiveException { if (authorizeUserPriv(inputRequiredPriv, inputCheck, outputRequiredPriv, outputCheck)) { return true; .getAuthenticator().getUserName(), this.getAuthenticator() .getGroupNames()); if (authorizePrivileges(dbPrivileges, inputRequiredPriv, inputCheck, outputRequiredPriv, outputCheck)) { return true;
@Override public void authorize(Partition part, Privilege[] inputRequiredPriv, Privilege[] outputRequiredPriv) throws HiveException { //if the partition does not have partition level privilege, go to table level. Table table = part.getTable(); if (table.getParameters().get("PARTITION_LEVEL_PRIVILEGE") == null || ("FALSE" .equalsIgnoreCase(table.getParameters().get( "PARTITION_LEVEL_PRIVILEGE")))) { this.authorize(part.getTable(), inputRequiredPriv, outputRequiredPriv); return; } BitSetChecker checker = BitSetChecker.getBitSetChecker(inputRequiredPriv, outputRequiredPriv); boolean[] inputCheck = checker.inputCheck; boolean[] outputCheck = checker.outputCheck; if (authorizeUserDbAndPartition(part, inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck)){ return; } checkAndThrowAuthorizationException(inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck, part.getTable().getDbName(), part .getTable().getTableName(), part.getName(), 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); }
protected boolean authorizeUserPriv(Privilege[] inputRequiredPriv, boolean[] inputCheck, Privilege[] outputRequiredPriv, boolean[] outputCheck) throws HiveException { PrincipalPrivilegeSet privileges = hive_db.get_privilege_set( HiveObjectType.GLOBAL, null, null, null, null, this.getAuthenticator() .getUserName(), this.getAuthenticator().getGroupNames()); return authorizePrivileges(privileges, inputRequiredPriv, inputCheck, outputRequiredPriv, outputCheck); }
@Override public void authorize(Table table, Privilege[] inputRequiredPriv, Privilege[] outputRequiredPriv) throws HiveException { BitSetChecker checker = BitSetChecker.getBitSetChecker(inputRequiredPriv, outputRequiredPriv); boolean[] inputCheck = checker.inputCheck; boolean[] outputCheck = checker.outputCheck; authorizeUserDBAndTable(table, inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck); checkAndThrowAuthorizationException(inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck, table.getDbName(), table.getTableName(), null, null); }
boolean[] inputCheck, boolean[] outputCheck) throws HiveException { if (authorizeUserAndDBPriv( hive_db.getDatabase(part.getTable().getDbName()), inputRequiredPriv, outputRequiredPriv, inputCheck, outputCheck)) { partPrivileges = hive_db.get_privilege_set(HiveObjectType.PARTITION, part .getTable().getDbName(), part.getTable().getTableName(), part .getValues(), null, this.getAuthenticator().getUserName(), this .getAuthenticator().getGroupNames()); if (authorizePrivileges(partPrivileges, inputRequiredPriv, inputCheck, outputRequiredPriv, outputCheck)) { return true;
public HiveAuthorizationProvider getAuthorizationProvider() throws HiveException { return new DefaultHiveAuthorizationProvider(); }
@Override public HiveAuthorizationProvider getAuthorizationProvider() { return new DefaultHiveAuthorizationProvider(); }
@Override public HiveAuthorizationProvider getAuthorizationProvider() { return new DefaultHiveAuthorizationProvider(); }
public HiveAuthorizationProvider getAuthorizationProvider() throws HiveException { return new DefaultHiveAuthorizationProvider(); }
@Override public HiveAuthorizationProvider getAuthorizationProvider() throws HiveException { return new DefaultHiveAuthorizationProvider(); }
@Override public HiveAuthorizationProvider getAuthorizationProvider() throws HiveException { return new DefaultHiveAuthorizationProvider(); }
@Override public HiveAuthorizationProvider getAuthorizationProvider() throws HiveException { return new DefaultHiveAuthorizationProvider(); }
@Override public HiveAuthorizationProvider getAuthorizationProvider() throws HiveException { return new DefaultHiveAuthorizationProvider(); }
public HiveAuthorizationProvider getAuthorizationProvider() throws HiveException { return new DefaultHiveAuthorizationProvider(); }
@Override public HiveAuthorizationProvider getAuthorizationProvider() { return new DefaultHiveAuthorizationProvider(); }