액세스 제어의 개요

이 항목에서는 Snowflake의 주요 액세스 제어 항목에 대한 정보를 제공합니다.

이 항목의 내용:

액세스 제어 프레임워크

Snowflake의 액세스 제어 접근법은 다음 모델의 측면을 결합합니다.

  • 사용자 지정 액세스 제어(DAC): 각 오브젝트에는 소유자가 있으며 소유자는 해당 오브젝트에 대한 액세스 권한을 부여할 수 있습니다.

  • 역할 기반 액세스 제어(RBAC): 액세스 권한은 역할에 할당되며, 이후에 사용자에게 할당됩니다.

  • 사용자 기반 액세스 제어 (UBAC): 액세스 권한은 사용자에게 직접 할당됩니다. 액세스 제어는 USE SECONDARY ROLE 이 ALL 로 설정된 경우에만 사용자에게 직접 할당된 권한을 고려합니다.

보조 역할에 대한 자세한 내용은 USE SECONDARY ROLES기본 역할 및 보조 역할을 통한 승인 섹션을 참조하십시오.

Snowflake에서 액세스 제어를 이해하는 데 핵심이 되는 몇 가지 개념은 다음과 같습니다.

  • 보안 오브젝트: 액세스 권한이 부여될 수 있는 엔터티입니다. 권한 부여에 의해 허용되는 경우를 제외하고, 액세스가 거부됩니다.

  • 역할: 역할: 권한을 부여할 수 있는 엔터티입니다.

  • 권한: 오브젝트에 대한 정의된 액세스 수준입니다. 여러 고유 권한을 사용하여 부여된 액세스를 세밀하게 제어할 수 있습니다.

  • 사용자: 개인 또는 서비스와 연관되어 있는지 여부에 관계없이 Snowflake가 인식하는 사용자 ID. 사용자는 권한을 부여할 수 있는 엔터티이기도 합니다.

Snowflake에서는 역할 또는 사용자에게 할당된 권한에 따라 보안이 설정된 오브젝트에 액세스할 수 있습니다. 사용자 또는 다른 역할에 역할을 할당할 수 있습니다. 다른 역할에 역할을 부여하면 역할 계층 구조 및 권한 상속 섹션에 자세히 설명된 대로 역할 계층 구조가 생성해집니다. 일반적으로 RBAC 를 사용하여 Snowflake에서 보안이 설정된 오브젝트에 대한 액세스를 관리합니다.

다음 다이어그램은 DAC, RBAC, UBAC 에서 서로 다른 보안 오브젝트에 대한 적절한 권한 할당을 지원하는 방법을 보여줍니다. 이 예제에서 역할 1은 오브젝트 1과 오브젝트 2 모두에 대해 OWNERSHIP 권한을 갖습니다. 즉, 역할 1이 두 오브젝트를 모두 소유합니다. 여기서는 DAC 를 예로 들어 설명합니다.

오브젝트 1에 대한 권한을 역할 2에 부여할 수 있으며, 역할 2는 다시 사용자 1과 사용자 2에게 권한을 부여할 수 있습니다. 즉, 사용자 1과 사용자 2는 모두 역할 2가 할당되어 있기 때문에 이러한 권한에 의해 제한적으로 오브젝트 1에 액세스할 수 있습니다. 그림의 이 부분은 RBAC 를 보여줍니다.

오브젝트 2에 대한 권한은 사용자 3과 사용자 4에게 직접 부여할 수 있습니다. 이 그림의 이 부분은 UBAC 를 사용하여 Snowflake 액세스 제어 프레임워크를 확장해 상당한 양의 제어와 유연성을 모두 제공하는 방법을 보여줍니다.

액세스 제어 관계

보안 오브젝트

모든 보안 오브젝트는 컨테이너 계층 구조의 논리적 컨테이너 내에 위치합니다. 최상위 컨테이너는 고객 조직입니다. 테이블, 뷰, 함수 및 스테이지 등의 보안 오브젝트는 스키마 오브젝트에 포함되고 차례로 데이터베이스에 포함됩니다. Snowflake 계정의 모든 데이터베이스는 계정 오브젝트에 포함되어 있습니다. 이러한 오브젝트 및 컨테이너 계층 구조는 다음과 같습니다.

보안 가능한 데이터베이스 오브젝트의 계층 구조

