세분화된 액세스 제어 시스템 역할

이 페이지에서는 세분화된 액세스 제어가 각 데이터베이스에 제공하는 사전 정의된 세 가지 시스템 역할의 특성, 제약조건, 사용 목적을 정의합니다. 각 시스템 역할에는 다른 권한 집합이 있으며, 이 권한은 취소할 수 없습니다.

public

  • 모든 세분화된 액세스 제어 사용자는 기본적으로 public에서 IAM 멤버십을 가집니다.

  • 모든 데이터베이스 역할은 이 역할에서 권한을 상속합니다.

  • 처음에는 public에 권한이 없지만 권한을 부여할 수 있습니다. public에 권한을 부여하면 이후에 생성된 데이터베이스 역할을 포함한 모든 데이터베이스 역할에서 사용할 수 있습니다.

spanner_info_reader

  • 이 역할에는 GoogleSQL 언어 데이터베이스용 INFORMATION_SCHEMA 뷰 및 PostgreSQL 언어 데이터베이스용 information_schema 뷰에 대한 SELECT 권한이 있습니다.

  • spanner_info_reader에 다른 권한을 부여할 수 없습니다.

  • INFORMATION_SCHEMA 뷰(GoogleSQL 언어 데이터베이스) 또는 information_schema 뷰(PostgreSQL 언어 데이터베이스)에 대해 필터링되지 않은 읽기 액세스 권한이 필요한 모든 데이터베이스 역할에 이 역할의 멤버십을 부여합니다.

spanner_sys_reader

  • 이 역할에는 SPANNER_SYS 테이블에 대한 SELECT 권한이 있습니다.

  • spanner_sys_reader에 다른 권한을 부여할 수 없습니다.

  • SPANNER_SYS 스키마에 대한 읽기 액세스 권한이 필요한 모든 데이터베이스 역할에 이 역할의 멤버십을 부여합니다.

시스템 역할에 대한 제한사항

  • DROP ROLE 문을 사용하여 시스템 역할을 삭제할 수 없습니다.

  • 시스템 역할은 다른 데이터베이스 역할의 구성원이 될 수 없습니다. 즉, 다음 GoogleSQL 문은 유효하지 않습니다.

    GRANT ROLE pii_access TO ROLE spanner_info_reader;

  • 데이터베이스 역할에 public 역할의 멤버십을 부여할 수 없습니다. 예를 들어 다음 GoogleSQL 문도 유효하지 않습니다.

    GRANT ROLE public TO ROLE pii_access;

    하지만 spanner_info_readerspanner_sys_reader 역할의 멤버십을 부여할 수 있습니다. 예를 들어 다음은 유효한 문입니다.

    GoogleSQL

    GRANT ROLE spanner_info_reader TO ROLE pii_access;
    GRANT ROLE spanner_sys_reader TO ROLE pii_access;
    

    PostgreSQL

    GRANT spanner_info_reader TO pii_access;
    GRANT spanner_sys_reader TO pii_access;
    

추가 정보

자세한 내용은 다음을 참고하세요.