Key Trustee KMS Properties in CDH 5.3.0

keymanagementserverproxydefaultgroup

Advanced

Display Name Description Related Name Default Value API Name Required
Key Management Server Proxy Environment Advanced Configuration Snippet (Safety Valve) For advanced use only, key-value pairs (one on each line) to be inserted into a role's environment. Applies to configurations of this role except client configuration. KMS_KEYTRUSTEE_role_env_safety_valve false
Key Management Server Proxy Advanced Configuration Snippet (Safety Valve) for core-site.xml For advanced use only, a string to be inserted into core-site.xml for this role only. core-site.xml_role_safety_valve false
Key Management Server Proxy Advanced Configuration Snippet (Safety Valve) for kms-acls.xml For advanced use only, a string to be inserted into kms-acls.xml for this role only. kms-acls.xml_role_safety_valve false
Key Management Server Proxy Advanced Configuration Snippet (Safety Valve) for kms-site.xml For advanced use only, a string to be inserted into kms-site.xml for this role only. kms-site.xml_role_safety_valve false
Key Management Server Proxy Advanced Configuration Snippet (Safety Valve) for kts-site.xml For advanced use only, a string to be inserted into kts-site.xml for this role only. kts-site.xml_role_safety_valve false
Key Management Server Proxy Logging Advanced Configuration Snippet (Safety Valve) For advanced use only, a string to be inserted into log4j.properties for this role only. log4j_safety_valve false
Automatically Restart Process When set, this role's process is automatically (and transparently) restarted in the event of an unexpected failure. false process_auto_restart true

Logs

Display Name Description Related Name Default Value API Name Required
Key Management Server Proxy Log Directory The log directory for log files of the role Key Management Server Proxy. log.dir /var/log/kms-keytrustee log_dir false
Key Management Server Proxy Logging Threshold The minimum log level for Key Management Server Proxy logs INFO log_threshold false
Key Management Server Proxy Maximum Log File Backups The maximum number of rolled log files to keep for Key Management Server Proxy logs. Typically used by log4j or logback. 10 max_log_backup_index false
Key Management Server Proxy Max Log Size The maximum size, in megabytes, per log file for Key Management Server Proxy logs. Typically used by log4j or logback. 200 MiB max_log_size false

Monitoring

Display Name Description Related Name Default Value API Name Required
Enable Health Alerts for this Role When set, Cloudera Manager will send alerts when the health of this role reaches the threshold specified by the EventServer setting eventserver_health_events_alert_threshold true enable_alerts false
Enable Configuration Change Alerts When set, Cloudera Manager will send alerts when this entity's configuration changes. false enable_config_alerts false
File Descriptor Monitoring Thresholds The health test thresholds of the number of file descriptors used. Specified as a percentage of file descriptor limit. Warning: 50.0 %, Critical: 70.0 % kms_keytrustee_fd_thresholds false
Key Management Server Proxy Host Health Test When computing the overall Key Management Server Proxy health, consider the host's health. true kms_keytrustee_host_health_enabled false
Key Management Server Proxy Process Health Test Enables the health test that the Key Management Server Proxy's process state is consistent with the role configuration true kms_keytrustee_scm_health_enabled false
Process Swap Memory Thresholds The health test thresholds on the swap memory usage of the process. Warning: Any, Critical: Never process_swap_memory_thresholds false
Role Triggers The configured triggers for this role. This is a JSON formatted list of triggers. These triggers are evaluated as part as the health system. Every trigger expression is parsed, and if the trigger condition is met, the list of actions provided in the trigger expression is executed. Each trigger has all of the following fields:
  • triggerName (mandatory) - The name of the trigger. This value must be unique for the specific role.
  • triggerExpression (mandatory) - A tsquery expression representing the trigger.
  • streamThreshold (optional) - The maximum number of streams that can satisfy a condition of a trigger before the condition fires. By default set to 0, and any stream returned causes the condition to fire.
  • enabled (optional) - By default set to 'true'. If set to 'false', the trigger will not be evaluated.
  • expressionEditorConfig (optional) - Metadata for the trigger editor. If present, the trigger should only be edited from the Edit Trigger page; editing the trigger here may lead to inconsistencies.