오브젝트를 소유 한다는 말은 역할 이 오브젝트에 대한 OWNERSHIP 권한 을 갖는다는 것을 의미합니다. 각 보안 오브젝트는 단일 역할이 소유하여, 이는 오브젝트를 생성하기 위해 사용되는 기본적인 역할입니다. 이 역할이 사용자에게 할당되면 사실상 사용자에게 오브젝트에 대한 공유 제어가 제공됩니다. GRANT OWNERSHIP 명령을 사용하면 오브젝트의 소유권을 한 역할에서 데이터베이스 역할을 포함한 다른 역할로 이전할 수 있습니다. 이 명령은 각 컨테이너의 보안 설정 가능한 오브젝트도 지정합니다.

일반적인 스키마에서 소유 역할은 오브젝트에 대한 권한을 다른 역할 부여 또는 취소 기능 등 기본적으로 오브젝트에 대한 모든 권한을 보유합니다. 또한, 소유권은 한 역할에서 다른 역할로 이전이 가능합니다. 그러나 관리형 액세스 스키마 의 경우 오브젝트 소유자는 권한 부여와 관련한 결정을 할 수 없습니다. 스키마 소유자(스키마에 대한 OWNERSHIP 권한을 가진 역할) 또는 MANAGE GRANTS 권한을 가진 역할만 스키마의 오브젝트에 대한 권한을 부여할 수 있습니다.

오브젝트에 대한 SQL 작업을 수행하는 기능은 사용자 세션에서 활성 역할 에 부여된 권한에 의해 정의됩니다. 예를 들어, 세션의 활성 역할에 특정 Snowflake 데이터베이스 스키마에서 CREATE, USAGE, SELECT, WRITE 권한이 부여된 경우 데이터 웨어하우스를 생성하고, 포함된 테이블을 목록으로 생성하고, 해당 스키마의 테이블에 데이터를 추가할 수 있습니다.

역할

역할은 보안 오브젝트에 대한 권한 을 부여 및 취소할 수 있는 엔터티입니다. 사용자에게는 역할이 할당되어 조직의 비즈니스 기능에 필요한 작업을 수행할 수 있습니다. 사용자에게는 여러 역할이 할당될 수 있습니다. 이를 통해 사용자는 역할을 변환(즉, 현재 Snowflake 세션에서 활동 중인 역할을 선택)하여 별도의 권한 세트를 사용하여 다른 작업을 수행할 수 있습니다.

Snowflake 계정에는 몇 개의 시스템 정의 역할 이 있습니다. 시스템 정의 역할은 삭제할 수 없습니다. 또한, Snowflake가 이러한 역할에 부여한 권한도 취소할 수 없습니다.

필요한 권한이 있는 역할이 부여된 사용자는 특정 비즈니스 및 보안 요구 사항을 충족하는 사용자 지정 역할 을 생성할 수 있습니다.

역할을 다른 역할에 부여하여 역할 계층 구조를 생성할 수도 있습니다. 역할과 관련된 권한은 계층 구조에서 해당 역할의 상위로부터 상속됩니다. 역할 계층 구조 및 권한 상속에 대한 자세한 내용은 역할 계층 구조 및 권한 상속 섹션을 참조하십시오.

참고

역할 소유자(역할에 대한 OWNERSHIP 권한이 있는 역할)는 소유한 역할의 권한을 상속하지 않습니다. 권한 상속은 역할 계층 내에서만 가능합니다.

시스템 정의 역할에 추가 권한을 부여하는 것은 가능하지만, 이는 권장되지 않습니다. 시스템 정의 역할은 계정 관리와 관련된 권한을 사용하여 생성됩니다. 가장 좋은 방법은 동일한 역할에서 계정 관리 권한과 엔터티별 권한을 함께 사용하지 않는 것입니다. 추가 권한이 필요한 경우에는 사용자 지정 역할에 추가 권한을 부여한 후 시스템 정의 역할에 사용자 지정 역할을 할당하는 것이 좋습니다.

조직 사용자 그룹을 사용하여 조직 내 계정 간에 일관된 역할을 구현할 수 있습니다. 자세한 내용은 조직 사용자 섹션을 참조하십시오.

역할의 유형

다음 역할 유형은 범위가 다양하며, 이를 통해 관리자는 사용자 계정의 오브젝트에 대한 액세스를 승인하고 제한할 수 있습니다.

참고

제품 설명서에 명시된 경우를 제외하고 역할 이라는 용어는 각각의 유형을 모두 가리킵니다.

계정 역할:

