CREATE DATABASE ROLE

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

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

이 명령은 다음 변형을 지원합니다.

  • CREATE OR ALTER DATABASE ROLE: 데이터베이스 역할이 없는 경우 새 데이터베이스 역할을 만들거나 기존 데이터베이스 역할을 변경합니다.

SQL 외에도 Snowflake REST APIs, Snowflake Python APIs, Snowflake CLI 같은 다른 인터페이스를 사용할 수도 있습니다 . 대체 인터페이스 섹션을 참조하십시오.

참고 항목:

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

구문

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

베리언트 구문

CREATE OR ALTER DATABASE ROLE

데이터베이스 역할이 아직 없는 경우 새 데이터베이스 역할을 만들거나 기존 데이터베이스 역할을 문에 정의된 역할로 변환합니다. CREATE OR ALTER DATABASE ROLE 문은 CREATE DATABASE ROLE 문의 구문 규칙을 따르며 ALTER DATABASE ROLE 문과 제한 사항이 동일합니다.

CREATE OR ALTER DATABASE ROLE <name>
  [ COMMENT = '<string_literal>' ]
Copy

자세한 내용은 CREATE OR ALTER DATABASE ROLE 사용법 노트 섹션을 참조하십시오.

필수 매개 변수

name

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

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

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

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

선택적 매개 변수

COMMENT = 'string_literal'

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

기본값: 값 없음

액세스 제어 요구 사항

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

권한

오브젝트

참고

CREATE DATABASE ROLE

데이터베이스

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

OWNERSHIP

데이터베이스 역할

기존 데이터베이스 역할에 대한 CREATE OR ALTER DATABASE ROLE 문을 실행하는 데 필요합니다.

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

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

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

일반적인 사용법 노트

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

조심

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

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

메타데이터 관련:

주의

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

CREATE OR ALTER DATABASE ROLE 사용법 노트

  • ALTER DATABASE ROLE 명령의 모든 제한 사항이 적용됩니다.

  • 태그 설정 또는 설정 해제는 지원되지 않지만, 기존 태그는 CREATE OR ALTER DATABASE ROLE 문에 의해 변경되지 않고 그대로 유지됩니다.

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

CREATE DATABASE ROLE d1.dr1;
Copy

대체 인터페이스