Snowflake 메타데이터 수집을 활성화하기 위해 인증을 설정하고 역할 권한을 부여합니다.
시작하기 전에
필요한 역할: ACCOUNTADMIN
권한을 부여하려면 Snowflake에서 ACCOUNTADMIN 역할이 있어야 합니다.
이 태스크 정보
수집기는 사용자 이름 및 키 쌍 인증을 지원합니다. 자세한 내용은 Snowflake 설명서를 참조하십시오.
Snowflake는 역할에 따라 권한 부여를 결정합니다. Snowflake에 연결할 때 역할을 지정해야 합니다. 전체 범위의 메타데이터를 수집하려면 ACCOUNTADMIN 역할이 필요합니다. 다른 역할은 확장된 메타데이터 또는 계보 정보 없이 기본 메타데이터에만 액세스할 수 있습니다. ACCOUNTADMIN 이외의 역할을 사용하는 경우 이 작업에 설명된 역할별 권한을 부여합니다.
일부 수집기 기능을 사용하려면 창고가 필요한 Snowflake에서 쿼리를 실행해야 합니다. 사용자 자격 증명에 기본 창고가 구성되어 있으면 추가 창고 구성이 필요하지 않습니다. 다른 창고를 사용하거나 기본 창고가 설정되지 않은 경우 Snowflake Warehouse 구성 옵션을 사용하여 창고를 지정합니다.
프로시저
-
역할을 생성하고 창고 권한을 부여합니다.
CREATE OR REPLACE ROLE DDW_ACCOUNT_ROLE;
GRANT OPERATE, USAGE ON WAREHOUSE <warehouse_name> TO ROLE DDW_ACCOUNT_ROLE;
-
데이터베이스, 스키마, 테이블 및 뷰에 대한 메타데이터 수집을 활성화할 수 있는 권한을 부여합니다.
GRANT USAGE ON DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
GRANT USAGE ON ALL SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
GRANT SELECT ON ALL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
GRANT SELECT ON ALL EXTERNAL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
GRANT SELECT ON ALL VIEWS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
GRANT USAGE ON FUTURE SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
GRANT SELECT ON FUTURE TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
주: 샘플 문자열 값 컬렉션 사용 및 열 통계 컬렉션 사용 옵션을 사용하지 않으려면 SELECT 대신 REFERENCES 권한을 부여할 수 있습니다.
GRANT USAGE ON DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
GRANT USAGE ON ALL SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
GRANT REFERENCES ON ALL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
GRANT REFERENCES ON ALL EXTERNAL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
GRANT REFERENCES ON ALL VIEWS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
GRANT USAGE ON FUTURE SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
GRANT REFERENCES ON FUTURE TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
-
객체 종속성 기반 계보, 사용자 정의 함수, 데이터 메트릭 함수, 저장 프로시저, 태그 및 태그 값, 행 액세스 정책, 마스킹 정책, 테이블 사용을 수집할 수 있는 권한을 부여합니다.
중요사항: 이러한 권한을 부여하려면 ACCOUNTADMIN 역할이 필요합니다.
이러한 권한을 할당하는 방법에는 두 가지 방법이 있습니다.
-
옵션 1: ACCOUNTADMIN 역할을 사용하여 데이터베이스 간에 광범위한 임포트 권한을 부여합니다.
USE ROLE ACCOUNTADMIN;
GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE DDW_ACCOUNT_ROLE;
-
옵션 2: 대상 권한 할당을 위해 특정 데이터베이스 역할 할당:
USE ROLE ACCOUNTADMIN;
USE DATABASE SNOWFLAKE;
GRANT DATABASE ROLE OBJECT_VIEWER TO ROLE DDW_ACCOUNT_ROLE;
GRANT DATABASE ROLE GOVERNANCE_VIEWER TO ROLE DDW_ACCOUNT_ROLE;
이러한 데이터베이스 역할에 대한 자세한 내용은 Snowflake 설명서를 참조하십시오.
- 옵션:
Streamlit 앱에 대한 권한을 부여합니다.
이러한 권한은 Streamlit 앱에서 메타데이터를 수집하려는 경우에만 필요합니다:
GRANT USAGE ON STREAMLIT <streamlit_app_name> TO ROLE DDW_ACCOUNT_ROLE;
-
수집기용 전용 Snowflake 사용자를 생성합니다.
이 사용자에 대한 키 쌍 인증을 작성하려면 사용자 설정을 변경할 수 있는 최소한 SECURITYADMIN 역할이 필요합니다. Snowflake 설명서를 참조하십시오.
CREATE USER DDW_ACCOUNT
RSA_PUBLIC_KEY = '<rsa_public_key>'
TYPE = SERVICE
DEFAULT_ROLE = DDW_ACCOUNT_ROLE
DEFAULT_WAREHOUSE = '<warehouse_name>'
DISPLAY_NAME = 'data.world';
GRANT ROLE DDW_ACCOUNT_ROLE TO USER DDW_ACCOUNT;
-
사용자에게 창고에 대한 액세스 권한을 부여합니다.
GRANT USAGE ON WAREHOUSE <warehouse_name> TO ROLE DDW_ACCOUNT_ROLE;
-
적절한 권한이 부여되었는지 확인합니다.
다음 쿼리를 실행합니다.
SHOW GRANTS TO ROLE DDW_ACCOUNT_ROLE;