KMS 기본 설정 속성
KMS 기본 설정 속성
Hadoop Key Management Server (KMS)의 기본 설정 속성과 그 값, 설명을 정리한 문서예요.
출처: 문서
본문
설정 속성 (Configuration Properties)
| name | value | description |
|---|---|---|
hadoop.kms.http.port |
9600 |
KMS REST API용 HTTP 포트 |
hadoop.kms.http.host |
0.0.0.0 |
KMS REST API용 바인드 호스트 |
hadoop.kms.http.administrators |
관리자용 ACL. 기본 KMS 서블릿에 접근할 수 있는 사람을 제어하는 데 사용되는 구성이에요. 값은 사용자와 그룹을 쉼표로 구분한 목록이어야 해요. 사용자 목록이 먼저 오고, 공백으로 구분된 뒤 그룹 목록이 이어져요. 예: "user1,user2 group1,group2". 사용자와 그룹 모두 선택 사항이라서 "user1", " group1", "", "user1 group1", "user1,user2 group1,group2" 모두 유효해요 (" group1"의 앞 공백에 주의). *는 모든 사용자와 그룹에 접근을 허용하며 '*', '* ', ' *' 모두 유효해요. |
|
hadoop.kms.ssl.enabled |
false |
SSL 활성화 여부. 기본값은 false, 즉 비활성화예요. |
hadoop.http.max.threads |
1000 |
최대 스레드 수 |
hadoop.http.max.request.header.size |
65536 |
최대 HTTP 요청 헤더 크기 |
hadoop.http.max.response.header.size |
65536 |
최대 HTTP 응답 헤더 크기 |
hadoop.http.temp.dir |
${hadoop.tmp.dir}/kms |
KMS 임시 디렉터리 |
hadoop.http.socket.backlog.size |
500 |
KMS 서버 수락(accept) 큐 크기 |
hadoop.http.idle_timeout.ms |
60000 |
KMS 서버 연결 타임아웃 (밀리초) |
hadoop.kms.key.provider.uri |
jceks://file@/${user.home}/kms.keystore |
KMS의 백킹(backing) KeyProvider URI |
hadoop.security.keystore.java-keystore-provider.password-file |
JavaKeyStoreProvider를 사용한다면 keystore 비밀번호용 파일 이름 | |
hadoop.kms.cache.enable |
true |
KMS가 백킹 KeyProvider의 캐시로 동작할지 여부. 캐시가 활성화되면 getKeyVersion, getMetadata, getCurrentKey 같은 연산은 백킹 KeyProvider를 조회하지 않고 캐시된 데이터를 반환할 때가 있어요. 캐시된 값은 키가 삭제되거나 수정될 때 플러시돼요. |
hadoop.kms.cache.timeout.ms |
600000 |
KMS 키 버전과 키 메타데이터 캐시의 만료 시간 (밀리초). getKeyVersion과 getMetadata에 영향을 미쳐요. |
hadoop.kms.current.key.cache.timeout.ms |
30000 |
KMS 현재 키 캐시의 만료 시간 (밀리초). getCurrentKey 연산에 영향을 미쳐요. |
hadoop.kms.audit.aggregation.window.ms |
10000 |
집계 창(ms로 지정) 안의 중복 감사(audit) 로그 이벤트는 로그 트래픽을 줄이기 위해 억제돼요. 집계된 이벤트의 단일 메시지가 창 끝에 집계 이벤트 수와 함께 출력돼요. |
hadoop.kms.authentication.type |
simple |
KMS의 인증 유형. 'simple'(기본값) 또는 'kerberos'가 될 수 있어요. |
hadoop.kms.authentication.kerberos.keytab |
${user.home}/kms.keytab |
구성된 Kerberos principal의 자격 증명이 있는 keytab 경로 |
hadoop.kms.authentication.kerberos.principal |
HTTP/localhost |
HTTP 엔드포인트에 사용할 Kerberos principal. Kerberos HTTP SPNEGO 사양에 따라 principal은 반드시 'HTTP/'로 시작해야 해요. |
hadoop.kms.authentication.kerberos.name.rules |
DEFAULT |
Kerberos principal 이름을 해석하는 데 사용되는 규칙 |
hadoop.kms.authentication.signer.secret.provider |
random |
인증 쿠키를 서명하는 비밀을 어떻게 저장할지 나타내요. 옵션은 'random'(기본값), 'string', 'zookeeper'예요. 여러 KMS 인스턴스가 있는 설정에서는 'zookeeper'를 사용해야 해요. |
hadoop.kms.authentication.signer.secret.provider.zookeeper.path |
/hadoop-kms/hadoop-auth-signature-secret |
KMS 인스턴스가 비밀을 저장하고 검색하는 Zookeeper ZNode 경로 |
hadoop.kms.authentication.signer.secret.provider.zookeeper.connection.string |
#HOSTNAME#:#PORT#,... |
Zookeeper 연결 문자열, 쉼표로 구분된 호스트 이름과 포트 목록 |
hadoop.kms.authentication.signer.secret.provider.zookeeper.auth.type |
none |
Zookeeper 인증 유형, 'none'(기본값) 또는 'sasl'(Kerberos) |
hadoop.kms.authentication.signer.secret.provider.zookeeper.kerberos.keytab |
/etc/hadoop/conf/kms.keytab |
Zookeeper에 연결하기 위한 자격 증명이 있는 Kerberos keytab의 절대 경로 |
hadoop.kms.authentication.signer.secret.provider.zookeeper.kerberos.principal |
kms/#HOSTNAME# |
Zookeeper에 연결하는 데 사용되는 Kerberos 서비스 principal |
hadoop.kms.audit.logger |
org.apache.hadoop.crypto.key.kms.server.SimpleKMSAuditLogger |
KMS의 감사 로거. KMSAuditLogger 클래스 이름의 쉼표로 구분된 목록이에요. 기본값은 텍스트 형식의 SimpleKMSAuditLogger만이에요. 구성되지 않으면 기본값이 사용돼요. |
hadoop.kms.key.authorization.enable |
true |
키별(per Key) 인증을 활성화/비활성화하는 Boolean 속성 |
hadoop.security.kms.encrypted.key.cache.size |
100 |
캐시 크기. 각 키 이름 아래에 캐시할 수 있는 EEK의 최대 수예요. |
hadoop.security.kms.encrypted.key.cache.low.watermark |
0.3 |
캐시의 낮은 워터마크. 각 키 이름에 대해 get 호출 후 캐시된 EEK 수가 (size * low watermark)보다 적으면 이 키 이름 아래의 캐시가 비동기적으로 채워져요. 각 키 이름에 대해 비동기 채우기용 스레드는 1개만 실행될 수 있어요. |
hadoop.security.kms.encrypted.key.cache.num.fill.threads |
2 |
키 이름 전반에 걸쳐 캐시의 큐를 채우도록 허용된 비동기 스레드의 전체 최대 수 |
hadoop.security.kms.encrypted.key.cache.expiry |
43200000 |
캐시 만료 시간 (밀리초). 내부적으로 Guava 캐시가 캐시 구현으로 사용돼요. 만료 접근 방식은 expireAfterAccess예요. |
더 알아보기 (Learn more)
- 원문: 문서