@Override
  public void postCompletedCreateTableAction(ObserverContext<MasterCoprocessorEnvironment> c,
    TableDescriptor desc, RegionInfo[] regions) throws IOException {
    if (needHandleTableHdfsAcl(desc, "createTable " + desc.getTableName())) {
      TableName tableName = desc.getTableName();
      // 1. Create table directories to make HDFS acls can be inherited
      hdfsAclHelper.createTableDirectories(tableName);
      // 2. Add table owner HDFS acls
      String owner = getActiveUser(c).getShortName();
      hdfsAclHelper.addTableAcl(tableName, Sets.newHashSet(owner), "create");
      // 3. Record table owner permission is synced to HDFS in acl table
      SnapshotScannerHDFSAclStorage.addUserTableHdfsAcl(c.getEnvironment().getConnection(), owner,
        tableName);
    }
  }
Provider for mapping principal names to Users
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/SnapshotScannerHDFSAclController.java