RBAC, DAC 및 보안 개체 계층 구조

Snowflake 관리, 거버넌스 및 협업

Emily Melhuish

Technical Curriculum Developer, Snowflake

Claro 소개

  • 글로벌 신용 구축 앱 Claro 가상 로고
Snowflake 관리, 거버넌스 및 협업

접근 제어 문제

access_control.png

Snowflake 관리, 거버넌스 및 협업

기본 구성 요소

권한은 작업을 수행할 수 있는 허가입니다:

  • SELECT: 읽기
  • INSERT: 쓰기
  • CREATE: 생성
용어 정의
권한(Privilege) 작업 수행 허가 (예: SELECT, INSERT, CREATE)
개체(Object) 권한을 부여할 수 있는 모든 것 (테이블, 스키마, 데이터베이스, 웨어하우스)
역할(Role) 권한이 부여되는 엔터티; 사용자 또는 다른 역할에 부여 가능
사용자(User) Snowflake에 연결하고 역할을 보유하는 사람 또는 서비스 계정
Snowflake 관리, 거버넌스 및 협업

역할 기반 접근 제어(RBAC): 작동 방식

 

권한, 역할, 사용자의 좌우 흐름

Snowflake 관리, 거버넌스 및 협업

RBAC 구현

역할에 권한 부여

GRANT SELECT ON TABLE core.credit_scores
  TO ROLE analyst_role;

사용자에게 역할 할당

GRANT ROLE analyst_role TO USER maria;
1 [Snowflake: Access Control Privileges](https://docs.snowflake.com/en/user-guide/security-access-control-privileges)
Snowflake 관리, 거버넌스 및 협업

임의 접근 제어(DAC)

전송 전후의 DAC를 보여주는 파티션

  • 모든 개체에는 소유자(사람이 아닌 역할)가 있음
  • RBAC는 역할 구조를 정의
  • DAC는 각 역할의 제어 범위를 결정
Snowflake 관리, 거버넌스 및 협업

소유권 이전

다른 역할로 소유권 이전

-- Current owner: SYSADMIN
GRANT OWNERSHIP ON TABLE core.credit_scores
  TO ROLE data_engineer
  REVOKE CURRENT GRANTS;
Snowflake 관리, 거버넌스 및 협업

보안 개체 계층 구조

보안 개체 계층 구조

Snowflake 관리, 거버넌스 및 협업

모든 레벨에 USAGE 적용

GRANT USAGE ON DATABASE <your_database>
  TO ROLE analyst_role;

GRANT USAGE ON SCHEMA core
  TO ROLE analyst_role;

GRANT SELECT ON TABLE core.credit_scores
  TO ROLE analyst_role;
Snowflake 관리, 거버넌스 및 협업

시스템 정의 역할

 

역할 책임
ACCOUNTADMIN 전체 계정 제어
SYSADMIN 데이터베이스 및 웨어하우스 생성
SECURITYADMIN 네트워크 정책, 마스킹 정책, 역할 관리
USERADMIN 사용자 생성 및 역할 할당
PUBLIC 모든 사용자의 기본 역할
1 [Snowflake: Access Control Overview](https://docs.snowflake.com/en/user-guide/security-access-control-overview)
Snowflake 관리, 거버넌스 및 협업

연습해 봅시다!

Snowflake 관리, 거버넌스 및 협업

Preparing Video For Download...