default_* 서버 설정
default_* 서버 설정
이 페이지에서는 기본 데이터베이스, 기본 비밀번호 유형, 기본 설정 프로필, 기본 세션 타임아웃/사용자 등을 제어하는 default_* 계열 서버 설정을 설명할게요.
출처: 문서
본문
이 설정들은 ClickHouse 서버를 구성하며, ClickHouse 소스에서 자동으로 생성돼요.
default_database
기본 데이터베이스 이름이에요.
default_password_type
CREATE USER u IDENTIFIED BY 'p' 같은 쿼리에서 자동으로 설정할 비밀번호 유형을 설정해요.
허용되는 값:
plaintext_passwordsha256_passworddouble_sha1_passwordbcrypt_password- 기본값:
sha256_password
<default_password_type>sha256_password</default_password_type>
default_profile
기본 설정 프로필(settings profile)이에요. 설정 프로필은 user_config 설정에 지정된 파일에 있어요.
- 기본값:
default
예시
<default_profile>default</default_profile>
default_session_timeout
기본 세션 타임아웃(초)이에요.
- 기본값:
60
<default_session_timeout>60</default_session_timeout>
default_session_user
클라이언트가 사용자 이름 없이 연결할 때 인증에 사용되는 사용자 이름이에요: user 매개변수와 X-ClickHouse-User 헤더가 없는 HTTP 요청, 빈 사용자 이름의 네이티브 프로토콜 Hello 패킷, 빈 사용자 이름의 MySQL 또는 PostgreSQL 핸드셰이크, user_name이 없는 gRPC 쿼리, authorization 헤더가 없는(또는 빈 사용자 이름의 Basic 자격 증명을 가진) Arrow Flight 호출, 또는 user 필드가 생략되거나 빈 web terminal WebSocket auth 메시지.
빈 사용자 이름은 인증 전에 이 값으로 해석되므로, 연결은 여전히 대체된 사용자의 인증을 따르게 돼요: 비밀번호, 네트워크 및 기타 접근 검사가 평소대로 적용돼요. 빈 사용자 이름은 단지 구성된 사용자 이름의 별칭일 뿐이며, 이를 수락한다고 해서 해당 사용자 이름을 명시적으로 지정했을 때 얻는 것 이상의 접근 권한이 부여되지는 않아요. 이 설정이 도입되기 전 버전에서는 빈 사용자 이름의 default 대체가 일반 HTTP 쿼리 매개변수 경로, gRPC 쿼리, Arrow Flight 호출 및 웹터미널에만 존재했으며 네이티브, MySQL, PostgreSQL 프로토콜은 빈 사용자 이름을 거부했어요. 이제는 모두 허용해요. 빈 사용자 이름의 HTTP Basic 인증과 X-ClickHouse-User 없이 X-ClickHouse-Key가 있는 요청도 이 설정이 도입되기 전에는 빈 사용자 이름을 거부했어요.
빈 문자열로 설정하면 사용자 이름 없이 연결하는 것이 거부돼요. 고정된 사용자가 있는 HTTP 핸들러(http_handlers 규칙의 handler 안의 user 키, 또는 prometheus.handlers 규칙의 handler 안의 user 키)는 구성된 사용자로 인증되며 영향을 받지 않아요.
서버 구성에서 session_log 섹션이 활성화되면, 거부될 때마다 빈 user와 함께 LoginFailure 이벤트로 system.session_log에 기록되어, 모든 인터페이스에서 사용자 이름이 없는 비허용 연결을 감사할 수 있어요.
기본 세션 사용자는 interserver 연결에는 절대 적용되지 않아요: 이들은 사용자 이름 대신 특수 마커로 식별되고 클러스터 시크릿과 초기 사용자로 인증돼요.
이 값은 구성 가능한 프로토콜의 특정 엔드포인트에 대해 protocols 섹션의 default_session_user 키로 재정의될 수 있어요. Composable protocols를 참고하세요.