SNOWFLAKE 데이터베이스 역할¶
계정이 프로비저닝되면 SNOWFLAKE 데이터베이스를 자동으로 가져옵니다. 데이터베이스는 Secure Data Sharing 을 사용하여 조직 및 계정에 대한 오브젝트 메타데이터 및 기타 사용 메트릭을 제공하는 Snowflake의 예입니다.
SNOWFLAKE 데이터베이스의 스키마 오브젝트에 대한 액세스는 다양한 데이터베이스 역할 에 의해 제어됩니다. 다음 섹션에서는 각 SNOWFLAKE 데이터베이스 역할, 그와 관련된 권한, 역할이 액세스 권한을 부여하는 관련 스키마 오브젝트에 대해 설명합니다.
ACCOUNT_USAGE 스키마¶
ACCOUNT_USAGE 스키마에는 네 가지 정의된 SNOWFLAKE 데이터베이스 역할이 있는데, 각각 특정 뷰에 대한 SELECT 권한이 부여됩니다.
역할 |
목적 및 설명 |
|---|---|
OBJECT_VIEWER |
OBJECT_VIEWER 역할은 오브젝트 메타데이터에 대한 가시성을 제공합니다. |
USAGE_VIEWER |
USAGE_VIEWER 역할은 과거 사용량 정보에 대한 가시성을 제공합니다. |
GOVERNANCE_VIEWER |
GOVERNANCE_VIEWER 역할은 데이터 거버넌스 관련 정보에 대한 가시성을 제공합니다. |
SECURITY_VIEWER |
SECURITY_VIEWER 역할은 보안 기반 정보에 대한 가시성을 제공합니다. |
ACCOUNT_USAGE 뷰에 액세스하는 데 필요한 데이터베이스 역할¶
OBJECT_VIEWER, USAGE_VIEWER, GOVERNANCE_VIEWER 및 SECURITY_VIEWER 역할에는 공유 SNOWFLAKE 데이터베이스에서 Account Usage 뷰를 쿼리할 수 있는 SELECT 권한이 있습니다. 다음 테이블을 사용하여 뷰에 액세스할 수 있는 데이터베이스 역할을 확인할 수 있습니다.
뷰 |
데이터베이스 역할 |
|---|---|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER 또는 GOVERNANCE_VIEWER |
|
USAGE_VIEWER 또는 GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER, SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER, GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER 또는 GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
READER_ACCOUNT_USAGE 스키마¶
READER_USAGE_VIEWER SNOWFLAKE 데이터베이스 역할에는 모든 READER_ACCOUNT_USAGE 뷰에 대한 SELECT 권한이 부여됩니다. 클라이언트가 독자 계정을 생성하므로 독자 계정 사용 모니터링에 사용되는 역할에 READER_USAGE_VIEWER 역할이 부여될 것으로 예상됩니다.
뷰 |
|---|
ORGANIZATION_USAGE 스키마¶
ORGANIZATION_USAGE_VIEWER, ORGANIZATION_BILLING_VIEWER 및 ORGANIZATION_ACCOUNTS_VIEWER SNOWFLAKE 데이터베이스 역할에는 공유 SNOWFLAKE 데이터베이스에서 조직 사용량 뷰에 대한 SELECT 권한이 부여됩니다.
뷰 |
ORGANIZATION_BILLING_VIEWER 역할 |
ORGANIZATION_USAGE_VIEWER 역할 |
ORGANIZATION_ACCOUNTS_VIEWER 역할 |
|---|---|---|---|
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
CORE 스키마¶
공유 SNOWFLAKE 데이터베이스를 포함하는 모든 Snowflake 계정의 PUBLIC 역할에 CORE_VIEWER SNOWFLAKE 데이터베이스 역할이 부여됩니다. CORE 스키마의 모든 Snowflake 정의 함수와 번들에 USAGE 권한이 부여됩니다.
Budget 클래스¶
BUDGET_CREATOR Snowflake 데이터베이스 역할에는 SNOWFLAKE.CORE 스키마와 스키마의 BUDGET 클래스에 대한 USAGE 권한이 부여됩니다. 이 권한 부여를 통해 BUDGET_CREATOR 역할을 가진 사용자는 BUDGET 클래스의 인스턴스를 생성할 수 있습니다.
자세한 내용은 Budgets를 생성하기 위한 사용자 지정 역할 만들기 섹션을 참조하십시오.
오브젝트에 태그 지정하기¶
CORE_VIEWER 데이터베이스 역할에는 각 Data Classification 시스템 태그 에 SNOWFLAKE.CORE.PRIVACY_CATEGORY 및 SNOWFLAKE.CORE.SEMANTIC_CATEGORY의 APPLY 권한이 부여됩니다. 이러한 권한 부여를 통해 CORE_VIEWER 데이터베이스 역할이 부여된 역할을 가진 사용자가 이러한 시스템 태그를 열에 할당할 수 있습니다.
자세한 내용은 다음을 참조하십시오.
ALERT 스키마¶
ALERT_VIEWER SNOWFLAKE 데이터베이스 역할에는 이 스키마에 정의된 함수에 대한 USAGE 권한이 부여됩니다.
ML 스키마¶
The ML_USER SNOWFLAKE database role is granted to the PUBLIC role in all Snowflake accounts that contain a shared SNOWFLAKE database and allows customers to access and use ML functions. Users must also have the USAGE privilege on the ML schema to call these functions.
MONITORING 스키마¶
MONITORING_VIEWER 데이터베이스 역할은 MONITORING 스키마의 모든 뷰에 대한 SELECT 권한을 갖습니다.
공유 SNOWFLAKE 데이터베이스를 포함하는 모든 Snowflake 계정의 PUBLIC 역할에 MONITORING_VIEWER 데이터베이스 역할이 부여됩니다.
SNOWFLAKE.CLASSIFICATION_ADMIN 데이터베이스 역할¶
The SNOWFLAKE.CLASSIFICATION_ADMIN database role allows a data engineer or steward to create an instance of the CLASSIFICATION_PROFILE class. A classification profile is used to implement automatic sensitive data classification.
SNOWFLAKE.CORTEX_AGENT_USER database role¶
SNOWFLAKE.CORTEX_AGENT_USER 데이터베이스 역할을 사용하여 다른 Cortex 기능에 대한 액세스 권한을 부여하지 않고 사용자에게 Snowflake Cortex Agent API에 대한 액세스 권한을 부여할 수 있습니다. Cortex Agent API를 사용하려면 SNOWFLAKE.CORTEX_USER 데이터베이스 역할 또는 SNOWFLAKE.CORTEX_AGENT_USER 데이터베이스 역할 중 *하나*가 필요합니다.
기본적으로 SNOWFLAKE.CORTEX_USER 데이터베이스 역할이 PUBLIC 역할에 부여됩니다. 세분화된 액세스 제어를 위해 PUBLIC 역할에서 액세스 권한을 취소하고 SNOWFLAKE.CORTEX_AGENT_USER 데이터베이스 역할에 대한 액세스 권한을 부여합니다. 자세한 내용은 에이전트에 대한 액세스 설정 섹션을 참조하십시오.
SNOWFLAKE.CORTEX_EMBED_USER database role¶
이 SNOWFLAKE.CORTEX_EMBED_USER 데이터베이스 역할은 다른 Cortex 기능에 대한 액세스 권한을 부여하지 않고 고객에게 Snowflake Cortex 임베딩 함수 AI_EMBED, SNOWFLAKE.CORTEX.EMBED_768 및 SNOWFLAKE.CORTEX_EMBED_TEXT_1024에 대한 액세스 권한을 부여하는 데 사용됩니다. 이러한 임베딩 함수를 호출하려면 SNOWFLAKE.CORTEX_USER 데이터베이스 역할 또는 SNOWFLAKE.CORTEX_EMBED_USER 데이터베이스 역할 *중 하나*가 필요합니다. 이 역할은 기본적으로 어떤 역할에도 부여되지 않습니다.
By default, this role is not granted to any roles. If you want users to have access to the embedding functions, grant this database role to appropriate roles. For details, see Cortex LLM Functions required privileges
SNOWFLAKE.CORTEX_USER database role¶
This SNOWFLAKE.CORTEX_USER database role is used to grant customers access to Snowflake Cortex features. By default, this role is granted to the PUBLIC role. The PUBLIC role is automatically granted to all users and roles, so this allows all users in your account to use Snowflake Cortex LLM functions.
If you don’t want all users to have this privilege, you can revoke access from the PUBLIC role and grant access to specific roles. For details, see Cortex LLM Functions required privileges.
SNOWFLAKE.COPILOT_USER 데이터베이스 역할¶
The SNOWFLAKE.COPILOT_USER database role allows customers to access Snowflake Copilot features. Initially, this database role is granted to the PUBLIC role. The PUBLIC role is automatically granted to all users and roles, so this allows all users in your account to use Snowflake Copilot. If you want to limit access to Snowflake Copilot features, you can revoke access from the PUBLIC role and grant access to specific roles. For details, see 액세스 제어 요구 사항.
SNOWFLAKE 데이터베이스 역할 사용하기¶
관리자는 GRANT DATABASE ROLE 을 사용하여 SNOWFLAKE 데이터베이스 역할을 다른 역할에 할당한 다음 사용자에게 이 역할을 부여할 수 있습니다. 이를 통해 사용자는 SNOWFLAKE 데이터베이스에 있는 뷰의 특정 하위 세트에 액세스할 수 있습니다.
In the following example a role is created which can be used to view SNOWFLAKE database object metadata, and does the following:
사용자 지정 역할을 만듭니다.
사용자 지정 역할에 OBJECT_VIEWER 역할을 부여합니다.
사용자에게 사용자 지정 역할을 부여합니다.
사용자 지정 역할을 생성하고 부여하려면 다음을 수행하십시오.
오브젝트 메타데이터에 대한 액세스 권한을 부여하는 데 사용할 CREATE ROLE 을 사용하여
CAN_VIEWMD역할을 만듭니다.USERADMIN 이상의 시스템 역할을 가진 사용자 또는 계정에 대해 CREATE ROLE 권한이 있는 또 다른 역할을 가진 사용자만 역할을 만들 수 있습니다.
CREATE ROLE CAN_VIEWMD COMMENT = 'This role can view metadata per SNOWFLAKE database role definitions';
CAN_VIEWMD 역할에 OBJECT_VIEWER 역할을 부여합니다.
OWNERSHIP 역할이 있는 사용자만 SNOWFLAKE 데이터베이스 역할을 부여할 수 있습니다. 자세한 내용은 GRANT DATABASE ROLE 섹션을 참조하십시오.
GRANT DATABASE ROLE OBJECT_VIEWER TO ROLE CAN_VIEWMD;
smith사용자에게CAN_VIEWMD역할을 할당합니다.SECURITYADMIN 역할을 가진 사용자만 사용자에게 역할을 부여할 수 있습니다. 추가 옵션은 GRANT ROLE 섹션을 참조하십시오.
GRANT ROLE CAN_VIEWMD TO USER smith;