For example, the following JSON formatted trigger configured for a DataNode fires if the DataNode has more than 1500 file-descriptors opened:[{"triggerName": "sample-trigger", "triggerExpression": "IF (SELECT fd_open WHERE roleName=$ROLENAME and last(fd_open) > 1500) DO health:bad", "streamThreshold": 0, "enabled": "true"}]See the trigger rules documentation for more details on how to write triggers using tsquery.The JSON format is evolving and may change in the future and, as a result, backward compatibility is not guaranteed between releases at this time.
[] role_triggers true
Unexpected Exits Thresholds The health test thresholds for unexpected exits encountered within a recent period specified by the unexpected_exits_window configuration for the role. Warning: Never, Critical: Any unexpected_exits_thresholds false
Unexpected Exits Monitoring Period The period to review when computing unexpected exits. 5 minute(s) unexpected_exits_window false

Other

Display Name Description Related Name Default Value API Name Required
Key Trustee Server Auth Code Key Trustee Server auth code used for KMS to authenticate against the server cloudera.trustee.keyprovider.auth cloudera_trustee_keyprovider_auth true
Active Key Trustee Server Active Key Trustee Server URL that backs the KMS. cloudera.trustee.keyprovider.hostname-ACTIVE cloudera_trustee_keyprovider_hostname-ACTIVE true
Passive Key Trustee Server Passive Key Trustee Server URL that backs the KMS. Only needed for Key Trustee Server high availability. cloudera.trustee.keyprovider.hostname-PASSIVE cloudera_trustee_keyprovider_hostname-PASSIVE false
Key Trustee Server Org Name Key Trustee Server Organization that keys are stored against. cloudera.trustee.keyprovider.org cloudera_trustee_keyprovider_org true
Key Trustee Server Key Provider Pool Timeout Key Trustee key provider pool timeout. cloudera.trustee.keyprovider.pool.abandoned.timeout 5 minute(s) cloudera_trustee_keyprovider_pool_abandoned_timeout true
Key Trustee Server Key Provider Max Connections Key Trustee Server Key Provider Max Connections. cloudera.trustee.keyprovider.pool.max 5 cloudera_trustee_keyprovider_pool_max true
Key Trustee Server Key Provider Pool Max Idle Key Trustee Server Key Provider Pool Max Idle. cloudera.trustee.keyprovider.pool.max.idle 2 cloudera_trustee_keyprovider_pool_max_idle true
Key Trustee Server Key Provider Pool Min Idle Key Trustee Server Key Provider Pool Min Idle. cloudera.trustee.keyprovider.pool.min.idle 1 cloudera_trustee_keyprovider_pool_min_idle true
Key Trustee Server Round Robin Reads Distribute read requests amongst the available Key Trustee Servers. Only effective when a passive server is specified. cloudera.trustee.keyprovider.roundrobin false cloudera_trustee_keyprovider_roundrobin false
HTTP Proxy User Groups Allows the HTTP superuser to impersonate any members of a comma-delimited list of groups. The default '*' allows all groups. To disable entirely, use a string that doesn't correspond to a group name, such as '_no_group_'. hadoop.kms.proxyuser.HTTP.groups * hadoop_kms_proxyuser_HTTP_groups false
HTTP Proxy User Hosts Comma-delimited list of hosts where you want to allow the HTTP user to impersonate other users. The default '*' allows all hosts. To disable entirely, use a string that doesn't correspond to a host name, such as '_no_host'. hadoop.kms.proxyuser.HTTP.hosts * hadoop_kms_proxyuser_HTTP_hosts false
Flume Proxy User Groups Allows the flume superuser to impersonate any members of a comma-delimited list of groups. The default '*' allows all groups. To disable entirely, use a string that doesn't correspond to a group name, such as '_no_group_'. hadoop.kms.proxyuser.flume.groups * hadoop_kms_proxyuser_flume_groups false
Flume Proxy User Hosts Comma-delimited list of hosts where you want to allow the flume user to impersonate other users. The default '*' allows all hosts. To disable entirely, use a string that doesn't correspond to a host name, such as '_no_host'. hadoop.kms.proxyuser.flume.hosts * hadoop_kms_proxyuser_flume_hosts false
HDFS Proxy User Groups Allows the hdfs superuser to impersonate any members of a comma-delimited list of groups. The default '*' allows all groups. To disable entirely, use a string that doesn't correspond to a group name, such as '_no_group_'. hadoop.kms.proxyuser.hdfs.groups * hadoop_kms_proxyuser_hdfs_groups false
HDFS Proxy User Hosts Comma-delimited list of hosts where you want to allow the hdfs user to impersonate other users. The default '*' allows all hosts. To disable entirely, use a string that doesn't correspond to a host name, such as '_no_host'. hadoop.kms.proxyuser.hdfs.hosts * hadoop_kms_proxyuser_hdfs_hosts false
Hive Proxy User Groups Allows the hive superuser to impersonate any members of a comma-delimited list of groups. The default '*' allows all groups. To disable entirely, use a string that doesn't correspond to a group name, such as '_no_group_'. hadoop.kms.proxyuser.hive.groups * hadoop_kms_proxyuser_hive_groups false
Hive Proxy User Hosts Comma-delimited list of hosts where you want to allow the hive user to impersonate other users. The default '*' allows all hosts. To disable entirely, use a string that doesn't correspond to a host name, such as '_no_host'. hadoop.kms.proxyuser.hive.hosts * hadoop_kms_proxyuser_hive_hosts false
HttpFS Proxy User Groups Allows the httpfs superuser to impersonate any members of a comma-delimited list of groups. The default '*' allows all groups. To disable entirely, use a string that doesn't correspond to a group name, such as '_no_group_'. hadoop.kms.proxyuser.httpfs.groups * hadoop_kms_proxyuser_httpfs_groups false
HttpFS Proxy User Hosts Comma-delimited list of hosts where you want to allow the httpfs user to impersonate other users. The default '*' allows all hosts. To disable entirely, use a string that doesn't correspond to a host name, such as '_no_host'. hadoop.kms.proxyuser.httpfs.hosts * hadoop_kms_proxyuser_httpfs_hosts false
Hue Proxy User Groups Allows the hue superuser to impersonate any members of a comma-delimited list of groups. The default '*' allows all groups. To disable entirely, use a string that doesn't correspond to a group name, such as '_no_group_'. hadoop.kms.proxyuser.hue.groups * hadoop_kms_proxyuser_hue_groups false
Hue Proxy User Hosts Comma-delimited list of hosts where you want to allow the hue user to impersonate other users. The default '*' allows all hosts. To disable entirely, use a string that doesn't correspond to a host name, such as '_no_host'. hadoop.kms.proxyuser.hue.hosts * hadoop_kms_proxyuser_hue_hosts false
Mapred Proxy User Groups Allows the mapred superuser to impersonate any members of a comma-delimited list of groups. The default '*' allows all groups. To disable entirely, use a string that doesn't correspond to a group name, such as '_no_group_'. hadoop.kms.proxyuser.mapred.groups * hadoop_kms_proxyuser_mapred_groups false
Mapred Proxy User Hosts Comma-delimited list of hosts where you want to allow the mapred user to impersonate other users. The default '*' allows all hosts. To disable entirely, use a string that doesn't correspond to a host name, such as '_no_host'. hadoop.kms.proxyuser.mapred.hosts * hadoop_kms_proxyuser_mapred_hosts false
Oozie Proxy User Groups Allows the oozie superuser to impersonate any members of a comma-delimited list of groups. The default '*' allows all groups. To disable entirely, use a string that doesn't correspond to a group name, such as '_no_group_'. hadoop.kms.proxyuser.oozie.groups * hadoop_kms_proxyuser_oozie_groups false
Oozie Proxy User Hosts Comma-delimited list of hosts where you want to allow the oozie user to impersonate other users. The default '*' allows all hosts. To disable entirely, use a string that doesn't correspond to a host name, such as '_no_host'. hadoop.kms.proxyuser.oozie.hosts * hadoop_kms_proxyuser_oozie_hosts false
YARN Proxy User Groups Allows the yarn superuser to impersonate any members of a comma-delimited list of groups. The default '*' allows all groups. To disable entirely, use a string that doesn't correspond to a group name, such as '_no_group_'. hadoop.kms.proxyuser.yarn.groups * hadoop_kms_proxyuser_yarn_groups false
YARN Proxy User Hosts Comma-delimited list of hosts where you want to allow the yarn user to impersonate other users. The default '*' allows all hosts. To disable entirely, use a string that doesn't correspond to a host name, such as '_no_host'. hadoop.kms.proxyuser.yarn.hosts * hadoop_kms_proxyuser_yarn_hosts false
Key Trustee KeyStoreProvider Directory Directory to the keystore file used by Key Trustee KeyStoreProvider that backs the KMS. hadoop.kms.key.provider.uri /var/lib/kms-keytrustee hadoop_security_key_provider_dir true
Key Trustee KeyStoreProvider Configuration Directory Directory to store configuration of keystore file used by Key Trustee KeyStoreProvider that backs the KMS. keytrustee.kms.key.provider.conf.uri /var/lib/kms-keytrustee/keytrustee keytrustee_security_key_provider_conf_dir true
KMS Blacklist Users A comma-separated list of users (no spaces) for whom to disallow access to key material. These users can still fetch key metadata and create encrypted encryption keys, but are unable to do any other KMS operations. Typically, HDFS superusers will be specified here. kms_blacklist_users kms_blacklist_users false
KMS Enable High Availability Mode Through ZooKeeper Flag to specify if KMS is to run in HA mode kms_ha_mode_enable false kms_ha_mode_enable true
KMS Heap Size Maximum heap size of the KMS. kms_heap_size 1 GiB kms_heap_size true
KMS Max Threads Maximum number of threads used to handle KMS requests. kms_max_threads 250 kms_max_threads false
KMS Staging Directory Directory where configuration and binaries are staged before starting KMS. Does not normally need to be modified. kms_staging_dir /var/lib/keytrustee-kms kms_staging_dir true