계정의 모든 오브젝트에 대한 SQL 작업을 허용하려면 오브젝트에 대한 권한을 계정 역할에 부여하십시오.

데이터베이스 역할:

SQL 작업을 단일 데이터베이스와 데이터베이스의 오브젝트로 제한하려면 오브젝트에 대한 권한을 동일한 데이터베이스 의 데이터베이스 역할에 부여합니다.

세션에서 직접 데이터베이스 역할을 활성화 할 수 없습니다. 세션에서 활성화할 수 있는 계정 역할에 데이터베이스 역할을 부여합니다.

데이터베이스 역할에 대한 자세한 내용은 다음을 참조하십시오.

인스턴스 역할:

클래스 의 인스턴스에 대한 액세스를 허용하려면 계정 역할에 인스턴스 역할을 부여하십시오.

클래스에는 각 역할에 부여된 서로 다른 권한을 가진 하나 이상의 클래스 역할이 있을 수 있습니다. 클래스의 인스턴스가 생성되면 인스턴스 메서드에 대한 액세스 권한을 부여하기 위해 계정 역할에 인스턴스 역할을 부여할 수 있습니다.

세션에서 직접 인스턴스 역할을 활성화 할 수 없습니다. 세션에서 활성화할 수 있는 계정 역할에 인스턴스 역할을 부여합니다.

자세한 내용은 인스턴스 역할 섹션을 참조하십시오.

애플리케이션 역할:

Snowflake Native App 의 오브젝트에 대한 컨슈머 액세스를 활성화하려면 공급자가 애플리케이션 역할을 생성하고 설정 스크립트 에서 애플리케이션 역할에 권한을 부여합니다.

그러나 소유자가 Snowflake인 오브젝트에 대한 액세스 권한 부여와 같은 특정 기능을 지원하기 위해 Snowflake는 하나 이상의 시스템 애플리케이션 역할 을 제공할 수 있습니다. 사용자의 재량에 따라 시스템 애플리케이션 역할에 계정 역할을 부여할 수 있습니다.

시스템 애플리케이션 역할은 특정 기능에 따라 설정되며, 이는 해당 특정 기능에서만 시스템 애플리케이션 역할을 사용할 수 있기 때문입니다. 예:

서비스 역할:

역할에 서비스 엔드포인트에 대한 액세스를 허용하려면 해당 역할에 서비스 역할을 부여합니다. 계정 역할, 애플리케이션 역할 또는 데이터베이스 역할에 서비스 역할을 부여할 수 있습니다. 자세한 내용은 서비스 관련 권한 관리하기 섹션을 참조하십시오.

활성 역할

활성 역할 은 세션에서 사용자가 취한 모든 조치 사항에 대한 권한 부여의 소스 역할을 합니다. 기본 역할과 모든 보조 역할 은 모두 사용자 세션에서 활성화할 수 있습니다.

역할은 다음 방법 중 하나로 활성 역할이 됩니다.

  • 세션이 처음 설정될 때 사용자의 기본 역할과 기본 보조 역할이 각각 세션 기본 역할과 보조 역할로 활성화됩니다.

    세션을 설정하는 데 사용되는 클라이언트 연결 속성은 사용할 기본 역할 또는 보조 역할을 명시적으로 재정의할 수 있습니다.

  • USE ROLE 또는 USE SECONDARY ROLES 문을 실행하면 각각 다른 기본 역할 또는 보조 역할이 활성화됩니다. 이러한 역할은 어느 한 명령이 다시 실행되는 경우 세션이 진행되는 과정에서 바뀔 수 있습니다.

시스템 정의 역할

GLOBALORGADMIN:

(즉, 조직 관리자)

계정의 수명 주기 관리 및 조직 수준의 사용량 정보 보기와 같은 조직 수준의 작업을 수행하는 역할. 이 역할은 조직 계정 에만 존재합니다.

ORGADMIN:

일반 계정을 사용하여 조직 수준에서 작업을 관리하는 역할입니다. ORGADMIN 역할은 향후 릴리스에서 단계적으로 폐지될 예정이므로 조직 관리자는 GLOBALORGADMIN 역할을 대신 사용하는 것이 좋습니다.

ACCOUNTADMIN:

(즉, 계정 관리자)

SYSADMIN 및 SECURITYADMIN 시스템 정의 역할을 캡슐화하는 역할입니다. 시스템의 최상위 역할이며 계정에서 제한/통제된 수의 사용자에게만 부여되어야 합니다.

SECURITYADMIN:

(즉, 보안 관리자)

모든 오브젝트 권한 부여를 전역적으로 관리하고 사용자 및 역할을 생성, 모니터링 및 관리할 수 있는 역할입니다. 보다 구체적으로 살펴보면, 이 역할은:

  • 취소 등 모든 권한 부여를 수정할 수 있는 MANAGE GRANTS 보안 권한이 부여됩니다.

    참고

    MANAGE GRANTS 권한은 권한을 부여하고 취소하는 기능을 제공합니다. SECURITYADMIN 에 오브젝트 생성과 같은 다른 작업을 수행할 수 있는 기능을 제공하지 않습니다. 오브젝트를 생성하려면 SECURITYADMIN 역할에도 오브젝트를 만드는 데 필요한 권한이 부여되어야 합니다. 예를 들어, 데이터베이스 역할을 생성하려면 CREATE DATABASE ROLE 액세스 제어 요구 사항 에 설명된 대로 SECURITYADMIN 에 CREATE DATABASE ROLE 권한도 부여해야 합니다.

  • 시스템 역할 계층 구조를 통해 USERADMIN 역할의 권한을 상속합니다(즉, USERADMIN 역할은 SECURITYADMIN 에 부여됨).

USERADMIN:

(즉, 사용자 및 역할 관리자)

사용자 및 역할 관리만을 수행하는 역할입니다. 보다 구체적으로 살펴보면, 이 역할은:

  • CREATE USER 및 CREATE ROLE 보안 권한이 부여됩니다.

  • 계정에서 사용자 및 역할을 생성할 수 있습니다.

    이 역할은 자신이 소유한 사용자 및 역할을 관리할 수도 있습니다. 오브젝트에 대한 OWNERSHIP 권한이 있는 역할(즉, 사용자 또는 역할) 또는 상위 역할만 오브젝트 속성을 수정할 수 있습니다.

SYSADMIN:

(즉, 시스템 관리자)

계정에서 웨어하우스 및 데이터베이스(및 기타 오브젝트)의 생성 권한이 있는 역할입니다.

권장 사항 에서와 같이, 모든 사용자 지정 역할을 SYSADMIN 역할에 할당하는 역할 계층 구조를 생성하는 경우 이 역할은 웨어하우스, 데이터베이스 및 기타 오브젝트에 대한 권한을 다른 역할에 부여할 수도 있습니다.

PUBLIC:

모든 사용자와 계정의 모든 역할에 자동으로 부여되는 의사 역할입니다. 다른 역할과 마찬가지로 PUBLIC 역할도 보안 오브젝트를 소유할 수 있지만, 역할이 소유한 오브젝트는 정의에 따라 계정 내의 다른 모든 사용자 및 역할이 사용할 수 있습니다.

일반적으로 이 역할에는 명시적 액세스 제어가 필요하지 않으며, 액세스 권한과 관련하여 모든 사용자가 동등한 것으로 간주되는 경우에 사용됩니다.

사용자 지정 역할

CREATE ROLE 권한이 부여된 역할뿐 아니라 USERADMIN 역할(또는 그 이상의 역할)을 사용하여 사용자 지정 계정 역할 을 생성할 수 있습니다.

사용자 지정 데이터베이스 역할은 데이터베이스 소유자(즉, 데이터베이스에 대한 OWNERSHIP 권한이 있는 역할)가 생성할 수 있습니다.

기본적으로, 새로 생성된 역할은 사용자에게 할당되거나 다른 역할에 권한이 부여되지 않습니다.

시스템에서 보안 오브젝트의 소유자 역할을 수행할 역할을 생성할 때 Snowflake는 SYSADMIN 시스템 역할에 할당된 최상위 사용자 지정 역할을 사용하여 사용자 지정 역할 계층 구조를 생성하는 것을 권장합니다. 이러한 역할 구조를 통해 시스템 관리자는 웨어하우스 및 데이터베이스 오브젝트 등 계정 내의 모든 오브젝트를 관리할 수 있으며 사용자 및 역할 관리는 USERADMIN 역할로 제한됩니다.

반대로, 역할 계층 구조를 통해 사용자 지정 역할이 SYSADMIN에 할당되지 않으면 시스템 관리자는 해당 역할이 소유한 오브젝트를 관리할 수 없습니다. MANAGE GRANTS 권한이 부여된 역할만(기본적으로 SECURITYADMIN 역할만) 오브젝트를 살펴보고 액세스 권한을 수정할 수 있습니다.

