System access control
System access control (시스템 접근 제어)
커넥터 수준 인가보다 먼저, 전역 수준에서 인가를 적용하는 시스템 접근 제어에 대해 설명해요. Trino 내장 구현 중 하나를 사용하거나 직접 구현할 수 있어요.
출처: 문서
본문
시스템 접근 제어는 커넥터 수준 인가보다 먼저, 전역 수준에서 인가를 강제해요. Trino의 내장 구현 중 하나를 사용하거나, System access control의 지침에 따라 직접 구현할 수 있어요.
시스템 접근 제어를 사용하려면 모든 클러스터 노드에 다음 내용을 담은 etc/access-control.properties 파일을 추가하고 원하는 시스템 접근 제어 이름을 지정하세요:
access-control.name=allow-all
여러 접근 제어 시스템 (Multiple access control systems)
access-control.config-files 구성 속성을 사용해 여러 시스템 접근 제어 구현을 한 번에 구성할 수 있어요. 이 속성에는 기본 etc/access-control.properties 대신 사용할 접근 제어 속성 파일의 쉼표 구분 목록이 들어 있어야 해요. Trino INSTALL_PATH에서의 상대 경로나 절대 경로를 지원해요. 각 시스템은 별도의 구성 파일로 구성돼요.
구성된 접근 제어 시스템은 어떤 시스템이 접근을 거부할 때까지 검사돼요. 어떤 시스템도 거부하지 않으면 요청이 허용돼요. 따라서 구성된 모든 접근 제어 시스템은 허용되는 각 요청에 대해 모두 사용·평가돼요.
예를 들어 file-based.properties와 ranger.properties라는 두 개의 별도 구성 파일로 파일 접근 제어와 ranger 접근 제어를 결합할 수 있어요.
access-control.config-files=etc/file-based.properties,etc/ranger.properties
Warning
여러 접근 제어 시스템을 사용하는 것은 구성하고 유지하기가 매우 복잡할 수 있어요. 또한 각 쿼리에 대해 각 시스템 내의 각 시스템과 정책이 평가되므로 상당한 부정적 성능 영향이 있을 수 있어요.
사용 가능한 접근 제어 시스템 (Available access control systems)
Trino는 다음 내장 시스템 접근 제어 구현을 제공해요:
| Name | Description |
|---|---|
default |
사용자 가장(impersonation)과 Graceful shutdown 트리거를 제외한 모든 연산이 허용돼요. 아무것도 구성하지 않았을 때의 기본 접근 제어예요. |
allow-all |
모든 연산이 허용돼요. |
read-only |
데이터나 메타데이터를 읽는 연산은 허용되지만, 데이터나 메타데이터를 쓰는 연산은 하나도 허용되지 않아요. |
file |
인가 규칙이 구성 파일에 지정돼요. File-based access control 참고. |
opa |
인가에 Open Policy Agent(OPA)를 사용해요. Open Policy Agent access control 참고. |
ranger |
인가에 Apache Ranger 정책을 사용해요. Ranger access control 참고. |
위에 나열된 방식 외에 시스템 수준에서 접근을 제한하고 싶다면 커스텀 System access control을 구현해야 해요.
접근 제어는 코디네이터에 구성되어야 해요. Graceful shutdown 트리거 같은 특정 워커 노드에서의 연산에 대한 인가도 모든 워커에 구성되어야 해요.
읽기 전용 시스템 접근 제어 (Read only system access control)
이 접근 제어는 SELECT나 SHOW 같은 데이터·메타데이터를 읽는 연산은 허용해요. 시스템 수준이나 카탈로그 수준 세션 속성 설정도 허용해요. 하지만 CREATE, INSERT, DELETE 같은 데이터·메타데이터를 쓰는 연산은 금지돼요. 이 접근 제어를 사용하려면 다음 내용을 담은 etc/access-control.properties 파일을 추가하세요:
access-control.name=read-only
더 알아보기 (Learn more)
파일 기반 규칙의 세부 구성을 알고 싶다면 File-based access control을 함께 살펴보세요.