Performance

Display Name Description Related Name Default Value API Name Required
Maximum Process File Descriptors If configured, overrides the process soft and hard rlimits (also called ulimits) for file descriptors to the configured value. rlimit_fds false

Ports and Addresses

Display Name Description Related Name Default Value API Name Required
KMS Admin Port Port used to access the KMS' embedded Tomcat admin console. kms_admin_port 16001 kms_admin_port true
KMS HTTP Port Port used by clients to interact with the KMS. kms_http_port 16000 kms_http_port true

Resource Management

Display Name Description Related Name Default Value API Name Required
Cgroup CPU Shares Number of CPU shares to assign to this role. The greater the number of shares, the larger the share of the host's CPUs that will be given to this role when the host experiences CPU contention. Must be between 2 and 262144. Defaults to 1024 for processes not managed by Cloudera Manager. cpu.shares 1024 rm_cpu_shares true
Cgroup I/O Weight Weight for the read I/O requests issued by this role. The greater the weight, the higher the priority of the requests when the host experiences I/O contention. Must be between 100 and 1000. Defaults to 1000 for processes not managed by Cloudera Manager. blkio.weight 500 rm_io_weight true
Cgroup Memory Hard Limit Hard memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit. memory.limit_in_bytes -1 MiB rm_memory_hard_limit true
Cgroup Memory Soft Limit Soft memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process if and only if the host is facing memory pressure. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit. memory.soft_limit_in_bytes -1 MiB rm_memory_soft_limit true

