독자 계정 구성하기

새로 생성된 독자 계정에는 전체 계정에 대한 관리자 역할을 수행하는 단일 사용자만 포함됩니다.

계정을 《부트스트랩》(즉, 구성)하려면 계정 관리자는 사용자, 사용자 지정 역할(원하는 경우), 가상 웨어하우스 및 1개 이상의 공유 데이터베이스(공급자 계정에서 공유한 데이터용) 등 계정에 최소한의 추가 오브젝트 세트를 생성해야 합니다.

이 항목에서는 필수 및 선택 사항인 이러한 모든 구성 작업에 대한 개요를 제공합니다.

참고

작업 2~4는 계정 관리자로 완료해야 합니다. 모든 나머지 작업은 다른 사용자에 위임할 수 있습니다.

또한, 이러한 모든 작업은 공급자 계정이 아닌 독자 계정에서 수행해야 합니다.

이 항목의 내용:

작업 1: 독자 계정에 계정 관리자로 로그인

지원되는 인터페이스(예: SnowSQL 또는 웹 인터페이스)를 사용하여 독자 계정에 로그인합니다.

이 항목의 지침에서는 SQL 또는 워크시트(웹 인터페이스)를 사용하여 이러한 작업을 수행하기 위해 SnowSQL을 사용하는 것으로 가정합니다. 그러나 지원되는 모든 Snowflake 인터페이스에서 작업을 수행할 수 있습니다.

ACCOUNTADMIN을 사용할 역할로 설정해야 합니다. 로그인하는 동안 또는 이후 활성 세션에서 이 역할을 설정할 수 있습니다.

워크시트를 사용(웹 인터페이스에서)하여 이러한 작업을 수행하는 경우 워크시트에 대한 컨텍스트에서 역할을 설정합니다.

작업 2: 사용자 지정 역할 만들기(선택 사항)

역할을 사용하면 독자 계정의 사용자가 수행할 수 있는 작업을 세부적으로 제어할 수 있습니다. 역할을 사용하여 수행할 수 있는 작업은 다음과 같습니다.

  • 계정과 공유된 데이터를 쿼리할 수 있는 사용자를 지정합니다.

  • 선택한 사용자에게 가상 웨어하우스에 대한 제어 권한을 부여합니다.

  • 선택한 사용자에게 일부 관리자 작업 및 책임을 위임합니다(원하는 경우).

각 독자 계정에는 시스템에서 정의한 표준 역할(SYSADMIN, SECURITYADMIN, PUBLIC)이 있습니다. 계정에서 생성할 사용자에 대한 액세스 요구 사항을 이러한 역할이 충족하지 않는 경우 추가 사용자 지정 역할을 생성할 수 있습니다.

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

작업 3: 사용자 만들기

독자 계정에 로그인하고 계정과 공유된 데이터를 쿼리하며 허용되는 다른 작업을 수행할 사용자를 생성합니다.

사용자 생성 프로세스의 일부로 시스템 정의 또는 사용자 지정(생성한 경우) 역할을 사용자에게 부여해야 합니다. 사용자에게 할당된 역할에 따라 계정에서 수행할 수 있는 작업이 결정됩니다.

자세한 내용은 CREATE USERGRANT ROLE 섹션을 참조하십시오.

이 항목의 나머지 모든 작업은 계정 관리자가 완료하거나 계정의 다른 사용자에게 위임(권한 및 역할을 통해)할 수 있습니다.

최소한으로 권장되는 사항은 다음과 같습니다.

  • 1명 이상의 다른 사용자에게 SECURITYADMIN 역할을 부여하여 계정에서 다른 사용자와 오브젝트 액세스를 생성 및 관리할 수 있도록 합니다.

  • 계정에서 다른 오브젝트(예: 가상 웨어하우스)를 생성 및 관리할 수 있도록 1명 이상의 다른 사용자에게 SYSADMIN 역할을 부여합니다.

작업 4: 리소스 모니터 만들기(선택 사항)

독자 계정과 공유하는 데이터를 쿼리하기 위해서는 가상 웨어하우스가 필요합니다. 실행 중에 가상 웨어하우스에서는 크레딧이 사용되며 공급자 계정에 요금이 청구됩니다.

독자 계정의 가상 웨어하우스에서 매월 사용하는 크레딧 사용량을 관리하려면 리소스 모니터를 1개 이상 생성하고 다음의 관리 여부를 지정합니다.

  • 계정의 모든 웨어하우스.

  • 개별 웨어하우스.

자세한 내용은 CREATE RESOURCE MONITOR 섹션을 참조하십시오.

주의

이 작업을 건너뛰는 경우 리더 계정의 웨어하우스에서 매월 크레딧이 무제한으로 사용될 수 있으며 해당 크레딧 요금은 공급자 계정에 청구됩니다.

작업 5: 가상 웨어하우스 만들기

