/** * @param perms A map of permissions for a user or users */ public Mutation setACL(Map<String, Permission> perms) { ListMultimap<String, Permission> permMap = ArrayListMultimap.create(); for (Map.Entry<String, Permission> entry : perms.entrySet()) { permMap.put(entry.getKey(), entry.getValue()); } setAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL, AccessControlUtil.toUsersAndPermissions(permMap).toByteArray()); return this; }
private void generateGroupMaps( List<RegionInfo> regions, List<ServerName> servers, ListMultimap<String, RegionInfo> regionMap, ListMultimap<String, ServerName> serverMap) throws HBaseIOException { try { for (RegionInfo region : regions) { String groupName = rsGroupInfoManager.getRSGroupOfTable(region.getTable()); if (groupName == null) { LOG.info("Group not found for table " + region.getTable() + ", using default"); groupName = RSGroupInfo.DEFAULT_GROUP; } regionMap.put(groupName, region); } for (String groupKey : regionMap.keySet()) { RSGroupInfo info = rsGroupInfoManager.getRSGroup(groupKey); serverMap.putAll(groupKey, filterOfflineServers(info, servers)); if(serverMap.get(groupKey).size() < 1) { serverMap.put(groupKey, LoadBalancer.BOGUS_SERVER_NAME); } } } catch(IOException e) { throw new HBaseIOException("Failed to generate group maps", e); } }
/** * @param perms A map of permissions for a user or users */ public Query setACL(Map<String, Permission> perms) { ListMultimap<String, Permission> permMap = ArrayListMultimap.create(); for (Map.Entry<String, Permission> entry : perms.entrySet()) { permMap.put(entry.getKey(), entry.getValue()); } setAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL, AccessControlUtil.toUsersAndPermissions(permMap).toByteArray()); return this; }
public static ListMultimap<String, Permission> toUsersAndPermissions( AccessControlProtos.UsersAndPermissions proto) { ListMultimap<String, Permission> result = ArrayListMultimap.create(); for (AccessControlProtos.UsersAndPermissions.UserPermissions userPerms: proto.getUserPermissionsList()) { String user = userPerms.getUser().toStringUtf8(); for (AccessControlProtos.Permission perm: userPerms.getPermissionsList()) { result.put(user, toPermission(perm)); } } return result; }
private ListMultimap<String, UserPermission> createPermissions() { ListMultimap<String, UserPermission> permissions = ArrayListMultimap.create(); permissions.put("george", new UserPermission("george", TEST_TABLE, Permission.Action.READ)); permissions.put("george", new UserPermission("george", TEST_TABLE, TEST_FAMILY, Permission.Action.WRITE)); permissions.put("george", new UserPermission("george", TEST_TABLE2, Permission.Action.READ)); permissions.put("hubert", new UserPermission("hubert", TEST_TABLE2, Permission.Action.READ, Permission.Action.WRITE)); permissions.put("bruce", new UserPermission("bruce", TEST_NAMESPACE, Permission.Action.READ)); return permissions; }
groupName = RSGroupInfo.DEFAULT_GROUP; groupToRegion.put(groupName, region);
/** * Convert a protobuf UserTablePermissions to a ListMultimap<Username, Permission> * @param proto the proto UsersAndPermissions * @return a ListMultimap with user and its permissions */ public static ListMultimap<String, Permission> toPermission( AccessControlProtos.UsersAndPermissions proto) { ListMultimap<String, Permission> perms = ArrayListMultimap.create(); AccessControlProtos.UsersAndPermissions.UserPermissions userPerm; for (int i = 0; i < proto.getUserPermissionsCount(); i++) { userPerm = proto.getUserPermissions(i); String username = userPerm.getUser().toStringUtf8(); for (int j = 0; j < userPerm.getPermissionsCount(); j++) { perms.put(username, toPermission(userPerm.getPermissions(j))); } } return perms; }
String username = permissionsOfUserOnTable.getFirst(); Permission permission = permissionsOfUserOnTable.getSecond(); perms.put(username, new UserPermission(username, permission));
/** * Convert a protobuf UserTablePermissions to a ListMultimap<Username, UserPermission> * @param proto the proto UsersAndPermissions * @return a ListMultimap with user and its permissions */ public static ListMultimap<String, UserPermission> toUserPermission( AccessControlProtos.UsersAndPermissions proto) { ListMultimap<String, UserPermission> userPermission = ArrayListMultimap.create(); AccessControlProtos.UsersAndPermissions.UserPermissions userPerm; for (int i = 0; i < proto.getUserPermissionsCount(); i++) { userPerm = proto.getUserPermissions(i); String username = userPerm.getUser().toStringUtf8(); for (int j = 0; j < userPerm.getPermissionsCount(); j++) { userPermission.put(username, new UserPermission(username, toPermission(userPerm.getPermissions(j)))); } } return userPermission; }
List<Permission> perms = readWritableUserPermission(in, conf); for (Permission p : perms) { userPermission.put(user, new UserPermission(user, p));
/** * Parse and filter permission based on the specified column family, column qualifier and user * name. */ private static ListMultimap<String, UserPermission> parsePermissions(byte[] entryName, Result result, byte[] cf, byte[] cq, String user, boolean hasFilterUser) { ListMultimap<String, UserPermission> perms = ArrayListMultimap.create(); if (result != null && result.size() > 0) { for (Cell kv : result.rawCells()) { Pair<String, Permission> permissionsOfUserOnTable = parsePermissionRecord(entryName, kv, cf, cq, hasFilterUser, user); if (permissionsOfUserOnTable != null) { String username = permissionsOfUserOnTable.getFirst(); Permission permission = permissionsOfUserOnTable.getSecond(); perms.put(username, new UserPermission(username, permission)); } } } return perms; }
/** * Convert a shaded protobuf UserTablePermissions to a ListMultimap<String, TablePermission> * where key is username. * @param proto the protobuf UserPermission * @return the converted UserPermission */ public static ListMultimap<String, Permission> toUserTablePermissions( AccessControlProtos.UsersAndPermissions proto) { ListMultimap<String, Permission> perms = ArrayListMultimap.create(); AccessControlProtos.UsersAndPermissions.UserPermissions userPerm; for (int i = 0; i < proto.getUserPermissionsCount(); i++) { userPerm = proto.getUserPermissions(i); for (int j = 0; j < userPerm.getPermissionsCount(); j++) { Permission perm = toPermission(userPerm.getPermissions(j)); perms.put(userPerm.getUser().toStringUtf8(), perm); } } return perms; }
/** * @param perms A map of permissions for a user or users */ public Query setACL(Map<String, Permission> perms) { ListMultimap<String, Permission> permMap = ArrayListMultimap.create(); for (Map.Entry<String, Permission> entry : perms.entrySet()) { permMap.put(entry.getKey(), entry.getValue()); } setAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL, AccessControlUtil.toUsersAndPermissions(permMap).toByteArray()); return this; }
/** * @param perms A map of permissions for a user or users */ public Mutation setACL(Map<String, Permission> perms) { ListMultimap<String, Permission> permMap = ArrayListMultimap.create(); for (Map.Entry<String, Permission> entry : perms.entrySet()) { permMap.put(entry.getKey(), entry.getValue()); } setAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL, AccessControlUtil.toUsersAndPermissions(permMap).toByteArray()); return this; }
public static ListMultimap<String, Permission> toUsersAndPermissions( AccessControlProtos.UsersAndPermissions proto) { ListMultimap<String, Permission> result = ArrayListMultimap.create(); for (AccessControlProtos.UsersAndPermissions.UserPermissions userPerms: proto.getUserPermissionsList()) { String user = userPerms.getUser().toStringUtf8(); for (AccessControlProtos.Permission perm: userPerms.getPermissionsList()) { result.put(user, toPermission(perm)); } } return result; }
/** * Convert a protobuf UserTablePermissions to a * ListMultimap<String, TablePermission> where key is username. * * @param proto the protobuf UserPermission * @return the converted UserPermission */ public static ListMultimap<String, TablePermission> toUserTablePermissions( AccessControlProtos.UsersAndPermissions proto) { ListMultimap<String, TablePermission> perms = ArrayListMultimap.create(); AccessControlProtos.UsersAndPermissions.UserPermissions userPerm; for (int i = 0; i < proto.getUserPermissionsCount(); i++) { userPerm = proto.getUserPermissions(i); for (int j = 0; j < userPerm.getPermissionsCount(); j++) { TablePermission tablePerm = toTablePermission(userPerm.getPermissions(j)); perms.put(userPerm.getUser().toStringUtf8(), tablePerm); } } return perms; }
/** * Convert a shaded protobuf UserTablePermissions to a ListMultimap<String, TablePermission> * where key is username. * @param proto the protobuf UserPermission * @return the converted UserPermission */ public static ListMultimap<String, TablePermission> toUserTablePermissions( org.apache.hadoop.hbase.shaded.protobuf.generated.AccessControlProtos.UsersAndPermissions proto) { ListMultimap<String, TablePermission> perms = ArrayListMultimap.create(); org.apache.hadoop.hbase.shaded.protobuf.generated.AccessControlProtos.UsersAndPermissions.UserPermissions userPerm; for (int i = 0; i < proto.getUserPermissionsCount(); i++) { userPerm = proto.getUserPermissions(i); for (int j = 0; j < userPerm.getPermissionsCount(); j++) { TablePermission tablePerm = toTablePermission(userPerm.getPermissions(j)); perms.put(userPerm.getUser().toStringUtf8(), tablePerm); } } return perms; }
/** * @param perms A map of permissions for a user or users */ public Mutation setACL(Map<String, Permission> perms) { ListMultimap<String, Permission> permMap = ArrayListMultimap.create(); for (Map.Entry<String, Permission> entry : perms.entrySet()) { permMap.put(entry.getKey(), entry.getValue()); } setAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL, AccessControlUtil.toUsersAndPermissions(permMap).toByteArray()); return this; }
/** * @param perms A map of permissions for a user or users */ public Query setACL(Map<String, Permission> perms) { ListMultimap<String, Permission> permMap = ArrayListMultimap.create(); for (Map.Entry<String, Permission> entry : perms.entrySet()) { permMap.put(entry.getKey(), entry.getValue()); } setAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL, AccessControlUtil.toUsersAndPermissions(permMap).toByteArray()); return this; }
public static ListMultimap<String, Permission> toUsersAndPermissions( AccessControlProtos.UsersAndPermissions proto) { ListMultimap<String, Permission> result = ArrayListMultimap.create(); for (AccessControlProtos.UsersAndPermissions.UserPermissions userPerms: proto.getUserPermissionsList()) { String user = userPerms.getUser().toStringUtf8(); for (AccessControlProtos.Permission perm: userPerms.getPermissionsList()) { result.put(user, toPermission(perm)); } } return result; }