사용자 생성 및 역할 부여하기

소개

이 자습서에서는 SQL 명령을 사용하여 사용자를 생성하고 역할을 부여하는 방법을 보여줍니다. Snowsight 의 템플릿 워크시트를 사용하여 이러한 작업을 수행하고 완료합니다.

참고

Snowflake는 이 자습서의 샘플 데이터에 사용되는 디스크상의 저장소에 대해 최소 금액을 청구합니다. 이 자습서에서는 데이터베이스를 삭제하고 저장소 비용을 최소화하는 절차를 제공합니다.

Snowflake에서는 데이터를 로드하고 쿼리를 실행하기 위해 가상 웨어하우스 가 필요합니다. 실행 중인 가상 웨어하우스는 Snowflake 크레딧을 사용합니다. 이 자습서에서는 무료 크레딧을 제공하는 30일 평가판 계정 을 사용하므로 비용이 발생하지 않습니다.

알아볼 내용

이 자습서에서는 다음에 대해 설명합니다.

  • 이 자습서에 필요한 Snowflake 오브젝트를 생성하고 사용할 수 있는 권한이 있는 역할을 사용합니다.

  • 사용자를 만듭니다.

  • 사용자에게 역할을 부여하고 웨어하우스에 대한 액세스 권한을 부여합니다.

  • 계정의 사용자와 역할을 탐색합니다.

  • 생성한 사용자를 삭제합니다.

전제 조건

이 자습서에서는 다음과 같이 가정합니다.

참고

이 자습서는 평가판 계정이 있는 사용자에게만 제공됩니다. 다른 유형의 계정에는 샘플 워크시트를 사용할 수 없습니다.

1단계. Snowsight 를 사용하여 로그인

공용 인터넷을 통해 Snowsight 에 액세스하려면 다음을 수행하십시오.

  1. 지원되는 웹 브라우저에서 https://app.snowflake.com으로 이동합니다.

  2. 계정 식별자 또는 계정 URL을 입력합니다. 이전에 Snowsight 에 로그인한 경우 선택할 수 있는 계정 이름이 표시될 수 있습니다.

  3. Snowflake 계정 자격 증명을 사용하여 로그인합니다.

2단계. [Template] 워크시트를 엽니다.

워크시트를 사용하여 데이터베이스에서 SQL 명령을 작성하고 실행할 수 있습니다. 평가판 계정은 이 자습서에 대해 미리 로드된 템플릿 워크시트에 액세스할 수 있습니다. 워크시트에는 역할 컨텍스트를 설정하고, 사용자를 생성하고, 역할 권한을 부여하기 위해 실행할 SQL 명령이 포함됩니다. 템플릿 워크시트이므로 특정 SQL 매개 변수의 고유한 값을 입력하라는 메시지가 표시됩니다.

워크시트에 대한 자세한 내용은 워크시트 시작하기 섹션을 참조하십시오.

워크시트를 여는 방법은 다음과 같습니다.

  1. Projects » Worksheets 를 선택하여 워크시트 목록을 엽니다.

  2. [Template] Adding a user and granting roles 를 엽니다.

    브라우저가 다음 이미지와 유사한 모습으로 보입니다.

설명 주석과 함께 이 자습서의 SQL 명령이 포함된 SQL 사용자 워크시트.

3단계. 사용할 역할 설정하기

사용하는 역할에 따라 보유하는 권한이 결정됩니다. 이 자습서에서는 계정에서 사용자와 역할을 생성하고 관리할 수 있도록 USERADMIN 시스템 역할을 사용합니다. 자세한 내용은 액세스 제어의 개요 섹션을 참조하십시오.

사용할 역할을 설정하려면 다음을 수행하십시오.

  1. 열린 워크시트에서 커서를 USE ROLE 줄에 놓습니다.

    USE ROLE USERADMIN;
    
    Copy
  2. 워크시트의 오른쪽 위 모서리에서 Run 를 선택합니다.

    참고

    이 자습서에서는 한 번에 하나씩 SQL 문을 실행합니다. Run All 을 선택하지 마십시오.

4단계. 사용자 만들기

Snowflake 사용자에게는 로그인 자격 증명이 있습니다. 사용자에게 역할이 부여되면 사용자는 해당 역할에 부여된 권한을 통해 역할이 허용하는 모든 작업을 수행할 수 있습니다. 자세한 내용은 사용자 관리 섹션을 참조하십시오.

자습서의 이 단계에서는 이름, 비밀번호 및 기타 속성을 사용하여 사용자를 만듭니다.

열린 워크시트에서 CREATE USER 줄에 커서를 놓고 원하는 사용자 이름과 기타 매개 변수 값을 삽입한 다음(아래에 예가 나와 있음) Run 을 선택합니다.

MUST_CHANGE_PASSWORD의 경우 값을 true 로 설정하여 최초 로그인 시 비밀번호 재설정이 요청되도록 합니다. DEFAULT_WAREHOUSE 의 경우 COMPUTE_WH 를 사용합니다.

CREATE OR REPLACE USER snowman
PASSWORD = 'sn0wf@ll'
LOGIN_NAME = 'snowstorm'
FIRST_NAME = 'Snow'
LAST_NAME = 'Storm'
EMAIL = 'snow.storm@snowflake.com'
MUST_CHANGE_PASSWORD = true
DEFAULT_WAREHOUSE = COMPUTE_WH;
Copy

이 명령은 다음 출력을 반환합니다.

User SNOWMAN successfully created.

