access_control_* 서버 설정
access_control_* 서버 설정
이 페이지에서는 ClickHouse 서버의 접근 제어(access control) 시스템과 관련된 access_control_* 설정들을 설명할게요. access_control_improvements는 접근 제어 시스템의 선택적 개선 사항들을, access_control_path는 사용자/역할 설정 파일이 저장되는 경로를 정의해요.
출처: 문서
본문
이 설정들은 ClickHouse 서버를 구성하며, ClickHouse 소스에서 자동으로 생성돼요.
access_control_improvements
접근 제어 시스템의 선택적 개선 사항에 대한 설정이에요.
| Setting | Description | Default |
|---|---|---|
on_cluster_queries_require_cluster_grant |
ON CLUSTER 쿼리가 CLUSTER 권한을 요구하는지 설정해요. |
true |
role_cache_expiration_time_seconds |
마지막 접근 이후 역할이 Role Cache에 저장되는 시간(초)을 설정해요. | 600 |
select_from_information_schema_requires_grant |
SELECT * FROM information_schema.<table>이 어떤 권한도 요구하지 않고 모든 사용자가 실행할 수 있는지 설정해요. true이면 이 쿼리는 일반 테이블과 마찬가지로 GRANT SELECT ON information_schema.<table>을 요구해요. |
true |
select_from_system_db_requires_grant |
SELECT * FROM system.<table>이 어떤 권한도 요구하지 않고 모든 사용자가 실행할 수 있는지 설정해요. true이면 이 쿼리는 일반 테이블처럼 GRANT SELECT ON system.<table>을 요구해요. 예외: 일부 시스템 테이블(tables, columns, databases, 그리고 one, contributors 같은 일부 상수 테이블)은 여전히 모든 사용자가 접근할 수 있어요. 또한 SHOW 권한(예: SHOW USERS)이 부여되어 있으면 해당 시스템 테이블(즉 system.users)에 접근할 수 있어요. |
true |
settings_constraints_replace_previous |
어떤 설정에 대한 설정 프로필의 제약이 다른 프로필에서 정의된 해당 설정의 이전 제약 동작을 취소할지 설정해요. 새 제약이 설정하지 않은 필드까지 포함해요. 또한 changeable_in_readonly 제약 유형을 활성화해요. |
true |
table_engines_require_grant |
특정 테이블 엔진으로 테이블을 만드는 데 권한이 필요한지 설정해요. ClickHouse Cloud에서는 지원되지 않아요. | false |
throw_on_unmatched_row_policies |
테이블에 행 정책(row policies)이 있는데 그 중 어떤 것도 현재 사용자에 해당하지 않을 때 테이블 읽기가 예외를 던져야 하는지 설정해요. | false |
users_without_row_policies_can_read_rows |
허용(permissive) 행 정책이 없는 사용자가 SELECT 쿼리로 행을 계속 읽을 수 있는지 설정해요. 예를 들어 사용자 A와 B가 있고 A에 대해서만 행 정책이 정의된 경우, 이 설정이 true이면 사용자 B가 모든 행을 볼 수 있어요. false이면 사용자 B는 어떤 행도 볼 수 없어요. |
true |
예시:
<access_control_improvements>
<throw_on_unmatched_row_policies>true</throw_on_unmatched_row_policies>
<users_without_row_policies_can_read_rows>true</users_without_row_policies_can_read_rows>
<on_cluster_queries_require_cluster_grant>true</on_cluster_queries_require_cluster_grant>
<select_from_system_db_requires_grant>true</select_from_system_db_requires_grant>
<select_from_information_schema_requires_grant>true</select_from_information_schema_requires_grant>
<settings_constraints_replace_previous>true</settings_constraints_replace_previous>
<table_engines_require_grant>false</table_engines_require_grant>
<role_cache_expiration_time_seconds>600</role_cache_expiration_time_seconds>
</access_control_improvements>
access_control_path
ClickHouse 서버가 SQL 명령으로 생성한 사용자 및 역할 구성(configuration)을 저장하는 폴더의 경로예요.
참고 (See also)