Security

Display Name Description Related Name Default Value API Name Required
Key Management Server Proxy TLS/SSL Certificate Trust Store File The location on disk of the trust store, in .jks format, used to confirm the authenticity of TLS/SSL servers that Key Management Server Proxy might connect to. This is used when Key Management Server Proxy is the client in a TLS/SSL connection. This trust store must contain the certificate(s) used to sign the service(s) being connected to. If this parameter is not provided, the default list of well-known certificate authorities is used instead. ssl_client_truststore_location false
Key Management Server Proxy TLS/SSL Certificate Trust Store Password The password for the Key Management Server Proxy TLS/SSL Certificate Trust Store File. Note that this password is not required to access the trust store: this field can be left blank. This password provides optional integrity checking of the file. The contents of trust stores are certificates, and certificates are public information. ssl_client_truststore_password false
Enable TLS/SSL for Key Management Server Proxy Encrypt communication between clients and Key Management Server Proxy using Transport Layer Security (TLS) (formerly known as Secure Socket Layer (SSL)). false ssl_enabled false
Key Management Server Proxy TLS/SSL Server JKS Keystore File Location The path to the TLS/SSL keystore file containing the server certificate and private key used for TLS/SSL. Used when Key Management Server Proxy is acting as a TLS/SSL server. The keystore must be in JKS format. ssl_server_keystore_location false
Key Management Server Proxy TLS/SSL Server JKS Keystore File Password The password for the Key Management Server Proxy JKS keystore file. ssl_server_keystore_password false