실제 Snowflake 계정에서 실제 사용자를 생성하는 경우 이제 이 새 계정에 액세스해야 하는 사람에게 다음 정보를 안전한 방법으로 보내게 됩니다.

  • Snowflake 계정 URL: 사용자가 로그인할 Snowflake 계정 링크입니다. 브라우저 상단에서 이 링크를 찾을 수 있습니다(예: https://app.snowflake.com/myorg/myaccount/, 여기서 myorg 는 Snowflake 조직 ID이고 myaccount 는 계정 ID임).

  • LOGIN_NAME(CREATE USER 명령에 지정됨).

  • PASSWORD(CREATE USER 명령에 지정됨).

5단계. 사용자에게 시스템 역할 및 웨어하우스 액세스 권한 부여

이제 사용자를 생성했으므로 SECURITYADMIN 역할을 사용하여 사용자에게 SYSADMIN 역할을 부여하고 COMPUTE_WH 웨어하우스에 USAGE를 부여할 수 있습니다.

역할을 또 다른 역할에 부여하면 역할 간에 부모-자식 관계(역할 계층 구조라고도 함)가 생깁니다. 사용자에게 역할을 부여하면 사용자가 그 역할에 의해 허용되는 모든 작업을 수행할 수 있습니다(역할에 부여된 액세스 권한을 통해).

SYSADMIN 역할은 계정에서 웨어하우스, 데이터베이스 및 데이터베이스 오브젝트를 생성하고 이러한 권한을 다른 역할에 부여할 수 있는 권한이 있습니다. 이러한 권한이 있어야 하는 사용자에게만 이 역할을 부여하십시오. 다른 시스템 정의 역할에 대한 자세한 내용은 액세스 제어의 개요 섹션을 참조하십시오.

사용자에게 역할 및 웨어하우스에 대한 액세스 권한을 부여하려면 다음을 수행하십시오.

  1. 열린 워크시트에서 커서를 USE ROLE 줄에 놓은 다음, Run 을 선택합니다.

    USE ROLE SECURITYADMIN;
    
    Copy
  2. GRANT ROLE 줄에 커서를 놓고 생성한 사용자 이름을 입력한 다음 Run 을 선택합니다.

    GRANT ROLE SYSADMIN TO USER snowman;
    
    Copy
  3. GRANT USAGE 줄에 커서를 놓고 Run 을 선택합니다.

    GRANT USAGE ON WAREHOUSE COMPUTE_WH TO ROLE SYSADMIN;
    
    Copy

6단계. 계정의 사용자 및 역할 탐색

이제 ACCOUNTADMIN 역할을 사용하여 계정의 모든 사용자와 역할을 탐색할 수 있습니다.

사용자 및 역할을 탐색하려면 다음을 수행하십시오.

  1. 열린 워크시트에서 커서를 USE ROLE 줄에 놓은 다음, Run 을 선택합니다.

    USE ROLE ACCOUNTADMIN;
    
    Copy
  2. SHOW USERS 줄에 커서를 놓은 다음 Run 을 선택합니다.

    SHOW USERS;
    
    Copy

    출력은 다음 이미지와 유사합니다.

    계정의 모든 사용자를 표시합니다. name, created_on, login_name, display_name, first_name 열이 포함된 테이블 출력입니다.
  3. SHOW ROLES 줄에 커서를 놓은 다음 Run 을 선택합니다.

    SHOW ROLES;
    
    Copy

    출력은 다음 이미지와 유사합니다.

    계정의 모든 역할을 표시합니다. created_on, name, is_default, is_current, is_inherited 열이 포함된 테이블 출력입니다.

7단계. 사용자 삭제 및 핵심 사항 검토

축하합니다! 평가판 계정에 대해 이 자습서를 성공적으로 완료했습니다. 몇 분 정도 시간을 내어 앞서 다룬 핵심 사항을 검토해 보십시오. Snowflake 설명서의 다른 항목을 검토하여 자세히 알아보십시오.

사용자 삭제하기

더 이상 필요하지 않다고 가정하면 생성한 사용자를 이제 삭제할 수 있습니다.

열린 워크시트에서 DROP USER 줄에 커서를 놓고 생성한 사용자 이름을 입력한 다음 Run 을 선택합니다.

DROP USER snowman;
Copy

핵심 사항 검토하기

요약하자면, Snowsight 에 미리 로드된 워크시트를 사용하여 다음 단계를 완료했습니다.

  1. 사용할 역할을 설정합니다.

  2. 새 사용자를 만듭니다.

  3. 사용자 역할 권한과 웨어하우스 액세스 권한을 부여합니다.

  4. 계정의 사용자 및 역할을 탐색합니다.

  5. 생성한 사용자를 삭제합니다.

다음은 사용자와 역할에 대해 기억해야 할 몇 가지 주요 사항입니다.

  • 계정에서 오브젝트를 생성하고 관리하는 데 필요한 권한이 있어야 합니다. 이 자습서에서는 다양한 목적으로 USERADMIN, SECURITYADMIN, SYSADMIN, ACCOUNTADMIN 시스템 역할을 사용했습니다.

  • ACCOUNTADMIN 역할은 일반적으로 오브젝트를 생성하는 데 사용되지 않습니다. 대신, 조직 내 비즈니스 기능에 맞는 역할 계층 구조를 만드는 것이 좋습니다. 자세한 내용은 ACCOUNTADMIN 역할 사용하기 섹션을 참조하십시오.

  • 웨어하우스는 DML 작업을 실행하고, 데이터를 로드하고, 쿼리를 실행하는 데 필요한 컴퓨팅 리소스를 제공합니다. 이 자습서에서는 평가판 계정에 포함된 compute_wh 웨어하우스를 사용합니다.

다음에는 무엇을 해야 합니까?

다음 리소스를 활용하여 Snowflake에 대해 계속 알아보십시오.