공유 데이터베이스의 오브젝트 쿼리를 활성화하려면 가상 웨어하우스 1개 이상 생성해야 합니다. 원하는 만큼 또는 필요한 만큼 웨어하우스를 생성할 수 있지만, 공급자 계정은 독자 계정의 웨어하우스에서 사용되는 모든 크레딧에 대한 책임이 있으며 다음을 고려해야 합니다.

  • 원하는 쿼리 성능과 원하는 크레딧 사용량을 비교하여 웨어하우스 크기를 적절하게 설정합니다.

  • 사용하지 않을 때는 웨어하우스를 자동 일시 중단으로 설정해야 합니다.

자세한 내용은 CREATE WAREHOUSE 섹션을 참조하십시오.

작업 6: 계정과 공유된 각 공유에서 데이터베이스 만들기

독자 계정에는 기본적으로 데이터가 포함되어 있지 않습니다. 공급자 계정에서 공유된 데이터를 사용하려면 CREATE DATABASE 명령을 사용하여 계정과 공유된 각 공유에서 데이터베이스를 생성해야 합니다. 데이터베이스를 생성할 때 독자 계정의 다른 사용자가 공유 데이터를 쿼리하는 시점에 참조할 이름을 지정합니다.

예를 들어, 공급자 계정의 이름이 ab12345 이고 이 독자 계정과 2개의 공유인 share1share2 와 공유하는 경우:

CREATE DATABASE shared_db1 FROM SHARE ab12345.share1;

CREATE DATABASE shared_db2 FROM SHARE ab12345.share2;
Copy

작업 7: 역할에 가상 웨어하우스 및 데이터베이스에 대한 권한 부여

데이터 공급자는 데이터베이스 역할을 통해 오브젝트에 대한 권한을 공유에 부여한 다음 데이터베이스 역할을 공유에 부여하거나(옵션 1), 또는 오브젝트에 대한 권한을 공유에 직접 부여하는(옵션 2) 옵션 중 하나 를 선택할 수 있습니다. 이 섹션의 지침은 데이터베이스 공급자가 선택한 옵션에 따라 다릅니다.

옵션 1

독자 계정과 공유된 데이터 쿼리를 활성화하려면 계정에서 적절한 역할과 함께 계정의 비즈니스 기능과 맞는 공유의 데이터베이스 역할을 부여합니다. 예를 들어 공유에 계정의 모든 사용자와 공유하려는 shared_db1.dr1 이라는 데이터베이스 역할이 포함되어 있다고 가정해 보십시오. 이 경우 데이터베이스 역할을 PUBLIC 시스템 역할에 부여합니다.

GRANT DATABASE ROLE shared_db1.dr1 TO ROLE PUBLIC;
Copy
옵션 2

독자 계정과 공유되는 쿼리 데이터를 활성화하려면 계정에서 시스템 정의 또는 사용자 지정(있는 경우)의 다른 역할에 다음 권한을 부여합니다.

예를 들어, 다음 명령은 PUBLIC 역할에 이름이 shared_db1shared_db2 인 데이터베이스 2개와 이름이 testing_vw 인 웨어하우스에 필요한 권한을 부여합니다. 계정의 모든 사용자는 자동으로 PUBLIC 역할을 갖기 때문에 계정의 모든 사용자는 웨어하우스를 사용하고 데이터베이스를 쿼리할 수 있습니다.

GRANT IMPORTED PRIVILEGES ON DATABASE shared_db1 TO ROLE PUBLIC;

GRANT IMPORTED PRIVILEGES ON DATABASE shared_db2 TO ROLE PUBLIC;
Copy

또한 쿼리를 실행하기 위해 만든 가상 웨어하우스에 대한 USAGE 권한을 부여합니다.

GRANT USAGE ON WAREHOUSE testing_vw TO ROLE PUBLIC;
Copy

원하는 경우 추가 권한을 부여할 수 있지만, 위에 나열된 권한은 계정의 공유 데이터베이스를 쿼리하는 데 필요한 최소 권한입니다.

또한, testing_vw 웨어하우스에 대한 모든 권한을 SYSADMIN 역할에 부여하여 역할을 가진 사용자가 웨어하우스를 시작, 중지 및 크기 조정할 수 있습니다.

GRANT ALL ON WAREHOUSE testing_vs TO ROLE SYSADMIN;
Copy

자세한 내용은 GRANT <권한> 섹션을 참조하십시오.

작업 8: 로그인 및 비밀번호 재설정을 위한 사용자 초대

마지막 구성 작업으로 생성한 모든 사용자에게 계정을 사용할 수 있음을 통지합니다.

이를 수행하기 위한 가장 빠르고 쉬운 방법은 ALTER USER 명령을 사용하여 각 사용자의 비밀번호를 재설정하는 것입니다. 이 작업을 수행하면 각 사용자에 대해 고유한 URL이 생성되어 사용자에게 전송/제공됩니다. 사용자는 해당 URL을 사용하여 비밀번호를 변경하고 계정에 로그인합니다.

예:

ALTER USER ra_user1 RESET PASSWORD;

ALTER USER ra_user2 RESET PASSWORD;
Copy

중요

각 URL은 한 번만 사용할 수 있으며 4시간 후 만료됩니다. 그러나 사용자 비밀번호는 필요할 때마다 재설정할 수 있습니다.

자세한 내용은 ALTER USER 섹션을 참조하십시오.