클린룸 사용자 및 액세스 관리¶
개요¶
이 항목에서는 클린룸 계정 관리자가 클린룸 UI 및 API에 대한 사용자 액세스를 관리하는 방법을 설명합니다.
클린룸은 API에 대한 액세스와 UI의 다양한 하위 섹션에 대한 액세스를 허용하는 여러 애플리케이션 역할을 정의합니다. 클린룸 UI 및 API에 대한 액세스는 별도로 부여됩니다. 계정 관리자는 사용자 지정 역할을 생성하고, UI 및 API에 대한 세분화된 액세스를 허용하기 위해 원하는 애플리케이션 역할을 부여한 다음, 해당 계정의 다양한 사용자에게 역할을 부여합니다.
이 전략은 Snowflake 역할 기반 액세스 제어(RBAC) 모델을 사용하여 계정의 클린룸 사용자와 공동 작업자에게 권한을 적절하게 위임할 수 있습니다. RBAC에 대한 자세한 내용은 액세스 제어의 개요 섹션을 참조하세요. 특정 역할이 부여된 사용자를 확인하려면 다음 SQL 명령을 실행합니다.
팁
이 항목에서는 다음과 같은 용어를 사용합니다.
클린룸 사용자: Snowflake 계정의 클린룸 UI 또는 API에 대한 액세스 권한이 부여된 사용자.
클린룸 공동 작업자: 클린룸 공급자가 클린룸에 초대한 컨슈머. 공동 작업자는 클린룸 사용자이기도 합니다. 즉, 공동 작업자는 초대를 수락하고 클린룸을 사용하려면 클린룸 UI 또는 API에 액세스할 수 있어야 합니다.
클린룸 UI에 대한 액세스 관리¶
관리자는 적절한 역할을 직접 또는 간접적으로 부여하여 Snowflake 계정의 클린룸 UI에 대한 액세스 권한을 부여합니다. 관리자는 기본 웨어하우스를 할당하고 UI 사용자에게 해당 웨어하우스에 대한 USAGE 권한도 부여해야 합니다.
다음 역할은 클린룸 UI를 관리하거나 액세스할 수 있는 권한을 부여합니다.
ACCOUNTADMIN: 클린룸 환경을 설치하거나 제거하는 데 사용되는 역할입니다. 이 역할은 클린룸 UI의 :ui:`Snowflake Admin`페이지에 액세스할 수도 있습니다. 계정 관리자는 이 페이지를 사용하여 클라우드 간 자동 복제, 외부 및 Iceberg 테이블, UI 사용자에 대한 데이터 세트 등록과 같은 서비스 사용자 및 계정 기능을 관리합니다. 이 역할에는 모든 클린룸 UI 권한이 있습니다. ACCOUNTADMIN으로 실행 중인 사용자에게는 추가 UI 애플리케이션 역할이 필요하지 않습니다.
MANAGE_CLEANROOMS: 클린룸을 생성, 업데이트, 삭제, 설치하고 클린룸 UI에서 분석을 생성, 업데이트, 삭제, 실행하는 기능을 제공하는 애플리케이션 역할입니다.
MANAGE_DCR_PROFILE_AND_FEATURES: UI의 Admin 섹션에 있는 Profile & Features 페이지에 대한 액세스를 제공하는 애플리케이션 역할로, 회사 프로필을 관리하고 클린룸에서 사용할 수 있는 서드 파티 커넥터를 제어할 수 있습니다.
MANAGE_DCR_CONNECTORS: UI의 Connectors 페이지에 대한 액세스를 제공하는 애플리케이션 역할로, 서드 파티 커넥터를 구성할 수 있습니다.
MANAGE_DCR_COLLABORATORS: UI의 Collaborators 페이지에 대한 액세스를 제공하는 애플리케이션 역할로, UI의 클린룸 공급자가 사용할 수 있는 승인된 공동 작업자 목록을 관리할 수 있습니다. 이 역할은 API를 사용할 때 공급자가 사용할 수 있는 공동 작업자 목록을 제어하지 않습니다. API 사용자는 누구나 공동 작업에 초대할 수 있습니다. 자세한 내용은 Clean Room 공동 작업자 관리하기 섹션을 참조하십시오.
예
다음 코드는 사용자 지정 역할을 생성하고 해당 역할에 여러 UI 기능을 부여한 다음, 사용자에게 사용자 지정 역할을 부여하는 방법을 보여줍니다.
API 사용자 관리하기¶
API 액세스는 역할을 사용하여 관리됩니다. 다음 Snowflake 역할은 API에 액세스하거나 관리하는 데 사용됩니다.
ACCOUNTADMIN: 클린룸 환경을 설치하거나 제거하는 데 사용되는 역할입니다. 이 역할에는 SAMOOHA_APP_ROLE이 포함되지 않습니다. API를 사용하려면 SAMOOHA_APP_ROLE을 사용해야 합니다.
SAMOOHA_APP_ROLE: 이 역할은 이 계정의 클린룸 API에 대한 :ref:`전체 권한<label-dcr_grant_full_api_access>`을 부여합니다. (이 역할은 클린룸 UI에서 API와 통신하기 위해 사용됩니다.)
실행 전용 개발자 역할: SAMOOHA_APP_ROLE을 사용하는 사람은 :ref:`제한된 액세스 역할에 대한 사용 권한을 부여<label-dcr_grant_limited_access>`할 수 있습니다. *실행 역할*이라고도 하는 이 역할은 컨슈머 컨텍스트에서 클린룸의 하위 세트에 대한 API 프로시저 하위 세트를 사용할 수 있는 권한을 부여합니다. 이러한 제한된 역할을 데이터 분석가와 같은 특정 사용자에게 계정에서 범위 지정 사용을 제공하는 역할에 부여할 수 있습니다.
전체 API 액세스 권한 부여 또는 취소하기¶
SAMOOHA_APP_ROLE 역할은 사용자에게 Snowflake 계정의 모든 클린룸에 대한 전체 API 액세스 권한을 부여합니다. 이 역할은 클린룸이 설치된 모든 웨어하우스에서 사용됩니다.
전체 API 액세스 권한을 부여합니다.
전체 API 액세스 권한을 취소합니다.
제한된 API 액세스 권한 부여(역할 실행)¶
계정의 지정된 클린룸에 대해 제한된 API 액세스 권한을 부여할 수 있습니다. 제한된 액세스는 consumer.run_analysis 와 같은 컨슈머 프로시저의 하위 세트 만 호출할 수 있고 클린룸을 설치, 생성, 조인, 수정할 수는 없는 권한을 부여합니다. 이 액세스 수준은 제한된 API 액세스 권한으로 역할을 생성하고 사용자에게 해당 역할을 부여해야 하므로 실행 역할 이라고도 합니다.
사용자에게 제한된 액세스 권한을 부여하는 방법은 다음과 같습니다.
SAMOOHA_APP_ROLE 역할을 부여할 수 있는 사용자는 새 역할을 생성하고 해당 역할에 제한된 기능을 할당합니다. 또한 클린룸에 액세스하는 데 사용할 모든 웨어하우스에 대한 USAGE 권한을 부여받아야 합니다.
그런 다음 사용자는 제한된 역할을 사용하여 Clean Room 계정에서 특정 작업을 수행합니다.
제한된 API 액세스 취소하기¶
특정 역할에서 특정 클린룸에 대한 실행 권한을 취소하려면 :ref:`label-dcr_consumer_revoke_run_on_cleanrooms_from_role`을 호출하세요.
단일 사용자에게 부여된 모든 실행 권한을 취소하려면 사용자로부터 역할을 취소하세요.
Clean Room 공동 작업자 관리하기¶
*공동 작업자*는 클린룸 공급자가 클린룸에 컨슈머로 초대한 사용자입니다.
클린룸 UI 사용 시, 생성자는 MANAGE_DCR_COLLABORATORS 역할을 사용하여 누군가가 관리하는 목록에서 공동 작업자를 초대할 수 있습니다.
클린룸 API 사용 시, 공급자는 미리 정의된 공동 작업자 목록의 제한을 받지 않으며, Snowflake 계정 로케이터로 클린룸 공동 작업자를 추가할 수 있습니다. Snowflake 계정 없이 공동 작업자를 초대하려면 먼저 해당 작업자를 위해 클린룸 관리 계정을 생성 해야 합니다. 공동 작업에는 개별 사용자가 아닌 계정을 초대한다는 점을 기억하세요. 초대된 계정에서 클린룸 액세스 권한이 있는 모든 사용자는 클린룸에 조인하여 사용할 수 있습니다.
참고
Snowflake 공동 작업자가 내 Snowflake 계정과 다른 리전에 계정을 가지고 있는 경우, 계정 관리자가 클라우드 간 자동 복제를 활성화해야 공동 작업자로 추가할 수 있습니다.
클린룸 UI에서 사용되는 공동 작업자 목록을 관리하려면 :ref:`MANAGE_DCR_COLLABORATORS 역할<label-dcr_manage_ui_users>`이 필요합니다.
Snowflake Data Clean Rooms 로그인 페이지 로 이동합니다.
왼쪽 탐색 모음에서 Collaborators 를 선택합니다.
다음 중 하나를 수행하십시오.
공동 작업자에게 Snowflake 계정이 있는 경우 Snowflake Partners » + Snowflake Partner 를 선택합니다. 공동 작업자의 Snowflake 계정 세부 정보를 입력하라는 메시지에 따라 작업을 수행합니다.
공동 작업자가 Snowflake 고객이 아닌 경우:
클린룸 API 사용 시, 공급자는 provider.add_consumers 프로시저를 호출하여 공동 작업자를 추가할 수 있습니다.
공동 작업자가 Snowflake 고객이 아닌 경우 누군가가 해당 공동 작업자를 위해 :ref:`클린룸 관리형 계정을 생성<label-cleanrooms_intro_managed_account>`해야 합니다.