사용자 지정 역할 생성 방법은 사용자 지정 역할 만들기 섹션을 참조하십시오.

권한

액세스 제어 권한에 따라 Snowflake의 특정 오브젝트에 액세스하고 작업을 수행할 수 있는 사용자가 결정됩니다. 각 보안 오브젝트에는 부여할 수 있는 권한 세트가 있습니다. 기존 오브젝트의 경우 개별 오브젝트에 권한을 부여해야 합니다(예: mytable 테이블의 SELECT 권한). 부여 관리를 단순화하기 위해 향후 부여 스키마에서 생성한 오브젝트에 대한 초기 권한 세트를 정의할 수 있습니다(예: myschema 스키마에서 생성한 모든 테이블에 SELECT 권한을 지정된 역할에 부여).

권한은 다음 명령을 사용하여 관리합니다.

일반(관리되지 않는) 스키마에서 이러한 명령의 사용은 오브젝트를 소유한 역할(오브젝트에 대한 OWNERSHIP 권한이 있음), 오브젝트에 대한 MANAGE GRANTS 전역 권한이 있는 모든 역할 또는 사용자(기본적으로 SECURITYADMIN역할만 있음)로 제한됩니다.

관리형 액세스 스키마 의 경우 오브젝트 소유자가 권한 부여와 관련한 결정을 할 수 없습니다. 스키마 소유자 또는 MANAGE GRANTS 권한이 있는 역할만 스키마의 오브젝트에 대한 권한(향후 자동 권한 부여 포함)을 부여할 수 있으므로 권한을 중앙에서 체계적으로 관리할 수 있습니다.

전역 MANAGE GRANTS 권한을 보유하는 역할은 현재(부여자) 역할에 추가 권한을 부여할 수 있습니다.

자세한 내용은 액세스 제어 권한 섹션을 참조하십시오.

역할 계층 구조 및 권한 상속

다음 다이어그램에서는 시스템 정의 역할의 계층 구조는 물론이고, 추가적인 사용자 정의 계정 역할과 데이터베이스 역할에 대해 권장되는 구조도 보여줍니다. 예제 계층 구조에서 가장 높은 수준의 데이터베이스 역할은 사용자 지정(사용자 정의) 계정 역할에 부여됩니다. 결국, 이 역할은 시스템 정의 SYSADMIN 역할이 사용자 지정 계정 역할과 데이터베이스 역할의 권한을 상속할 수 있도록 허용하는 권장 구조에서 다른 사용자 지정 역할에 부여됩니다.

역할 계층 구조의 예

참고

ORGADMIN은 조직 수준에서 운영을 관리하는 별도의 시스템 역할입니다. 이 역할은 시스템 역할의 계층 구조에 포함되지 않습니다.

역할 계층 구조 및 권한 상속에 대한 보다 자세한 예는 다음 시나리오를 살펴보십시오.

  • 역할 3의 권한이 역할 2에 부여되었습니다.

  • 역할 2의 권한이 역할 1에 부여되었습니다.

  • 역할 1의 권한이 사용자 1에 부여되었습니다.

부여된 역할에 대한 권한 상속

이 시나리오에서:

  • 역할 2는 권한 C를 상속합니다.

  • 역할 1은 권한 B 및 C를 상속합니다.

  • 사용자 1에는 모두 3개의 권한이 있습니다.

역할 계층 구조 생성에 대한 지침은 역할 계층 구조 만들기 섹션을 참조하십시오.

데이터베이스 역할과 역할 계층 구조

현재 데이터베이스 역할에 다음 제한 사항이 적용됩니다.

  • 공유 에 데이터베이스 역할이 부여되면 해당 데이터베이스 역할에 다른 어떤 데이터베이스 역할도 부여할 수 없습니다. 예를 들어 데이터베이스 역할 d1.r1 이 공유에 부여된 경우에는 데이터베이스 역할 d1.r2d1.r1 에 부여하려는 시도가 차단됩니다.

    그 밖에도, 다른 데이터베이스 역할에 데이터베이스 역할이 부여된 경우 피부여자 데이터베이스 역할을 공유에 부여할 수 없습니다.

    계정 역할뿐 아니라 다른 데이터베이스 역할에도 공유에 부여된 데이터베이스 역할을 부여할 수 있습니다.

  • 역할 계층 구조의 데이터베이스 역할에는 계정 역할을 부여할 수 없습니다.

