메타데이터 보안
Amazon Redshift의 행 수준 보안과 마찬가지로 메타데이터 보안을 사용하면 메타데이터를 보다 세밀하게 제어할 수 있습니다. 프로비저닝된 클러스터 또는 서버리스 작업 그룹에 메타데이터 보안이 활성화된 경우 사용자는 보기 액세스 권한이 있는 객체의 메타데이터를 볼 수 있습니다. 메타데이터 보안을 사용하면 필요에 따라 가시성을 구분할 수 있습니다. 예를 들어 단일 데이터 웨어하우스를 사용하여 모든 데이터 스토리지를 중앙 집중화할 수 있습니다. 그러나 여러 섹터에 데이터를 저장하는 경우 보안 관리가 번거로울 수 있습니다. 메타데이터 보안을 활성화하면 가시성을 구성할 수 있습니다. 한 섹터의 사용자는 자신의 객체에 대해 더 큰 가시성을 가지는 동시에 다른 섹터 사용자에게는 보기 액세스를 제한할 수 있습니다. 메타데이터 보안은 스키마, 테이블, 뷰, 구체화된 뷰, 저장 프로시저, 사용자 정의 함수 및 기계 학습 모델과 같은 모든 객체 유형을 지원합니다.
사용자는 다음과 같은 상황에서 객체의 메타데이터를 볼 수 있습니다.
-
사용자에게 객체 액세스 권한이 부여된 경우
-
사용자가 속한 그룹 또는 역할에 객체 액세스 권한이 부여된 경우
-
객체는 공개됩니다(퍼블릭).
-
사용자는 데이터베이스 객체의 소유자입니다.
메타데이터 보안을 활성화하려면 ALTER SYSTEM 명령을 사용합니다. 다음은 ALTER SYSTEM 명령을 메타데이터 보안과 함께 사용하는 방법을 나타내는 구문입니다.
ALTER SYSTEM SET metadata_security=[true|t|on|false|f|off];
메타데이터 보안을 활성화하면 필요한 권한을 가진 모든 사용자가 액세스 권한이 있는 객체의 관련 메타데이터를 볼 수 있습니다. 특정 사용자만 메타데이터 보안을 볼 수 있게 하려면 역할에 ACCESS CATALOG
권한을 부여한 다음 사용자에게 역할을 할당하세요. 역할을 사용하여 보안을 강화하는 방법에 대한 자세한 내용은 역할 기반 액세스 제어를 참조하세요.
다음 예시는 역할에 ACCESS CATALOG
권한을 부여한 다음 사용자에게 역할을 할당하는 방법을 보여줍니다. 권한을 부여하는 방법에 대한 자세한 내용은 GRANT 명령을 참조하세요
CREATE ROLE sample_metadata_viewer; GRANT ACCESS CATALOG TO ROLE sample_metadata_viewer; GRANT ROLE sample_metadata_viewer to salesadmin;
이미 정의된 역할을 사용하려는 경우 시스템 정의 역할인 operator
, secadmin
, dba
, superuser
가 모두 객체 메타데이터를 보는 데 필요한 권한이 있습니다. 기본적으로 슈퍼 사용자는 전체 카탈로그를 볼 수 있습니다.
GRANT ROLE operator to sample_user;
역할을 사용하여 메타데이터 보안을 제어하는 경우 역할 기반 액세스 제어와 함께 제공되는 모든 시스템 뷰 및 기능에 액세스할 수 있습니다. 예를 들어, SVV_ROLES 뷰를 쿼리하여 모든 역할을 확인할 수 있습니다. 사용자가 역할 또는 그룹의 구성원인지 확인하려면 USER_IS_MEMBER_OF 함수를 사용하세요. SVV 뷰의 전체 목록은 SVV 메타데이터 뷰를 참조하세요. 시스템 정보 함수 목록은 시스템 정보 함수를 참조하세요.