공유 작업 공간의 모범 사례¶
다음 권장 사항은 관리자가 공유 작업 공간을 효과적으로 계획, 구성 및 유지 관리하는 방법에 대해 자세히 설명합니다.
공유 작업 공간 계획 및 설정하기¶
공유 작업 공간은 표준 데이터베이스 내에서 스키마 수준 오브젝트로 생성되며 Snowflake의 기존 역할 기반 액세스 제어(RBAC) 모델을 따릅니다.
공유 작업 공간을 만들려면 대상 스키마를 소유하거나 다음 권한이 있어야 합니다.
데이터베이스 및 스키마에 대한 USAGE
스키마에 대한 CREATE WORKSPACE
생성 권한 부여하기¶
관리자로서 사용자에게 필요한 스키마 수준 권한을 부여하려면 다음 명령을 실행합니다.
GRANT USAGE ON DATABASE <database_name>.<schema_name> TO ROLE <role_name>; GRANT CREATE WORKSPACE ON SCHEMA <database_name>.<schema_name> TO ROLE <role_name>;
Copy
작업 공간 관리 명령¶
다음 명령을 사용하여 기존 공유 작업 공간에 대한 액세스를 모니터링하고 관리합니다.
동작 |
구문 |
|---|---|
모든 작업 공간 나열 |
|
작업 공간 권한 보기 |
|
편집 권한 부여하기 |
|
편집 권한 취소하기 |
|
예
GRANT WRITE ON WORKSPACE my_workspace;
REVOKE WRITE ON WORKSPACE my_workspace;
거버넌스 모범 사례¶
계정에서 공유 작업 공간을 활성화할 때 다음 모범 사례를 고려합니다.
의도적인 계획: 공유 작업 공간을 특정 팀, 프로젝트 또는 사용 사례에 맞게 조정합니다. 작업 공간이 적고 명확하게 정의되면 복잡함과 사용자 혼란이 줄어듭니다.
생성 권한 제한: 지정된 스튜어드 역할 및 스키마 소유자에 대해 CREATE WORKSPACE 권한을 제한합니다. 이 권한을 광범위하게 부여하면 불필요한 중복이나 작업 공간의 무분별한 확장이 발생할 수 있습니다.
작업 공간 수명 주기 모니터링: 기존 공유 작업 공간을 주기적으로 검토하고 부실하거나 사용하지 않는 작업 공간을 폐기합니다. 활성화되고 관련된 작업 공간만 계속 사용할 수 있도록 간단한 검토 프로세스(예: 분기별)를 설정합니다.
조직 모델¶
관리자는 조직의 협업 모델에 따라 다양한 방식으로 공유 작업 공간을 구성할 수 있습니다.
중앙 집중식 협업 허브¶
모든 팀의 공유 작업 공간 전용 단일 데이터베이스와 스키마는 팀 간 협업을 위한 일관된 위치를 제공합니다.
예시 설정
CREATE DATABASE IF NOT EXISTS SHARED_WORKSPACES_DB;
CREATE SCHEMA IF NOT EXISTS SHARED_WORKSPACES_SCHEMA;
GRANT USAGE ON DATABASE SHARED_WORKSPACES_DB.SHARED_WORKSPACES_SCHEMA TO ROLE WORKSPACES_STEWARDS;
GRANT CREATE WORKSPACE ON SCHEMA SHARED_WORKSPACES_DB.SHARED_WORKSPACES_SCHEMA TO ROLE WORKSPACES_STEWARDS;
팀 범위의 작업 공간¶
각 팀은 자체 데이터베이스 또는 스키마를 소유하고 해당 범위 내에서 공유 작업 공간을 관리합니다. 이 모델은 이미 부서, 분야 또는 사업부별로 데이터베이스와 역할을 조정한 조직에 적합합니다.
하이브리드 접근 방식¶
일상적인 협업을 위해 팀별 스키마와 함께 팀 간 또는 가시성이 높은 프로젝트에 결합된 중앙 스키마를 사용합니다. 이 모델은 유연성, 중앙 집중식 거버넌스, 검색 가능성의 균형을 유지합니다.
역할 설계 및 액세스 관리 고려 사항¶
공유 작업 공간은 **역할**(개별 사용자가 아님)과만 공유할 수 있습니다.
대부분의 조직은 기존 역할을 사용하여 액세스를 관리할 수 있습니다. 필요한 경우가 아니면 공유 작업 공간에 대해서만 새 역할을 만들지 마세요.
모범 사례¶
이미 팀 구성원 자격 또는 직무를 나타내는 기존 역할을 사용합니다.
액세스 관리 및 작업 공간 구조 유지 관리를 담당하는 지정된 관리자 역할을 할당합니다.
채택 및 유지 관리¶
명명 규칙: 검색 가능성을 높이려면 ``TEAM_PROJECT_NAME``과 같이 명확하고 일관된 패턴을 사용합니다.
소유권: 책임을 보장하기 위해 각 공유 작업 공간에 스튜어드 또는 소유자 역할을 할당합니다.
설명서: 활성화된 공유 작업 공간과 의도된 목적이 나열된 내부 디렉터리 또는 Wiki를 유지 관리합니다.
일관성: 코드 또는 쿼리가 협업할 준비가 되면 사용자가 비공개 작업 공간에서 공유 작업 공간으로 이동하도록 권장합니다.
정기적인 검토: 역할, 스키마 및 공유 작업 공간을 주기적으로 감사하여 조직 정책 및 팀 구조에 맞게 유지되는지 확인합니다.