service_wide

Advanced

Display Name Description Related Name Default Value API Name Required
Key Trustee KMS Service Environment Advanced Configuration Snippet (Safety Valve) For advanced use only, key-value pairs (one on each line) to be inserted into a role's environment. Applies to configurations of all roles in this service except client configuration. KEYTRUSTEE_service_env_safety_valve false
System Group The group that this service's processes should run as. kms process_groupname true
System User The user that this service's processes should run as. kms process_username true

Monitoring

Display Name Description Related Name Default Value API Name Required
Enable Service Level Health Alerts When set, Cloudera Manager will send alerts when the health of this service reaches the threshold specified by the EventServer setting eventserver_health_events_alert_threshold true enable_alerts false
Enable Configuration Change Alerts When set, Cloudera Manager will send alerts when this entity's configuration changes. false enable_config_alerts false
Service Triggers The configured triggers for this service. This is a JSON formatted list of triggers. These triggers are evaluated as part as the health system. Every trigger expression is parsed, and if the trigger condition is met, the list of actions provided in the trigger expression is executed. Each trigger has all of the following fields:
  • triggerName (mandatory) - The name of the trigger. This value must be unique for the specific service.
  • triggerExpression (mandatory) - A tsquery expression representing the trigger.
  • streamThreshold (optional) - The maximum number of streams that can satisfy a condition of a trigger before the condition fires. By default set to 0, and any stream returned causes the condition to fire.
  • enabled (optional) - By default set to 'true'. If set to 'false', the trigger will not be evaluated.
  • expressionEditorConfig (optional) - Metadata for the trigger editor. If present, the trigger should only be edited from the Edit Trigger page; editing the trigger here may lead to inconsistencies.
For example, the followig JSON formatted trigger fires if there are more than 10 DataNodes with more than 500 file-descriptors opened:[{"triggerName": "sample-trigger", "triggerExpression": "IF (SELECT fd_open WHERE roleType = DataNode and last(fd_open) > 500) DO health:bad", "streamThreshold": 10, "enabled": "true"}]See the trigger rules documentation for more details on how to write triggers using tsquery.The JSON format is evolving and may change in the future and, as a result, backward compatibility is not guaranteed between releases at this time.
[] service_triggers true
Service Monitor Derived Configs Advanced Configuration Snippet (Safety Valve) For advanced use only, a list of derived configuration properties that will be used by the Service Monitor instead of the default ones. smon_derived_configs_safety_valve false

Other

Display Name Description Related Name Default Value API Name Required
ZooKeeper Authentication Type for Secret Signer ZooKeeper Authentication for Secret Signer. Can be either "none" or "sasl" hadoop.kms.authentication.signer.secret.provider.zookeeper.auth.type none hadoop_kms_authentication_signer_secret_provider_zookeeper_auth_type true
Authentication Secret Signer ZooKeeper Path Authentication Secret Signer ZooKeeper path. Is required to be set for KMS High Availability deployments hadoop.kms.authentication.signer.secret.provider.zookeeper.path /kmsZKRoot hadoop_kms_authentication_signer_secret_provider_zookeeper_path true
Authentication Type Authentication type for the KMS. Can either be "simple" or "kerberos". hadoop.kms.authentication.type simple hadoop_kms_authentication_type true
KMS Load Balancer Key Management Store Load Balancer, required when there are multiple KMS roles (KMS High Availability). This can either point to an external Load Balancer URL, or a special URL of the form : "http://<HOSTS>[:<PORT>]/kms" (where <HOSTS> = <HOSTNAME>[;<HOSTS>]) can be specified, which will use an internal client load balancer to distribute requests between Key management stores running on different hosts. NOTE: If the internal LoadBalancer is used, then it is required that KMS High Availability Mode through ZooKeeper is enabled and all pariticipating Key Management Server instances run on the same port (since only 1 port can be specified). An example value would be : http://host1.kms.com;host2.kms.com:16000/kms kms_load_balancer kms_load_balancer false
ZooKeeper Service Name of the ZooKeeper service that this Key Trustee KMS service instance depends on zookeeper_service false