@VisibleForTesting static String toAuthorizable(MSentryPrivilege privilege) { List<String> authorizable = new ArrayList<String>(4); authorizable.add(KV_JOINER.join(AuthorizableType.Server.name().toLowerCase(), privilege.getServerName())); if (isNULL(privilege.getURI())) { if (!isNULL(privilege.getDbName())) { authorizable.add(KV_JOINER.join(AuthorizableType.Db.name().toLowerCase(), privilege.getDbName())); if (!isNULL(privilege.getTableName())) { authorizable.add(KV_JOINER.join(AuthorizableType.Table.name().toLowerCase(), privilege.getTableName())); if (!isNULL(privilege.getColumnName())) { authorizable.add(KV_JOINER.join(AuthorizableType.Column.name().toLowerCase(), privilege.getColumnName())); } } } } else { authorizable.add(KV_JOINER.join(AuthorizableType.URI.name().toLowerCase(), privilege.getURI())); } if (!isNULL(privilege.getAction()) && !privilege.getAction().equalsIgnoreCase(AccessConstants.ALL)) { authorizable .add(KV_JOINER.join(PolicyConstants.PRIVILEGE_NAME.toLowerCase(), privilege.getAction())); } return AUTHORIZABLE_JOINER.join(authorizable); }
authorizable.add(KV_JOINER.join(AuthorizableType.Table.name().toLowerCase(), privilege.getTableName())); if (!isNULL(privilege.getColumnName())) { authorizable.add(KV_JOINER.join(AuthorizableType.Column.name().toLowerCase(), privilege.getColumnName()));
private Set<MSentryPrivilege> getChildPrivileges(PersistenceManager pm, Set<String> roleNames, MSentryPrivilege parent) throws SentryInvalidInputException { if (!isNULL(parent.getColumnName()) || !isNULL(parent.getURI())) { return new HashSet<MSentryPrivilege>();
&& !isNULL(childPriv.getColumnName())) { populateChildren(pm, entityType, entityNames, childPriv, children);
&& !isNULL(childPriv.getColumnName())) { populateChildren(pm, roleNames, childPriv, children);
private void convertToTSentryPrivilege(MSentryPrivilege mSentryPrivilege, TSentryPrivilege privilege) { privilege.setCreateTime(mSentryPrivilege.getCreateTime()); privilege.setAction(fromNULLCol(mSentryPrivilege.getAction())); privilege.setPrivilegeScope(mSentryPrivilege.getPrivilegeScope()); privilege.setServerName(fromNULLCol(mSentryPrivilege.getServerName())); privilege.setDbName(fromNULLCol(mSentryPrivilege.getDbName())); privilege.setTableName(fromNULLCol(mSentryPrivilege.getTableName())); privilege.setColumnName(fromNULLCol(mSentryPrivilege.getColumnName())); privilege.setURI(fromNULLCol(mSentryPrivilege.getURI())); if (mSentryPrivilege.getGrantOption() != null) { privilege.setGrantOption(TSentryGrantOption.valueOf(mSentryPrivilege.getGrantOption().toString().toUpperCase())); } else { privilege.setGrantOption(TSentryGrantOption.UNSET); } }
private void convertToTSentryPrivilege(MSentryPrivilege mSentryPrivilege, TSentryPrivilege privilege) { privilege.setCreateTime(mSentryPrivilege.getCreateTime()); privilege.setAction(fromNULLCol(mSentryPrivilege.getAction())); privilege.setPrivilegeScope(mSentryPrivilege.getPrivilegeScope()); privilege.setServerName(fromNULLCol(mSentryPrivilege.getServerName())); privilege.setDbName(fromNULLCol(mSentryPrivilege.getDbName())); privilege.setTableName(fromNULLCol(mSentryPrivilege.getTableName())); privilege.setColumnName(fromNULLCol(mSentryPrivilege.getColumnName())); privilege.setURI(fromNULLCol(mSentryPrivilege.getURI())); if (mSentryPrivilege.getGrantOption() != null) { privilege.setGrantOption(TSentryGrantOption.valueOf(mSentryPrivilege.getGrantOption().toString().toUpperCase())); } else { privilege.setGrantOption(TSentryGrantOption.UNSET); } }
private Set<MSentryPrivilege> getChildPrivileges(PersistenceManager pm, SentryPrincipalType entityType, Set<String> entityNames, MSentryPrivilege parent) throws SentryInvalidInputException { if (!isNULL(parent.getColumnName()) || !isNULL(parent.getURI())) { return Collections.emptySet();
assertEquals(table, mPrivilege.getTableName()); assertFalse(mPrivilege.getGrantOption()); if (mPrivilege.getColumnName().equals(column1)) { assertEquals(AccessConstants.ALL, mPrivilege.getAction()); } else if (mPrivilege.getColumnName().equals(column2)) { assertNotSame(AccessConstants.SELECT, mPrivilege.getAction()); assertNotSame(AccessConstants.ALL, mPrivilege.getAction()); } else { fail("Unexpected column name: " + mPrivilege.getColumnName());
assertEquals(table, mPrivilege.getTableName()); assertFalse(mPrivilege.getGrantOption()); if (mPrivilege.getColumnName().equals(column1)) { assertEquals(AccessConstants.ALL, mPrivilege.getAction()); } else if (mPrivilege.getColumnName().equals(column2)) { assertNotSame(AccessConstants.SELECT, mPrivilege.getAction()); } else { fail("Unexpected column name: " + mPrivilege.getColumnName()); assertEquals(db, mPrivilege.getDbName()); assertEquals(table, mPrivilege.getTableName()); if (column1.equals(mPrivilege.getColumnName())) { assertNotSame(AccessConstants.INSERT, mPrivilege.getAction()); } else if (column1.equals(mPrivilege.getColumnName())) { assertNotSame(AccessConstants.SELECT, mPrivilege.getAction()); assertNotSame(AccessConstants.INSERT, mPrivilege.getAction());
assertEquals(table, mPrivilege.getTableName()); assertFalse(mPrivilege.getGrantOption()); if (mPrivilege.getColumnName().equals(column1)) { assertEquals(AccessConstants.ALL, mPrivilege.getAction()); } else if (mPrivilege.getColumnName().equals(column2)) { assertEquals(AccessConstants.INSERT, mPrivilege.getAction()); } else { fail("Unexpected column name: " + mPrivilege.getColumnName()); privileges = role.getPrivileges(); assertEquals(privileges.toString(), 1, privileges.size()); assertEquals(column1, Iterables.get(privileges, 0).getColumnName()); assertEquals(AccessConstants.SELECT, Iterables.get(privileges, 0).getAction());
assertEquals(table, mPrivilege.getTableName()); assertFalse(mPrivilege.getGrantOption()); if (mPrivilege.getColumnName().equals(column1)) { assertEquals(AccessConstants.ALL, mPrivilege.getAction()); } else if (mPrivilege.getColumnName().equals(column2)) { assertEquals(AccessConstants.INSERT, mPrivilege.getAction()); } else { fail("Unexpected column name: " + mPrivilege.getColumnName()); assertEquals(db, mPrivilege.getDbName()); assertEquals(table, mPrivilege.getTableName()); assertEquals(column1, mPrivilege.getColumnName()); assertEquals(AccessConstants.SELECT, mPrivilege.getAction()); assertFalse(mPrivilege.getGrantOption());