CREATE DATABASE ROLE

데이터베이스 역할 을 만들거나 시스템의 기존 데이터베이스 역할을 대체합니다.

데이터베이스 역할을 만든 후에 데이터베이스 역할에 오브젝트 권한을 부여한 다음 다른 데이터베이스 역할이나 계정 역할에 그 데이터베이스 역할을 부여하여 시스템의 오브젝트에 대한 액세스 제어 보안을 활성화할 수 있습니다.

참고 항목:

GRANT <권한>, GRANT DATABASE ROLE , GRANT OWNERSHIP , DROP DATABASE ROLE , ALTER DATABASE ROLE , SHOW DATABASE ROLES, CREATE <오브젝트> … CLONE

구문

CREATE [ OR REPLACE ] DATABASE ROLE [ IF NOT EXISTS ] <name>
  [ COMMENT = '<string_literal>' ]
Copy

필수 매개 변수

name

데이터베이스 역할의 식별자(즉, 이름)를 지정하며, 역할이 생성되는 데이터베이스에서 고유해야 합니다.

식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예: "My object")로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

식별자가 db_name.database_role_name 형식으로 정규화되지 않은 경우 이 명령은 세션의 현재 데이터베이스에서 데이터베이스 역할을 만듭니다.

자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.

선택적 매개 변수

COMMENT = 'string_literal'

데이터베이스 역할에 대한 설명을 지정합니다.

기본값: 값 없음

액세스 제어 요구 사항

이 SQL 명령을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.

권한

오브젝트

참고

CREATE DATABASE ROLE

데이터베이스

데이터베이스에 대한 OWNERSHIP 권한이 있는 역할은 다른 계정 역할에 CREATE DATABASE ROLE 권한을 부여할 수 있습니다.

지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.

보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.

사용법 노트

  • 데이터베이스 역할을 생성하면 데이터베이스 역할이 포함된 데이터베이스에 대한 USAGE 권한이 데이터베이스 역할에 자동으로 부여됩니다.

조심

OR REPLACE 키워드를 사용하여 데이터베이스 역할을 다시 생성하지 마십시오. CREATE OR REPLACE <오브젝트> 를 사용하여 오브젝트를 다시 생성하면 이면에서 먼저 오브젝트가 삭제된 다음 생성됩니다. 데이터베이스 역할을 다시 생성하면 해당 데이터베이스 역할이 부여된 모든 공유에서 삭제됩니다. 이러한 공유에 데이터베이스 역할을 다시 부여해야 합니다.

데이터베이스 역할을 다시 생성해야 하는 경우 데이터베이스 역할을 포함하는 공유의 모든 데이터 컨슈머에게 알리십시오. 데이터 컨슈머는 자신의 계정 역할에 데이터베이스 역할을 다시 부여해야 합니다.

메타데이터 관련:

주의

고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.

데이터베이스 d1 에서 데이터베이스 역할 dr1 을 생성합니다.

CREATE DATABASE ROLE d1.dr1;
Copy