配置属性

名称说明
hadoop.kms.http.port9600KMS REST API 的 HTTP 端口。
hadoop.kms.http.host0.0.0.0KMS REST API 的绑定主机。
hadoop.kms.http.administrators管理员的 ACL,此配置用于控制谁可以访问默认 KMS servlet。该值应为以逗号分隔的用户和组列表。用户列表排在前面,并用空格分隔,后跟组列表,例如“user1,user2 group1,group2”。用户和组都是可选的,因此“user1”、“group1”、“”、“user1 group1”、“user1,user2 group1,group2”都是有效的(请注意“group1”中的前导空格)。“*”授予所有用户和组的访问权限,例如“*”、“* ”和“*”都是有效的。
hadoop.kms.ssl.enabledfalse是否启用 SSL。默认值为 false,即禁用。
hadoop.http.max.threads1000最大线程数。
hadoop.http.max.request.header.size65536最大 HTTP 请求头大小。
hadoop.http.max.response.header.size65536最大 HTTP 响应头大小。
hadoop.http.temp.dir${hadoop.tmp.dir}/kmsKMS 临时目录。
hadoop.http.socket.backlog.size500KMS 服务器接受队列大小。
hadoop.http.idle_timeout.ms60000KMS 服务器连接超时(以毫秒为单位)。
hadoop.kms.key.provider.urijceks://file@/${user.home}/kms.keystoreKMS 的后备 KeyProvider 的 URI。
hadoop.security.keystore.java-keystore-provider.password-file如果使用 JavaKeyStoreProvider,则为密钥库密码的文件名。
hadoop.kms.cache.enabletrueKMS 是否充当后备 KeyProvider 的缓存。当启用缓存时,诸如 getKeyVersion、getMetadata 和 getCurrentKey 等操作有时会返回缓存数据,而无需咨询后备 KeyProvider。在删除或修改密钥时会刷新缓存值。
hadoop.kms.cache.timeout.ms600000KMS 密钥版本和密钥元数据缓存的过期时间(以毫秒为单位)。这会影响 getKeyVersion 和 getMetadata。
hadoop.kms.current.key.cache.timeout.ms30000KMS 当前密钥缓存的过期时间(以毫秒为单位)。这会影响 getCurrentKey 操作。
hadoop.kms.audit.aggregation.window.ms10000聚合窗口(以毫秒为单位指定)内的重复审计日志事件会被取消,以减少日志流量。会在窗口结束时打印一条聚合事件的单一消息,以及聚合事件的数量。
hadoop.kms.authentication.typesimpleKMS 的身份验证类型。可以是“simple”(默认)或“kerberos”。
hadoop.kms.authentication.kerberos.keytab${user.home}/kms.keytab包含已配置 Kerberos 主体的凭据的密钥表的路径。
hadoop.kms.authentication.kerberos.principalHTTP/localhost用于 HTTP 端点的 Kerberos 主体。主体必须以“HTTP/”开头,按照 Kerberos HTTP SPNEGO 规范。
hadoop.kms.authentication.kerberos.name.rulesDEFAULT用于解析 Kerberos 主体名称的规则。
hadoop.kms.authentication.signer.secret.providerrandom指示用于存储用于对身份验证 Cookie 进行签名的密钥的方式。选项包括“random”(默认值)、“string”和“zookeeper”。如果使用具有多个 KMS 实例的设置,则应使用“zookeeper”。
hadoop.kms.authentication.signer.secret.provider.zookeeper.path/hadoop-kms/hadoop-auth-signature-secretKMS 实例将存储并从中检索密钥的 Zookeeper ZNode 路径。
hadoop.kms.authentication.signer.secret.provider.zookeeper.connection.string#HOSTNAME#:#PORT#,...Zookeeper 连接字符串,主机名和端口列表,用逗号分隔。
hadoop.kms.authentication.signer.secret.provider.zookeeper.auth.typenoneZookeeper 身份验证类型,“none”(默认值)或“sasl”(Kerberos)。
hadoop.kms.authentication.signer.secret.provider.zookeeper.kerberos.keytab/etc/hadoop/conf/kms.keytab用于连接到 Zookeeper 的凭据的 Kerberos 密钥表的绝对路径。
hadoop.kms.authentication.signer.secret.provider.zookeeper.kerberos.principalkms/#HOSTNAME#用于连接到 Zookeeper 的 Kerberos 服务主体。
hadoop.kms.audit.loggerorg.apache.hadoop.crypto.key.kms.server.SimpleKMSAuditLoggerKMS 的审计记录器。它是 KMSAuditLogger 类名称的逗号分隔列表。默认值仅为文本格式的 SimpleKMSAuditLogger。如果未配置此项,则将使用默认值。
hadoop.kms.key.authorization.enabletrue布尔属性,用于启用/禁用每个密钥授权
hadoop.security.kms.encrypted.key.cache.size100缓存的大小。这是在每个密钥名称下可以缓存的 EEK 的最大数量。
hadoop.security.kms.encrypted.key.cache.low.watermark0.3缓存的低水位线。对于每个密钥名称,如果在 get 调用后,缓存的 EEK 数量少于(大小 * 低水位线),则此密钥名称下的缓存将异步填充。对于每个密钥名称,仅 1 个线程可以运行异步填充。
hadoop.security.kms.encrypted.key.cache.num.fill.threads2允许填充缓存中队列的异步线程的总体最大数量,跨密钥名称。
hadoop.security.kms.encrypted.key.cache.expiry43200000缓存到期时间,以毫秒为单位。内部使用 Guava 缓存作为缓存实现。到期方法为 expireAfterAccess