public boolean authorizeCell(User user, TableName table, Cell cell, Permission.Action action) {
    try {
      assert cell instanceof ExtendedCell;
      List<Permission> perms =
        PermissionStorage.getCellPermissionsForUser(user, (ExtendedCell) cell);
      if (LOG.isTraceEnabled()) {
        LOG.trace("Perms for user {} in table {} in cell {}: {}", user.getShortName(), table, cell,
          (perms != null ? perms : ""));
      }
      if (perms != null) {
        for (Permission p : perms) {
          if (p.implies(action)) {
            return true;
          }
        }
      }
    } catch (IOException e) {
      // We failed to parse the KV tag
      LOG.error("Failed parse of ACL tag in cell " + cell);
      // Fall through to check with the table and CF perms we were able
      // to collect regardless
    }
    return false;
  }
Check if user has given action privilige in cell scope.
@param user   user name
@param table  table name
@param cell   cell to be checked
@param action one of action in [Read, Write, Create, Exec, Admin]
@return true if user has, false otherwise
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AuthManager.java