[feature](ranger) Support Apache ranger for Doris (#27864)

For usage, see:
5d340ce24f/docs/zh-CN/docs/admin-manual/privilege-ldap/ranger.md

For range-doris-plugin, see:
https://github.com/morningman/ranger/tree/doris-plugin

To support ranger, there are several other modification:

1. Support `show resources like "pattern"`
2. Support `show workload group like "pattern"`
3. Support `show schemas like "pattern"`
This commit is contained in:
Mingyu Chen
2024-01-27 09:08:15 +08:00
committed by yiguolei
parent 2284575afa
commit 5d7543b30b
51 changed files with 1367 additions and 274 deletions

View File

@ -2416,4 +2416,85 @@ public class Config extends ConfigBase {
})
public static int label_num_threshold = 2000;
@ConfField(description = {"指定 internal catalog 的默认鉴权类",
"Specify the default authentication class of internal catalog"},
options = {"default", "ranger-doris"})
public static String access_controller_type = "default";
//==========================================================================
// begin of cloud config
//==========================================================================
@ConfField
public static String cloud_unique_id = "";
public static boolean isCloudMode() {
return !cloud_unique_id.isEmpty();
}
public static boolean isNotCloudMode() {
return cloud_unique_id.isEmpty();
}
/**
* MetaService endpoint, ip:port, such as meta_service_endpoint = "192.0.0.10:8866"
*/
@ConfField
public static String meta_service_endpoint = "";
@ConfField(mutable = true)
public static boolean meta_service_connection_pooled = true;
@ConfField(mutable = true)
public static int meta_service_connection_pool_size = 20;
@ConfField(mutable = true)
public static int meta_service_rpc_retry_times = 200;
// A connection will expire after a random time during [base, 2*base), so that the FE
// has a chance to connect to a new RS. Set zero to disable it.
@ConfField(mutable = true)
public static int meta_service_connection_age_base_minutes = 5;
@ConfField(mutable = false)
public static boolean enable_sts_vpc = true;
@ConfField(mutable = true)
public static int sts_duration = 3600;
@ConfField(mutable = true)
public static int drop_rpc_retry_num = 200;
@ConfField
public static int cloud_meta_service_rpc_failed_retry_times = 200;
@ConfField
public static int default_get_version_from_ms_timeout_second = 3;
@ConfField(mutable = true)
public static boolean enable_cloud_multi_replica = false;
@ConfField(mutable = true)
public static int cloud_replica_num = 3;
@ConfField(mutable = true)
public static int cloud_cold_read_percent = 10; // 10%
// The original meta read lock is not enough to keep a snapshot of partition versions,
// so the execution of `createScanRangeLocations` are delayed to `Coordinator::exec`,
// to help to acquire a snapshot of partition versions.
@ConfField
public static boolean enable_cloud_snapshot_version = true;
@ConfField
public static int cloud_cluster_check_interval_second = 10;
@ConfField
public static String cloud_sql_server_cluster_name = "RESERVED_CLUSTER_NAME_FOR_SQL_SERVER";
@ConfField
public static String cloud_sql_server_cluster_id = "RESERVED_CLUSTER_ID_FOR_SQL_SERVER";
//==========================================================================
// end of cloud config
//==========================================================================
}