기본 역할 및 보조 역할을 통한 승인

모든 활성 사용자 세션에는 현재 역할(기본 역할 이라고도 함)이 있습니다. 세션이 시작되면(예: 사용자가 JDBC/ODBC 를 사용하여 연결하거나 Snowflake 웹 인터페이스에 로그인하는 경우) 다음 기준에 따라 현재 역할이 결정됩니다.

  1. 역할이 연결의 일부로 지정되고 해당 역할이 연결 사용자에게 이미 권한이 부여된 역할인 경우 지정된 역할이 현재 역할이 됩니다.

  2. 역할이 지정되지 않고 연결 사용자에 기본 역할이 설정된 경우 해당 역할이 현재 역할이 됩니다.

  3. 역할이 지정되지 않고 연결 사용자에 기본 역할이 설정되지 않은 경우 시스템 역할 PUBLIC이 현재 역할이 됩니다.

세션의 현재 역할을 보려면 CURRENT_ROLE 함수를 실행합니다.

또한 사용자 세션에서 보조 역할 세트를 활성화할 수 있습니다. 사용자는 기본 역할과 보조 역할에 부여된 집계 권한을 사용하여 세션의 오브젝트에 대한 SQL 작업을 수행할 수 있습니다. 먼저 사용자에게 역할을 부여해야 세션에서 역할을 활성화할 수 있습니다. 세션에는 한 번에 정확히 1개의 기본 역할이 활성화되어 있어야 하지만, 세션은 동시에 여러 개의 보조 역할을 활성화할 수 있다는 점에 유의하십시오.

참고

데이터베이스 역할은 기본 역할이나 보조 역할이 될 수 없습니다. 데이터베이스 역할에 부여된 권한을 맡으려면 계정 역할에 데이터베이스 역할을 부여하십시오. 세션에서는 계정 역할만 활성화 할 수 있습니다.

CREATE <오브젝트> 문 실행 인증은 기본 역할에서만 제공됩니다. 오브젝트 생성 시, 그 소유권은 현재 활성 상태의 기본 역할로 설정됩니다. 하지만 다른 모든 SQL 작업의 경우, 활성 기본 역할 또는 보조 역할에 부여된 권한을 사용하여 작업을 인증할 수 있습니다. 예를 들어, 보조 역할 계층 구조의 어떤 역할이 오브젝트를 소유하고 있는 경우(오브젝트에 대한 OWNERSHIP 권한이 있는 경우), 보조 역할은 오브젝트에 대한 DDL 작업 수행을 승인합니다. 기본 역할과 모든 보조 역할은 모두 역할 계층 구조에서 하위 역할로부터 권한을 상속받습니다.

기본 및 보조 역할 작업

보안 모델에는 많은 수의 역할이 포함되어 있으며, 각 역할에 권한으로 정의된 세분화된 권한이 부여된 조직의 경우, 보조 역할을 사용하면 역할 관리를 간소화할 수 있습니다. 사용자에게 부여된 모든 역할을 한 세션에서 활성화할 수 있습니다. 보조 역할은 데이터베이스 간 조인과 같은 SQL 작업에 특히 유용한데, 이런 역할이 없다면 각 데이터베이스의 오브젝트에 대한 액세스 권한을 가진 역할의 상위 역할을 만들어야 했을 것입니다.

세션이 진행되는 동안 USE ROLE 또는 USE SECONDARY ROLES 명령을 실행하여 현재 기본 또는 보조 역할을 각각 변경할 수 있습니다. CURRENT_SECONDARY_ROLES 함수를 사용하여 현재 세션에서 활동 중인 모든 보조 역할을 표시할 수 있습니다.

사용할 권한이 하나 이상 필요한 오브젝트를 생성하는 경우 해당 권한의 부여를 검색할 때 기본 역할과 직간접적으로 이 역할을 상속받는 역할만 고려됩니다.

1개 이상의 권한이 필요한 다른 요구 사항(예: 데이터베이스 및 스키마에 대한 USAGE 권한이 있는 테이블에서 테이블을 쿼리하려면 SELECT 권한이 필요함)의 경우 해당 권한의 부여를 검색할 때 기본 역할, 보조 역할 및 기타 상속된 역할이 모두 고려됩니다.

참고

Snowflake에는 인증 확인을 우회할 수 있는 “수퍼 사용자” 또는 “수퍼 역할”이라는 개념이 없습니다. 모든 액세스에는 적절한 액세스 권한이 필요합니다.