Snowflake Data Clean Rooms Collaboration API

소개

Snowflake Data Clean Rooms Collaboration API에 대한 참조 페이지입니다. 이 API는 공급자와 컨슈머 APIs에서 사용하는 PROVIDER 또는 CONSUMER 네임스페이스가 아닌 COLLABORATIONREGISTRY 네임스페이스를 사용합니다.

참고

Collaboration API를 사용할 때는 사용자 환경에서 보조 역할을 비활성화해야 합니다.

USE SECONDARY ROLES NONE;
Copy

DCR Collaboration API에 대한 액세스 관리

공동 작업자는 상위 수준의 SAMOOHA_APP_ROLE 역할을 사용하여 모든 DCR Collaboration API 프로시저를 호출합니다.

그러나 관리자는 필요에 따라 특정 협업 또는 특정 역할에 보다 세분화된 액세스 권한을 부여하는 것이 좋습니다. 보다 세분화된 권한은 :ref:`label-dcr_collaboration_access_management_api`에서 확인할 수 있습니다.

세분화된 API 권한을 사용자에게 부여하려면 다음 단계를 따릅니다.

  1. 역할을 생성합니다.

  2. 역할에 사용 중인 웨어하우스에 대한 사용 권한을 부여합니다.

  3. 특정 협업에 대한 적절한 권한을 역할에 부여해야 하는 경우 :ref:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE <label-grant_privilege_on_object_to_role>`을 호출합니다.

  4. 계정의 모든 협업에 대한 적절한 상위 수준 권한을 역할에 부여해야 하는 경우 :ref:`GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE <label-dcr_grant_privilege_on_account_to_role>`을 호출합니다.

  5. 이제 협업 프로시저를 호출하여 협업에 참여할 수 있는 사용자에게 역할을 부여합니다.

다음은 협업을 생성하고 조인할 수 있는 역할 및 협업에서 리소스를 보고 분석을 실행할 수 있는 역할(단, 협업에 조인하거나 수정할 수는 없음)의 두 Collaboration API 역할을 생성하는 예제입니다.

-- Create a role that can create and join collaborations.
USE ROLE ACCOUNTADMIN;
CREATE ROLE COLLABORATION_CREATOR_ROLE;
GRANT USAGE ON WAREHOUSE APP_WH TO COLLABORATION_CREATOR_ROLE;
GRANT APPLY ROW ACCESS POLICY ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
GRANT CREATE APPLICATION ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
GRANT CREATE DATABASE ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
GRANT CREATE LISTING ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
GRANT CREATE SHARE ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
GRANT IMPORT SHARE ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
GRANT MANAGE SHARE TARGET ON ACCOUNT TO ROLE COLLABORATION_CREATOR_ROLE;
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'COLLABORATION_CREATOR_ROLE');
GRANT ROLE COLLABORATION_CREATOR_ROLE TO USER george_washington;

-- Create a role that can run analyses on a specific collaboration.
USE ROLE COLLABORATION_CREATOR_ROLE;
CREATE ROLE ANALYST_ROLE;

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(
  'RUN',
  'COLLABORATION',
  $collaboration_name,
  'ANALYST_ROLE'
);

-- Also grant READ, which gives permission to read the resources available to use in a collaboration.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(
  'READ',
  'COLLABORATION',
  $collaboration_name,
  'ANALYST_ROLE'
);

GRANT ROLE ANALYST_ROLE to USER alexander_hamilton;
Copy

메타데이터 치트 시트

협업에 대해 일반적으로 정보를 찾는 방법은 다음과 같습니다.

알아볼 사항

호출할 명령

나는 어떤 협업에 조인할 수 있나요?

VIEW_COLLABORATIONS. COLLABORATION_NAME 열이 NULL인 협업을 찾습니다.

내가 어떤 협업에 조인했나요?

VIEW_COLLABORATIONS. COLLABORATION_NAME 열이 NULL이 아닌 협업을 찾습니다. 즉, 사용자가 협업을 생성했거나 조인했음을 의미합니다.

내가 소유한 협업은 무엇인가요?

VIEW_COLLABORATIONS. OWNER_ACCOUNT 열에서 찾습니다.

협업에서 모든 공동 작업자의 상태는 무엇인가요?

GET_STATUS

협업에서 내 조인 또는 생성 상태는 무엇인가요?

GET_STATUS 또는 VIEW_COLLABORATIONS

주어진 협업의 소유자는 누구인가요?

GET_STATUS. ROLES 열에서 OWNER를 찾습니다.

주어진 협업에서 내 역할은 무엇인가요?

GET_STATUS. ROLES 열에서 찾습니다.

주어진 협업에서 어떤 역할이 할당되나요?

GET_STATUS. ROLES 열에서 찾습니다.

주어진 협업의 사양은 무엇인가요?

VIEW_COLLABORATIONS. COLLABORATION_SPEC 열에서 찾습니다.

사양이 최신 상태인가요?

주어진 사양에 진행 중인 변경 사항이 있는지 여부를 알 수 있는 방법은 없지만, ``VIEW_COLLABORATIONS``를 호출하여 최신 업데이트가 적용된 시점을 확인할 수 있습니다.

어떤 보류 중인 업데이트 요청이 있나요?

VIEW_UPDATE_REQUESTS. STATUS = PENDING인 행을 찾습니다.

주어진 협업에 대한 사양 표시

``REVIEW``는 협업 사양을 반환합니다. 이미 ``REVIEW``를 호출했거나 협업에 조인한 경우 다음에 표시된 대로 협업 이름을 사용하여 다음 SQL 명령을 호출합니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_COLLABORATIONS() ->>
  SELECT "COLLABORATION_SPEC" FROM $1
    WHERE "SOURCE_NAME" = <collaboration name>;
Copy

템플릿 프로시저

REGISTER_TEMPLATE

스키마:

REGISTRY

협업에서 사용할 수 있도록 템플릿을 등록합니다. 등록된 모든 템플릿에는 계정의 모든 레지스트리에 있는 모든 템플릿에 대해 고유한 이름 + 버전이 있어야 합니다.

구문

REGISTER_TEMPLATE( ['<registry_name>' ,] <template_spec> )
Copy

인자

:samp:`{registry_name}`*(선택 사항)*

이 템플릿을 등록할 :doc:`사용자 지정 레지스트리 </user-guide/cleanrooms/v2/registries>`의 이름입니다. 지정하지 않는 경우 기본 계정 레지스트리에 템플릿을 등록합니다.

template_spec

YAML 형식(문자열)의 :ref:`템플릿 정의 <label-dcr_collaboration_template_yaml>`입니다.

반환

협업 사양에서 사용할 템플릿 ID입니다.

기본 레지스트리에 템플릿을 등록합니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_TEMPLATE(
  $$
  api_version: 2.0.0
  spec_type: template
  name: my_test_template
  version: 2026_01_12_V1
  type: sql_analysis
  description: A test template
  template:
    SELECT * FROM IDENTIFIER({{ source_table[0] }}) LIMIT 10;
$$);
Copy

사용자 지정 레지스트리에 템플릿을 등록합니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_TEMPLATE(
  'my_custom_registry',
  $$
  api_version: 2.0.0
  spec_type: template
  name: my_test_template
  version: 2026_01_12_V1
  type: sql_analysis
  description: A test template
  template:
    SELECT * FROM IDENTIFIER({{ source_table[0] }}) LIMIT 10;
$$);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저를 호출하여 권한이 부여된 역할을 사용해야 합니다.

기본 레지스트리에 오브젝트를 등록하려면:

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('REGISTER TEMPLATE', 'role name')

사용자 지정 레지스트리에 항목을 등록하려면:

  • 자신이 생성한 모든 사용자 지정 레지스트리에 대한 읽기 및 쓰기 권한이 있습니다.

  • 다른 사용자가 생성한 사용자 지정 레지스트리에 액세스하려면 :samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(‘REGISTER’, ‘REGISTRY’, ‘MY_REGISTRY’, ‘{role name}’)`이 필요합니다.


VIEW_REGISTERED_TEMPLATES

스키마:

REGISTRY

등록한 모든 템플릿을 나열합니다. 템플릿을 등록하려면 ``REGISTRY.REGISTER_TEMPLATE``을 호출합니다.

구문

VIEW_REGISTERED_TEMPLATES( [ '<registry_name>' ] )
Copy

인자

:samp:`{registry_name}`*(선택 사항)*

템플릿을 나열할 :doc:`사용자 지정 레지스트리 </user-guide/cleanrooms/v2/registries>`의 이름입니다. 지정하지 않으면 기본 계정 레지스트리의 템플릿을 나열합니다.

반환

이 계정에 등록한 모든 템플릿의 세부 정보를 나열하는 테이블입니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.VIEW_REGISTERED_TEMPLATES();
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

기본 레지스트리에서 항목을 보려면:

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW REGISTERED TEMPLATES', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

사용자 지정 레지스트리에서 항목을 보려면:

  • 자신이 생성한 모든 사용자 지정 레지스트리에 대한 읽기 및 쓰기 권한이 있습니다.

  • 다른 사용자가 생성한 사용자 지정 레지스트리에 액세스하려면 :samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(‘READ’, ‘REGISTRY’, ‘MY_REGISTRY’, ‘{role name}’)`이 필요합니다.


ADD_TEMPLATE_REQUEST

스키마:

COLLABORATION

기존 협업에 템플릿을 추가하라는 요청을 보냅니다. 발신자가 요청의 영향을 받는 경우 발신자는 자동으로 요청을 승인합니다. 영향을 받는 다른 모든 공동 작업자는 요청을 승인해야 변경 사항을 적용할 수 있습니다. 모든 공동 작업자는 협업 소유자를 포함하여 기존 협업에 템플릿을 추가하려면 이 프로시저를 호출해야 합니다.

템플릿 공유자를 더 추가하려면 별칭을 사용하여 이 프로시저를 다시 호출할 수 있습니다. 각 호출은 :samp:`{share_with}`에 나열된 사용자를 추가합니다.

요청 상태를 확인하려면 ``VIEW_UPDATE_REQUESTS``를 호출합니다.

템플릿 추가 흐름을 참조하세요.

구문

ADD_TEMPLATE_REQUEST( <collaboration_name>, <template_id>, <share_with> )
Copy

인자

collaboration_name

템플릿을 추가할 협업의 이름입니다.

template_id

협업에 추가할 템플릿의 ID입니다. 이 값을 가져오려면 템플릿을 등록합니다.

share_with

이 템플릿을 공유할 분석 실행자의 별칭 배열입니다. 여기에 나열된 공동 작업자는 이 템플릿과 연결된 다른 공동 작업자 이외에 추가됩니다. 여기에 나열된 모든 공동 작업자는 분석 실행자여야 하며, 그렇지 않은 경우 이 템플릿을 누구와도 공유하지 않으면 프로시저가 실패합니다.

반환

문자열 성공 메시지.

-- Ask to add the template only for Collaborator3 in this collaboration.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.ADD_TEMPLATE_REQUEST(
  $collaboration_name,
  $template_alias,
  ['Collaborator3']
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • 다음 권한 중 하나:

    • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name') 및 역할에 수동으로 부여해야 하는 모든 추가 계정 수준 권한.

    • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name') 및 역할에 수동으로 부여해야 하는 모든 추가 계정 수준 권한.

  • 템플릿이 사용자 지정 레지스트리에 있는 경우 :samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE( ‘READ’, ‘{registry name}’, ‘{role name}’)`도 있어야 합니다.


REMOVE_TEMPLATE

스키마:

COLLABORATION

지정된 공동 작업자에 대해 주어진 협업에서 템플릿을 제거하기 위한 비동기 요청입니다. 템플릿을 등록한 공동 작업자만 템플릿을 제거할 수 있습니다. 등록한 템플릿을 제거하기 위해 다른 사용자의 승인이 필요하지 않습니다. 공동 작업자에 대한 템플릿이 제거되면 해당 공동 작업자는 템플릿을 확인하거나 볼 수 없습니다.

구문

REMOVE_TEMPLATE( <collaboration_name>, <template_id>, <remove_for> )
Copy

인자

collaboration_name

템플릿을 제거할 협업의 이름입니다.

template_id

협업에서 제거할 템플릿의 ID입니다.

remove_for

이 협업에서 더 이상 이 템플릿을 확인하거나 사용할 수 없어야 하는 분석 실행자의 하나 이상의 별칭 배열입니다.

반환

문자열 성공 메시지. 공동 작업자에 대한 템플릿이 제거되었는지 확인하려면 협업 사양을 확인합니다.

-- Prevent collaborator_1234 from using the specified template
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.REMOVE_TEMPLATE(
  $collaboration_name,
  $template_id,
  ['collaborator_1234']
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • 다음 권한 중 하나:

    • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name') 및 역할에 수동으로 부여해야 하는 모든 추가 계정 수준 권한.

    • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name') 및 역할에 수동으로 부여해야 하는 모든 추가 계정 수준 권한.

  • 템플릿이 사용자 지정 레지스트리에 있거나 사용자 지정 레지스트리의 코드 사양을 참조하는 경우 :samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE( ‘READ’, ‘{registry name}’, ‘{role name}’)`도 있어야 합니다.


VIEW_TEMPLATES

스키마:

COLLABORATION

지정된 협업에 대해 실행할 수 있거나 제출한 모든 템플릿을 표시합니다.

구문

VIEW_TEMPLATES( <collaboration_name> )
Copy

인자

collaboration_name

협업의 이름입니다. 템플릿을 나열하려면 먼저 이 협업을 검토하거나 조인해야 합니다.

반환

등록한 템플릿을 포함하여 이 협업에서 실행할 수 있는 템플릿에 대한 정보를 나열하는 테이블입니다. 이 정보에는 템플릿을 실행하는 데 사용되는 템플릿 ID, 템플릿 본문, 매개 변수, 템플릿을 생성한 사용자, 템플릿을 실행할 수 있는 사용자가 포함됩니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_TEMPLATES(
  $collaboration_name
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW TEMPLATES', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


ENABLE_TEMPLATE_AUTO_APPROVAL

스키마:

COLLABORATION

다른 공동 작업자가 보낸 모든 템플릿 업데이트 요청이 자동으로 승인되도록 합니다. 요청은 요청 로그에 계속 표시됩니다. 이는 자동 승인이 활성화된 후에 전송된 요청에만 영향을 줍니다.

구문

ENABLE_TEMPLATE_AUTO_APPROVAL( <collaboration_name> )
Copy

인자

collaboration_name

협업의 이름입니다.

반환

문자열 성공 메시지.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.ENABLE_TEMPLATE_AUTO_APPROVAL(
  $collaboration_name
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE TEMPLATE AUTO APPROVAL', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


DISABLE_TEMPLATE_AUTO_APPROVAL

스키마:

COLLABORATION

다른 공동 작업자가 제기한 템플릿 요청에 대한 자동 승인을 비활성화합니다. 향후의 모든 요청은 ``APPROVE_UPDATE_REQUEST``를 호출하여 수동으로 승인해야 합니다.

구문

DISABLE_TEMPLATE_AUTO_APPROVAL( <collaboration_name> )
Copy

인자

collaboration_name

협업의 이름입니다.

반환

문자열 성공 메시지.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.DISABLE_TEMPLATE_AUTO_APPROVAL(
  $collaboration_name
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE TEMPLATE AUTO APPROVAL', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

데이터 오퍼링 프로시저

REGISTER_DATA_OFFERING

스키마:

REGISTRY

협업 정의에 추가할 수 있도록 데이터 오퍼링을 등록합니다. 등록된 데이터 오퍼링은 등록 해제할 수 없습니다. 기존 데이터 오퍼링을 덮어쓸 수는 없지만, 같은 이름과 새 버전으로 새 데이터 오퍼링을 등록할 수 있습니다. 데이터 오퍼링의 새 버전을 생성해도 이전 버전은 제거되지 않습니다.

모든 데이터 오퍼링에는 계정의 모든 레지스트리에 있는 모든 데이터 오퍼링에 대해 고유한 이름 + 버전이 있어야 합니다.

이 테이블을 협업의 다른 사용자와 공유하려면 협업이 생성되기 전에 협업 사양에 테이블을 추가합니다.

협업에서 공유하는 모든 데이터에 대한 OWNERSHIP 권한이 있어야 합니다. 그렇지 않은 경우 협업에 조인하거나 오브젝트를 등록하려고 할 때 “누락된 참조 사용 권한 부여” 오류가 발생합니다. 이 문제를 처리하는 방법을 알아보세요.

구문

REGISTER_DATA_OFFERING( ['<registry_name>' ,] <data_offering_spec> )
Copy

인자

:samp:`{registry_name}`*(선택 사항)*

이 데이터 오퍼링을 등록할 :doc:`사용자 지정 레지스트리 </user-guide/cleanrooms/v2/registries>`의 이름입니다. 지정하지 않는 경우 기본 계정 레지스트리에 데이터 오퍼링을 등록합니다.

data_offering_spec

데이터 오퍼링을 설명하는 YAML 형식의 :ref:`데이터 오퍼링 정의 <label-dcr_collaboration_data_yaml>`입니다.

반환

협업의 data_offerings.id 필드에서 사용할 데이터 오퍼링 ID입니다.

기본 레지스트리에 데이터 오퍼링을 등록합니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_DATA_OFFERING(
    $$
    api_version: 2.0.0
    spec_type: data_offering
    version: v1
    name: customers
    datasets:
     - alias: customers_1
       data_object_fqn: SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS
       allowed_analyses: template_only
       schema_and_template_policies:
         hashed_email:
           category: join_custom
         status:
           category: passthrough
    $$
  );
Copy

사용자 지정 레지스트리에 데이터 오퍼링을 등록합니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_DATA_OFFERING(
    'my_custom_registry',
    $$
    api_version: 2.0.0
    spec_type: data_offering
    version: v1
    name: customers
    datasets:
     - alias: customers_1
       data_object_fqn: SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS
       allowed_analyses: template_only
       schema_and_template_policies:
         hashed_email:
           category: join_custom
         status:
           category: passthrough
    $$
  );
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저를 호출하여 권한이 부여된 역할을 사용해야 합니다.

기본 레지스트리에 데이터 오퍼링을 등록하려면:

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('REGISTER DATA OFFERING', 'role name')

사용자 지정 레지스트리에 항목을 등록하려면:

  • 자신이 생성한 모든 사용자 지정 레지스트리에 대한 읽기 및 쓰기 권한이 있습니다.

  • 다른 사용자가 생성한 사용자 지정 레지스트리에 액세스하려면 :samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(‘REGISTER’, ‘REGISTRY’, ‘MY_REGISTRY’, ‘{role name}’)`이 필요합니다.






VIEW_REGISTERED_DATA_OFFERINGS

스키마:

REGISTRY

등록한 모든 데이터 오퍼링을 나열합니다. 다른 사용자가 추가한 협업의 데이터 오퍼링을 확인하려면 ``COLLABORATION.VIEW_DATA_OFFERINGS``를 호출합니다.

구문

VIEW_REGISTERED_DATA_OFFERINGS( [ '<registry_name>' ] )
Copy

인자

:samp:`{registry_name}`*(선택 사항)*

데이터 오퍼링을 나열할 :doc:`사용자 지정 레지스트리 </user-guide/cleanrooms/v2/registries>`의 이름입니다. 지정하지 않으면 기본 계정 레지스트리의 데이터 오퍼링을 나열합니다.

반환

이 계정을 사용하여 등록한 모든 데이터 오퍼링을 나열하는 테이블입니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.VIEW_REGISTERED_DATA_OFFERINGS();
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

기본 레지스트리에서 항목을 보려면:

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW REGISTERED DATA OFFERINGS', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

사용자 지정 레지스트리에서 항목을 보려면:

  • 자신이 생성한 모든 사용자 지정 레지스트리에 대한 읽기 및 쓰기 권한이 있습니다.

  • 다른 사용자가 생성한 사용자 지정 레지스트리에 액세스하려면 :samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(‘READ’, ‘REGISTRY’, ‘MY_REGISTRY’, ‘{role name}’)`이 필요합니다.


VIEW_DATA_OFFERINGS

스키마:

COLLABORATION

분석 실행자로 액세스할 수 있거나 직접 추가한 지정된 협업에 있는 모든 데이터 오퍼링을 나열합니다. 등록한 데이터 오퍼링만 확인하려면 ``REGISTRY.VIEW_REGISTERED_DATA_OFFERINGS``를 호출합니다.

X가 협업에 조인한 후에만 공동 작업자 X의 데이터 오퍼링을 확인할 수 있습니다.

구문

VIEW_DATA_OFFERINGS( <collaboration_name> )
Copy

인자

collaboration_name

탐색할 협업의 이름입니다.

반환

지정된 협업의 모든 데이터 오퍼링에 대한 정보입니다. 테이블에는 다음 열이 포함됩니다.

  • FREEFORM_SQL_COLUMN_POLICIES: 이 협업의 모든 :ref:`자유 형식 열 정책 <label-dcr_freeform_sql_policies_field>`을 정책 유형별로 키로 지정한 JSON의 표현입니다.

  • FREEFORM_SQL_VIEW_NAME: 데이터 세트가 자유 형식 SQL 쿼리를 지원하는 경우 자유 형식 SQL 쿼리에서 사용되는 정규화된 테이블 이름입니다. 데이터 세트가 자유 형식 SQL 쿼리를 제공하지 않는 경우 이 셀은 비어 있습니다.

  • SHARE_WITH: 분석에서 데이터를 사용할 수 있는 사용자입니다. 이 값이 ``LOCAL``인 경우, 이는 데이터를 호스팅하는 당사자를 제외하고 어떤 공동 작업자와도 공유되지 않는 로컬 데이터 세트입니다.

  • TEMPLATE_VIEW_NAME: ``COLLABORATION.RUN``을 호출할 때 템플릿에 사용되는 정규화된 테이블 이름입니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_DATA_OFFERINGS(
  $collaboration_name
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW DATA OFFERINGS', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

업데이트 요청 프로시저

이러한 프로시저는 :ref:`템플릿 흐름 추가 <label-dcr_collaboration_add_template_post_creation>`와 같이 승인이 필요한 협업 업데이트 요청을 관리하는 데 사용됩니다.

VIEW_UPDATE_REQUESTS

스키마:

COLLABORATION

지정된 협업에서 자신이 생성했거나 승인 또는 거부할 수 있는 모든 업데이트 요청을 확인합니다. 업데이트 요청이 등록되는 데 몇 초 정도 소요될 수 있으므로, 방금 전에 전송한 요청이 표시되지 않을 수 있습니다.

템플릿 추가 흐름을 참조하세요.

구문

VIEW_UPDATE_REQUESTS( <collaboration_name> )
Copy

인자

collaboration_name

협업의 이름입니다.

반환

이 협업에서 전송된 업데이트 요청 테이블입니다. 포함되는 정보는 다음과 같습니다.

  • ID: 요청의 ID입니다. 이를 사용하여 요청을 승인하거나 거부합니다.

  • TYPE: 요청의 유형입니다. 다음 값이 지원됩니다.

    • ‘템플릿 추가’

  • STATUS: 요청의 현재 상태입니다. 다음과 같은 상태가 보고될 수 있습니다.

    • REJECTED: 협업의 누군가가 이 요청을 거부했습니다.

    • PENDING: 요청이 승인 또는 거부 대기 중입니다.

    • AWAITING_PARTNER_APPROVAL: 요청을 승인했지만 한 명 이상의 다른 공동 작업자가 요청을 승인해야 합니다.

    • APPROVED: 모든 필수 승인자가 요청을 승인했으며 변경 사항이 협업에 적용되었습니다.

  • APPROVAL_LOG: 요청의 모든 승인 및 거부 로그입니다. 요청이 거부되면 거부 당사자가 제시한 이유도 여기에 제공됩니다.

  • DETAILS: 템플릿 이름, 설명, ‘템플릿 추가’ 요청에 대해 템플릿을 공유하는 사용자 등 요청 유형과 관련된 세부 정보입니다.

  • SPEC: ‘템플릿 추가’ 요청에 대한 템플릿 사양과 같이, 업데이트되는 리소스의 세부 정보입니다.

  • UPDATED_ON: 이 요청에 대해 마지막 작업이 수행된 타임스탬프입니다(예: 승인 또는 거부).

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_UPDATE_REQUESTS(
  $collaboration_name
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


APPROVE_UPDATE_REQUEST

스키마:

COLLABORATION

협업 업데이트 요청을 승인합니다. ``VIEW_UPDATE_REQUESTS``를 호출하여 보류 중인 요청 목록을 확인합니다. 요청을 승인하면 나중에 거부할 수 없습니다.

영향을 받는 모든 공동 작업자는 변경 사항이 협업에 실제로 적용되기 전에 요청을 승인해야 합니다.

템플릿 추가 흐름을 참조하세요.

구문

APPROVE_UPDATE_REQUEST( <collaboration_name>, <request_id> )
Copy

인자

collaboration_name

협업의 이름입니다.

request_id

요청의 ID입니다.

반환

문자열 성공 메시지.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.APPROVE_UPDATE_REQUEST(
  $collaboration_name,
  $request_id
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE UPDATE REQUEST', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


REJECT_UPDATE_REQUEST

스키마:

COLLABORATION

협업 업데이트 요청을 거부합니다. 한 번 거부하면 변경 사항이 협업에 적용되지 않습니다. 요청을 거부한 후에는 승인할 수 없습니다.

구문

REJECT_UPDATE_REQUEST( <collaboration_name>, <request_id>, <reason> )
Copy

인자

collaboration_name

협업의 이름입니다.

request_id

요청의 ID입니다.

reason

요청이 거부된 이유에 대해 사람이 읽을 수 있는 설명입니다. 인자는 필수이지만, 빈 문자열을 제출할 수 있습니다.

반환

문자열 성공 메시지.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.REJECT_UPDATE_REQUEST(
  $collaboration_name,
  'request_1324f934457',
  'Needs more cowbell'
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE UPDATE REQUEST', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

협업 관리 프로시저

INITIALIZE

스키마:

COLLABORATION

소유자는 이를 호출하여 협업을 생성하고 선택적으로 협업에 조인합니다.

기존 협업과 동일한 name 값으로 협업 정의를 제출하면 오류가 발생합니다.

협업을 생성하고 조인하는 데는 시간이 소요되므로 협업에 조인된 시점을 알아보려면 GET_STATUS를 호출해야 합니다.

소유자가 조인한 후 나열된 모든 공동 작업자는 VIEW_COLLABORATIONS를 호출할 때 협업을 확인하고 검토 및 조인할 수 있습니다.

구문

INITIALIZE( <collaboration_spec> [, '<auto_join_warehouse>'] )
Copy

인자

collaboration_spec

YAML 형식(문자열)의 :ref:`협업 정의 <label-dcr_collaboration_invitation_yaml>`입니다.

:samp:`{auto_join_warehouse}`*(선택 사항)*

웨어하우스 이름을 유효한 Snowflake 식별자로 지정하는 문자열입니다. 지정된 경우 이 웨어하우스를 사용하여 협업이 생성되고 조인됩니다. 지정하지 않으면 현재 웨어하우스가 협업을 생성하는 데 사용되며 JOIN을 호출하여 협업에 조인해야 합니다. XS 웨어하우스가 권장됩니다.

반환

다음 열이 포함된 테이블을 반환합니다.

  • COLLABORATION_NAME: 협업의 이름입니다. 협업을 지정해야 하는 모든 프로시저에서 사용합니다.

  • MESSAGE: 초기화 요청에 대한 정보입니다.

다음 예제에서는 Alice가 소유자이고 Bob이 제공한 데이터를 사용하여 분석을 실행할 수 있는 협업을 생성합니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.INITIALIZE(
  $$
  api_version: 2.0.0
  spec_type: collaboration
  name: basic_collaboration
  owner: alice
  collaborator_identifier_aliases:
    alice: corp_id.account_id
    bob: corp2_id.account2_id
  analysis_runners:
    alice:
      data_providers:
        bob:
          data_offerings:
          - id: bob_data_v1
      templates:
      - id: alice_test_template_2026_01_12_V1
  $$,
  'APP_WH'
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

    auto-join-warehouse 매개 변수를 제공하고 SAMOOHA_APP_ROLE 이외의 역할을 사용하는 경우, 역할에 EXECUTE TASK 계정 수준 권한도 부여되어야 합니다.

추가 필수 역할 권한에 대해서는 GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE 섹션을 참조하세요.


TEARDOWN

스키마:

COLLABORATION

모든 당사자에 대한 협업을 삭제하기 위해 소유자가 호출합니다.

이 프로시저를 두 번 호출해야 합니다. 한 번 호출한 후 ``LOCAL_DROP_PENDING``이 반환될 때까지 ``GET_STATUS``를 호출한 다음 이 프로시저를 다시 호출합니다.

참고

이 프로시저는 자신이 생성하고 조인한 협업에서만 호출할 수 있습니다. 협업을 생성했지만 아직 조인하지 않은 경우 먼저 조인해야 협업을 해제할 수 있습니다.

구문

TEARDOWN( <collaboration_name> )
Copy

인자

collaboration_name

삭제할 협업의 이름입니다.

반환

문자열 성공 메시지.

-- Start the process.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.TEARDOWN($collaboration_name);

-- Call until it returns LOCAL_DROP_PENDING.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.GET_STATUS($collaboration_name);

-- Final call.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.TEARDOWN($collaboration_name);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

추가 필수 역할 권한에 대해서는 GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE 섹션을 참조하세요.


GET_STATUS

스키마:

COLLABORATION

주어진 협업의 모든 공동 작업자에 대한 정보를 표시합니다.

협업 생성 또는 조인과 같은 비동기 작업을 실행할 때 분석 실행과 같은 해당 협업에 대한 추가 작업을 수행하기 전에 마지막 작업이 완료된 시점을 알기 위해 상태를 확인해야 합니다. 이 프로시저는 협업에 초대된 모든 공동 작업자가 호출할 수 있습니다.

공동 작업 소유자는 다음 상태 경로를 볼 수 있습니다.

  • CREATING » CREATED » INSTALLING » IN_REVIEW(또는 INSTALLATION_FAILED) » JOINING » JOINED(또는 JOIN_FAILED)

소유자가 아닌 사용자에게는 다음 상태 경로가 표시됩니다.

  • INSTALLING » IN_REVIEW(또는 INSTALLATION_FAILED) » JOINING » JOINED(또는 JOIN_FAILED)

구문

GET_STATUS( <collaboration_name> )
Copy

인자

collaboration_name

상태를 확인하기 위한 협업의 이름입니다. ``COLLABORATION.VIEW_COLLABORATIONS``를 호출하여 협업 목록을 볼 수 있습니다. 협업에 초대되었거나 조인한 적이 있어야 ``GET_STATUS``를 호출할 수 있습니다.

반환

지정된 협업의 모든 공동 작업자에 대한 최신 조인 시도에 대한 세부 정보를 보여주는 테이블입니다. 테이블에는 다음 열이 포함됩니다.

  • UPDATED_ON: 시스템에서 상태를 보고한 시점의 타임스탬프입니다.

  • COLLABORATOR_ACCOUNT: 이 공동 작업자의 데이터 공유 계정 ID입니다.

  • COLLABORATOR_NAME: 협업 사양에 선언된 공동 작업자의 별칭입니다.

  • COLLABORATOR_ROLES: 이 공동 작업자의 실제 역할과 잠재적 역할입니다. 값에는 owner, data_provider, ``analysis_runner``가 포함됩니다.

  • STATUS: 업데이트된 시간의 상태입니다. 다음 값이 지원되며 지정된 협업에서 명명된 공동 작업자의 상태를 보여줍니다.

    • CREATING: 협업 생성이 시작되었습니다.

    • CREATE_FAILED: 협업 생성에 실패했습니다.

    • CREATED: 협업이 생성되어 작업할 준비가 되었습니다.

    • INSTALLING: 애플리케이션 패키지를 설치하고 검토를 위한 협업 세부 정보를 준비하는 중입니다.

    • IN_REVIEW: 협업을 검토 중입니다.

    • INSTALLATION_FAILED: 설치에 실패했습니다. 애플리케이션 패키지가 설치되지 않아 검토할 수 없습니다.

    • INVITED: 참여자가 초대되었습니다.

    • REVIEWING: 현재 협업을 검토 중입니다.

    • JOINING: 조인 프로세스가 시작되었습니다.

    • JOIN_FAILED: 조인 프로세스가 실패했습니다.

    • JOINED: 협업에 성공적으로 조인했습니다. 협업 사용을 시작할 수 있습니다.

    • INVITE_STARTED: 초대 프로세스가 시작되었습니다.

    • INVITE_ACCEPTED: 초대가 수락되었습니다.

    • LEAVING: 나가기 프로세스가 시작되었습니다.

    • LEAVE_FAILED: 나가기 프로세스가 실패했습니다.

    • LEFT: 협업에서 성공적으로 나갔습니다.

    • LOCAL_DROP_PENDING: 협업을 삭제하거나 협업에서 나가는 요청을 완료했습니다. TEARDOWN 또는 ``LEAVE``를 다시 호출하여 프로세스를 완료합니다.

    • DROPPING: 삭제 프로세스가 시작되었습니다.

    • DROPPED: 성공적으로 삭제했습니다.

    • DROP_FAILED: 삭제 프로세스가 실패했습니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.GET_STATUS(
  $collaboration_name
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


ENABLE_EXTERNAL_TABLE_ANALYSIS_FOR_COLLABORATION

스키마:

ADMIN

계정에서 분석을 실행하는 데 사용할 외부 테이블 및 Apache Iceberg™ 테이블을 활성화합니다. 분석 실행자는 외부 또는 Iceberg 테이블을 포함하는 분석을 실행하기 전에 이를 호출해야 합니다. 이 프로시저는 분석당 한 번이 아닌 협업당 한 번 호출됩니다.

구문

ENABLE_EXTERNAL_TABLE_ANALYSIS_FOR_COLLABORATION( <collaboration_name> )
Copy

인자

collaboration_name

협업의 이름입니다.

반환

문자열 성공 메시지.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.ENABLE_EXTERNAL_TABLE_ANALYSIS_FOR_COLLABORATION(
  $collaboration_name
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 MANAGE FIREWALL CONFIGURATION 권한이 부여된 역할을 사용하여 이 프로시저를 호출해야 합니다.


VIEW_COLLABORATIONS

스키마:

COLLABORATION

자신이 생성했거나, 검토할 수 있거나, 조인한 협업에 대한 정보를 확인합니다.

구문

VIEW_COLLABORATIONS()
Copy

인자

없음

반환

액세스할 수 있는 모든 협업의 세부 정보를 나열하는 테이블입니다. 테이블에는 다음 열이 포함됩니다.

  • SOURCE_NAME: 협업 사양의 name 값으로 지정된 협업의 이름입니다.

  • COLLABORATION_NAME: 설치된 협업의 이름입니다. 이는 ``JOIN``(소유자) 또는 ``REVIEW``(비소유자)를 호출하여 협업이 설치될 때까지 NULL입니다.

  • OWNER_ACCOUNT: 협업을 생성한 계정의 데이터 공유 ID입니다.

  • UPDATED_ON: 협업이 마지막으로 업데이트된 시점입니다.

  • COLLABORATION_SPEC: 이 협업에 대한 YAML 형식의 사양입니다. 여기에는 협업이 생성된 후 추가되거나 제거된 모든 리소스를 포함하여 협업의 최신 버전이 표시됩니다. 그러나 새로운 템플릿이나 제거된 템플릿 또는 데이터 오퍼링과 같이 곧 추가될 진행 중인 업데이트 요청이 있을 수 있습니다.

모든 협업을 확인합니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_COLLABORATIONS();
Copy

주어진 협업에 대한 사양을 이름별로 확인합니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_COLLABORATIONS() ->>
SELECT "COLLABORATION_SPEC" FROM $1 WHERE "SOURCE_NAME" = $collaboration_name;
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('RUN', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW COLLABORATIONS', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


REVIEW

스키마:

COLLABORATION

초대된 협업에 대한 세부 정보를 제공합니다. COLLABORATION.VIEW_COLLABORATIONS``를 호출하여 초대를 받았지만 아직 조인하지 않은 협업을 확인합니다. 소유자를 제외한 모든 공동 작업자는 ``JOIN``을 호출하기 전에 프로시저를 호출해야 합니다. 조인한 협업에서는 프로시저를 호출할 없습니다. ``REVIEW``JOIN``을 호출하려면 동일한 역할을 사용해야 합니다. 계정이 소유자와 다른 클라우드 호스팅 리전에 있는 경우 성공적인 응답을 반환할 때까지 이 프로시저를 여러 번 호출해야 할 수 있습니다.

이 프로시저에서는 계정에 기본 애플리케이션을 설치합니다.

중요 참고 사항:

  • 소유자는 자체 협업에 대해 ``REVIEW``를 호출할 수 없습니다.

  • 소유자를 제외한 모든 사용자는 ``JOIN``을 호출하기 전에 ``REVIEW``를 호출해야 합니다.

  • 협업에 참여한 후에는 ``REVIEW``를 다시 호출할 수 없습니다.

구문

REVIEW( <source_name>, <owner_account> )
Copy

인자

source_name

조인하도록 초대된 협업의 이름입니다. ``COLLABORATION.VIEW_COLLABORATIONS``를 호출하여 협업 목록을 볼 수 있습니다.

owner_account

소유자의 :ref:`데이터 공유 계정 식별자 <label-account_name_data_sharing>`입니다. 이는 ``COLLABORATION.VIEW_COLLABORATIONS``에 대한 응답에서 확인할 수 있습니다.

반환

협업 ID, 소유자 및 협업 사양을 포함하여 협업에 대한 정보 테이블입니다.

계정이 협업 소유자와 :ref:`다른 클라우드 호스팅 리전 <label-dcr_collab_enabling_laf>`에 있는 경우 ``REVIEW``는 추가 설정 단계가 아직 수행 중이라는 메시지를 반환할 수 있습니다. 이 메시지가 표시되면 협업에 대한 정보 테이블을 반환할 때까지 ``REVIEW``를 계속 호출합니다.

-- View the collaboration for your own usage.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.REVIEW(
  $collaboration_name,
  'org1.account1234'
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

추가 필수 역할 권한에 대해서는 GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE 섹션을 참조하세요.


JOIN

스키마:

COLLABORATION

지정된 협업에 조인할 비동기 메서드입니다. 조인 시점에는 협업에 나열된 리소스에만 액세스할 수 있습니다. 이 프로시저는 실행하는 데 다소 시간이 소요됩니다.

데이터를 활성화할 수 있는 모든 협업에 조인하려면 REGISTER DATA OFFERING 계정 권한(즉, 분석 실행자이고 협업 사양에 activation_destinations 필드가 포함되어 있음)이 필요합니다. :ref:`액세스 관리 API 참조 가이드 <label-dcr_collaboration_access_management_api>`를 참조하세요.

이 프로시저를 실행할 때 활성 보조 역할을 가질 수 없습니다. 다음 SQL 코드를 실행하여 보조 역할을 비활성화합니다.

USE SECONDARY ROLES NONE;
Copy

협업 생성자를 제외한 모든 사용자는 이 프로시저를 호출하기 전에 ``COLLABORATION.REVIEW``를 호출해야 합니다.

이 프로시저는 비동기적입니다. ``GET_STATUS``를 호출하여 협업에 성공적으로 조인한 시점을 확인할 수 있습니다.

협업에 리소스를 제출하거나 협업에서 템플릿을 실행하려는 사용자는 먼저 협업에 조인해야 합니다.``INITIALIZE``를 호출하면 협업 생성자가 자동으로 조인됩니다(``auto_join_warehouse``가 제공되지 않는 한).

구문

JOIN( <collaboration_name> )
Copy

인자

collaboration_name

조인할 협업의 이름입니다. ``COLLABORATION.VIEW_COLLABORATIONS``를 호출하여 협업 목록을 볼 수 있습니다. 동일한 이름의 여러 협업에 초대를 받은 경우, 기본값은 마지막으로 ``COLLABORATION.REVIEW``를 호출한 협업으로 설정됩니다.

반환

문자열 성공 메시지. 참조 사용 권한 누락에 대한 오류가 발생하는 경우 :ref:`문제 해결 가이드 <label-dcr_database_missing_reference_usage_error>`를 참조하세요.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.JOIN(
  $collaboration_name
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

추가 필수 역할 권한에 대해서는 GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE 섹션을 참조하세요.


LEAVE

스키마:

COLLABORATION

자신이 조인한 협업에서 나갑니다. 협업에서 나간 후에는 다시 조인할 수 없습니다.

이 프로시저를 두 번 호출해야 합니다. 한 번 호출한 후 ``LOCAL_DROP_PENDING``이 반환될 때까지 ``GET_STATUS``를 호출한 다음 이 프로시저를 다시 호출합니다.

구문

LEAVE( <collaboration_name> )
Copy

인자

collaboration_name

나갈 협업의 이름입니다.

반환

문자열 성공 메시지.

-- Start the process.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.LEAVE($collaboration_name);

-- Call until it returns LOCAL_DROP_PENDING.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.GET_STATUS($collaboration_name);

-- Final call.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.LEAVE($collaboration_name);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

추가 필수 역할 권한에 대해서는 GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE 섹션을 참조하세요.

분석 및 활성화 실행

RUN

스키마:

COLLABORATION

데이터 Clean Room에서 분석을 실행합니다. 실행 세부 정보는 개별 매개 변수로 또는 :ref:`분석 YAML 사양 문자열 <label-dcr_collaboration_analysis_yaml>`을 전달하여 전달할 수 있습니다.

데이터 Clean Room에서 템플릿을 실행하는 방법에 대한 배경은 :ref:`consumer.run_analysis <dcr_consumer_run_analysis>`를 확인하세요.

이 프로시저에는 실행 인자를 단일 YAML 형식의 문자열로 사용하는 버전 및 인자를 개별 매개 변수로 사용하는 버전의 두 가지 버전이 있습니다.

YAML 인자 구문

RUN( <collaboration_name>, <analysis_spec> )
Copy
인자
collaboration_name

이 분석을 실행할 협업의 이름입니다.

analysis_spec

이 분석에 사용할 템플릿, 테이블, 템플릿 값을 설명하는 YAML 형식(문자열)의 :ref:`분석 정의 <label-dcr_collaboration_analysis_yaml>`입니다.

명시적 매개 변수 구문

RUN( <collaboration_name>, <template_id>, <template_view_names>, <local_template_view_names>, <arguments> )
Copy
인자
collaboration_name

이 분석을 실행할 협업의 이름입니다.

template_id

실행할 템플릿의 ID입니다.

template_view_names

분석에 사용할 소스 테이블의 문자열 이름으로 구성된 배열입니다. TEMPLATE_VIEW_NAME 열에서 ``VIEW_DATA_OFFERINGS``로 반환된 테이블 이름을 사용합니다. 각 항목의 형식은 :samp:`{user_alias}.{data_offering_id}.{dataset_alias}`입니다.

local_template_view_names

분석에 사용할 자체 테이블의 문자열 IDs 배열입니다. 이러한 테이블을 연결하려면 먼저 ``LINK_LOCAL_DATA_OFFERING``을 호출해야 합니다.

arguments

템플릿에서 사용하는 명명된 인자를 포함하는 JSON 오브젝트로, 여기서 각 키는 템플릿 인자 이름이고 값은 해당 인자의 값입니다.

반환

테이블 형식의 분석 결과.

매개 변수로 전달의 예제는 다음과 같습니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.RUN(
  $collaboration_name,
  $template_name,
  ['Provider.data_offering_1_2026_01_12_v0.test_dataset'], -- Tables to pass to source_tables variable.
  [],
  {} -- Template takes no parameters.
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('RUN', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


VIEW_ACTIVATIONS

스키마:

COLLABORATION

공동 작업자에게 전송하기 위해 트리거한 분석 실행 또는 공동 작업자가 사용자에게 전송하기 위해 트리거한 활성화의 활성화 상태를 표시합니다. 자신에게 데이터를 보내기 위한 활성화 요청은 나열되지 않습니다.

활성화에 대한 자세한 내용은 쿼리 결과 활성화 섹션을 참조하세요.

구문

VIEW_ACTIVATIONS( <collaboration_name> )
Copy

인자

collaboration_name

협업의 이름입니다.

반환

각 활성화에 대한 세부 정보가 포함된 테이블입니다. 테이블에는 다음 열이 포함됩니다.

  • UPDATED_ON: 상태가 마지막으로 업데이트된 시점입니다.

  • SEGMENT_NAME: 이 활성화를 식별하기 위해 분석 실행자가 할당한 임의의 문자열입니다. 자세한 내용은 쿼리 결과 활성화하기 섹션을 참조하십시오.

  • ACTIVATION_ID: 이 활성화 요청의 ID입니다. 자세한 내용은 공급자 및 컨슈머 활성화 결과 보기 섹션을 참조하십시오.

  • TEMPLATE_ID: 이 활성화 데이터를 생성하는 데 사용되는 템플릿입니다.

  • SHARED_BY: 분석을 실행한 공동 작업자입니다.

  • SHARED_WITH: 분석 데이터를 수신해야 하는 공동 작업자입니다.

  • STATUS: 활성화의 상태입니다. 다음 값이 지원됩니다.

    • PENDING: 활성화가 요청되었지만 처리 대기 중입니다.

    • SHARED: 활성화 데이터를 처리할 준비가 되었습니다. ``PROCESS_ACTIVATION``을 호출하여 결과를 계정으로 보냅니다.

    • FAILED: 활성화 처리에 실패했습니다. DETAILS 열의 정보를 참조하세요.

    • PROCESSED: 활성화 결과가 활성화 요청에 지정된 계정으로 전송되었습니다.

  • DETAILS: 활성화에 실패한 경우의 실패 세부 정보입니다.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_ACTIVATIONS(
  $collaboration_name
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW ACTIVATIONS', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('RUN', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


PROCESS_ACTIVATION

스키마:

COLLABORATION

분석 실행자가 다른 공동 작업자의 계정으로 데이터를 보내는 경우 해당 공동 작업자는 ``PROCESS_ACTIVATION``을 호출하여 활성화 데이터를 자신의 계정으로 가져옵니다. 공동 작업자는 ``PROCESS_ACTIVATION``을 호출하기 전에 ``VIEW_ACTIVATIONS``를 호출하고 주어진 세그먼트의 활성화 상태가 ``SHARED``임을 출력에 표시할 때까지 기다려야 합니다.

구문

PROCESS_ACTIVATION( <collaboration_name>, <segment_name> )
Copy

인자

collaboration_name

협업의 이름입니다.

segment_name

결과 테이블에서 이 활성화를 식별하기 위해 할당된 임의의 문자열입니다. 세그먼트 이름은 ``template_configuration.arguments.segment_name``을 사용하여 분석 쿼리에 할당됩니다. 자세한 내용은 쿼리 결과 활성화하기 섹션을 참조하십시오.

반환

사용자가 결과를 검색할 수 있는 테이블 이름 및 결과에 대해 지정된 세그먼트 이름입니다. 결과를 읽는 방법에 대해 알아보려면 쿼리 결과 활성화 섹션을 참조하세요.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.PROCESS_ACTIVATION(
  $collaboration_name,
  'q1_2025_segment'
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저 중 하나를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('PROCESS ACTIVATION', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

레지스트리 관리 프로시저

CREATE_REGISTRY

스키마:

REGISTRY

사용자 지정 레지스트리를 생성하여 템플릿 및 데이터 오퍼링과 같은 리소스를 구성합니다. 사용자 지정 레지스트리는 레지스트리를 생성할 때 지정된 단일 유형의 리소스를 저장할 수 있습니다.

사용자 지정 레지스트리를 사용하여 기본 로컬 레지스트리와 별도로 관련 리소스를 그룹화합니다. 선택적 레지스트리 이름 매개 변수를 사용하여 이 레지스트리에 리소스를 추가합니다.

구문

CREATE_REGISTRY( '<registry_name>', <registry_type> )
Copy

인자

registry_name

생성할 레지스트리의 이름입니다. 계정의 모든 레지스트리에서 고유한 이름이어야 합니다.

registry_type

이 레지스트리에 포함될 리소스의 유형입니다. 지원되는 값은 TEMPLATE, ``DATA OFFERING``입니다.

반환

문자열 성공 메시지.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.CREATE_REGISTRY(
  'my_custom_registry',
  'TEMPLATE'
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE REGISTRY', 'role name')


DROP_REGISTRY

스키마:

REGISTRY

사용자 지정 레지스트리를 삭제하고 여기에 포함된 모든 오브젝트의 등록을 해제합니다. 자신이 생성한 레지스트리만 삭제할 수 있습니다.

구문

DROP_REGISTRY( '<registry_name>' )
Copy

인자

registry_name

삭제할 레지스트리의 이름입니다.

반환

문자열 성공 메시지.

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.DROP_REGISTRY(
  'my_custom_registry'
);
Copy

액세스 요구 사항

SAMOOHA_APP_ROLE 역할을 사용하지 않는 경우 다음 프로시저를 호출하여 권한이 부여된 역할을 사용해야 합니다.

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE REGISTRY', 'role name')

액세스 관리 프로시저

SAMOOHA_APP_ROLE 역할은 모든 DCR Collaboration API 프로시저에 대한 액세스 권한을 부여합니다. 그러나 관리자가 특정 역할에 더 세분화된 권한을 부여하려는 경우 이 섹션에 설명된 절차에 따라 역할을 생성하고 특정 권한을 부여할 수 있습니다.

:ref:`label-dcr_collaboration_access_management_overview`에서 액세스 권한 부여에 대해 자세히 알아보세요.

다음 프로시저는 Snowflake Data Clean Room Collaboration API에 대한 세분화된 액세스를 관리하는 데 사용됩니다.

GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE

스키마:

ADMIN

특정 오브젝트에 대한 특정 프로시저를 호출할 수 있는 권한을 특정 역할에 부여합니다. 오브젝트 유형은 OBJECT_TYPE 인자를 사용하여 정의됩니다.

이 프로시저를 여러 번 호출하여 동일한 역할에 여러 권한을 부여할 수 있습니다. 오브젝트를 소유한 역할을 사용하여 이 프로시저를 실행합니다.

구문

GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(
  <privilege>,
  <object_type>,
  <object_name>,
  <account_role_name> )
Copy

인자

privilege

이 역할에 부여해야 하는 권한입니다. 어떤 오브젝트에 어떤 권한을 사용할 수 있는지 알아보려면 아래 테이블을 참조하세요.

object_type

이 역할에 권한이 부여되는 오브젝트의 유형입니다. 지원되는 값:

  • COLLABORATION

  • REGISTRY

object_name

오브젝트의 사양에 지정된 오브젝트의 ID입니다.

account_role_name

부여되는 역할입니다.

다음 권한 및 오브젝트 유형 조합이 지원됩니다.

권한

오브젝트 타입

활성화된 프로시저

READ

COLLABORATION

VIEW_COLLABORATIONS, GET_STATUS, VIEW_DATA_OFFERINGS, VIEW_UPDATE_REQUESTS, VIEW_TEMPLATES

RUN

COLLABORATION

RUN, VIEW_ACTIVATIONS, VIEW_COLLABORATIONS

UPDATE

COLLABORATION

LINK_DATA_OFFERING, UNLINK_DATA_OFFERING, LINK_LOCAL_DATA_OFFERING, UNLINK_LOCAL_DATA_OFFERING, ADD_TEMPLATE_REQUEST, REMOVE_TEMPLATE, APPROVE_UPDATE_REQUEST, REJECT_UPDATE_REQUEST, ENABLE_TEMPLATE_AUTO_APPROVAL, DISABLE_TEMPLATE_AUTO_APPROVAL, VIEW_UPDATE_REQUESTS

READ

REGISTRY

:doc:`사용자 지정 레지스트리 </user-guide/cleanrooms/v2/registries>`에 등록된 리소스를 확인합니다.

REGISTER

REGISTRY

템플릿 및 데이터 오퍼링과 같은 리소스를 :doc:`사용자 지정 레지스트리 </user-guide/cleanrooms/v2/registries>`에 등록합니다.

반환

문자열 성공 메시지.

이 예제에서는 분석가가 ``my_collaboration``이라는 협업에서 분석을 실행하는 데 사용할 역할을 생성하고 이를 사용자에게 할당합니다.

USE ROLE role_that_created_this_collaboration;

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(
  'RUN',
  'COLLABORATION',
  $collaboration_name,
  'collaborator_analyst_role'
);
GRANT ROLE collaborator_analyst_role to USER alexander_hamilton;
Copy

액세스 요구 사항

해당 오브젝트에 대한 ``GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE``을 호출하려면 오브젝트를 생성한 역할과 동일한 역할을 사용해야 합니다.


GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE

스키마:

ADMIN

역할에 계정 수준 권한을 부여합니다. 이 프로시저를 사용하면 해당 역할을 사용하는 모든 사용자가 해당 권한에 대해 나열된 프로시저를 호출할 수 있습니다.

구문

GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE( <privilege>, <account_role_name> )
Copy

인자

privilege

이 역할을 부여할 권한입니다. 지원되는 문자열 값은 다음과 같습니다.

  • JOIN COLLABORATION: COLLABORATION.JOIN 및 조인된 협업에 대한 다음 프로시저를 실행할 수 있는 권한을 부여합니다.

    • ADMIN.GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE

    • COLLABORATION.ADD_TEMPLATE_REQUEST

    • COLLABORATION.APPROVE_UPDATE_REQUEST

    • COLLABORATION.ENABLE_TEMPLATE_AUTO_APPROVAL

    • COLLABORATION.DISABLE_TEMPLATE_AUTO_APPROVAL

    • COLLABORATION.REMOVE_TEMPLATE

    • COLLABORATION.GET_STATUS

    • COLLABORATION.LEAVE

    • COLLABORATION.LINK_DATA_OFFERING

    • COLLABORATION.LINK_LOCAL_DATA_OFFERING

    • COLLABORATION.PROCESS_ACTIVATION

    • COLLABORATION.REJECT_UPDATE_REQUEST

    • COLLABORATION.REVIEW

    • COLLABORATION.RUN

    • COLLABORATION.TEARDOWN

    • COLLABORATION.UNLINK_DATA_OFFERING

    • COLLABORATION.UNLINK_LOCAL_DATA_OFFERING

    • COLLABORATION.VIEW_ACTIVATIONS

    • COLLABORATION.VIEW_COLLABORATIONS

    • COLLABORATION.VIEW_DATA_OFFERINGS

    • COLLABORATION.VIEW_TEMPLATES

    • COLLABORATION.VIEW_UPDATE_REQUESTS

    • REGISTRY.VIEW_REGISTERED_DATA_OFFERINGS

    • REGISTRY.VIEW_REGISTERED_TEMPLATES

    이 권한을 사용하려면 다음과 같은 계정 수준 권한을 역할에 수동으로 부여해야 합니다.

    • APPLY ROW ACCESS POLICY

    • CREATE APPLICATION

    • CREATE DATABASE

    • CREATE LISTING

    • CREATE SHARE

    • IMPORT SHARE

    • MANAGE SHARE TARGET

  • CREATE COLLABORATION: COLLABORATION.INITIALIZE 권한 및 조인된 협업에 대해 ``JOIN COLLABORATION``에서 허용하는 모든 프로시저를 실행할 수 있는 권한을 부여합니다. 역할에 다음 계정 수준의 권한을 수동으로 부여해야 합니다.

    • APPLY ROW ACCESS POLICY

    • CREATE APPLICATION

    • CREATE DATABASE

    • CREATE LISTING

    • CREATE SHARE

    • IMPORT SHARE

    • MANAGE SHARE TARGET

    • EXECUTE TASK(INITIALIZE 프로시저에서 자동 조인을 사용하는 경우)

  • VIEW COLLABORATIONS: ``COLLABORATION.VIEW_COLLABORATIONS``를 실행할 수 있는 권한을 부여합니다. 역할에 다음 권한을 수동으로 부여해야 합니다.

    • IMPORT SHARE

  • REGISTER DATA OFFERING: ``REGISTRY.REGISTER_DATA_OFFERING``를 실행할 수 있는 권한을 부여합니다. 분석 실행자가 활성화를 구현하는 협업에 조인하려면 이 권한이 필요합니다.

  • VIEW REGISTERED DATA OFFERINGS: ``REGISTRY.VIEW_REGISTERED_DATA_OFFERINGS``를 실행할 수 있는 권한을 부여합니다.

  • VIEW REGISTERED TEMPLATES: ``REGISTRY.VIEW_REGISTERED_TEMPLATES``를 실행할 수 있는 권한을 부여합니다.

  • REGISTER TEMPLATE: ``REGISTRY.REGISTER_TEMPLATE``를 실행할 수 있는 권한을 부여합니다.

  • CREATE REGISTRY: REGISTRY.CREATE_REGISTRY, ``REGISTRY.DROP_REGISTRY``를 실행할 수 있는 권한 및 사용자 지정 레지스트리에서 읽을 수 있는 권한을 부여합니다.

  • MANAGE LISTING AUTO FULFILLMENT: 공동 작업자가 다른 클라우드 호스팅 리전에서 협업에 조인할 수 있는 권한을 부여합니다. 자세한 내용은 클라우드 간 자동 복제 활성화 섹션을 참조하십시오.

account_role_name

계정 수준 역할의 이름입니다.

반환

문자열 성공 메시지.

USE ROLE ACCOUNTADMIN;
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE(
  'REGISTER DATA OFFERING',
  'COLLABORATOR_ANALYST_ROLE'
);
Copy

액세스 요구 사항

이 프로시저를 실행하려면 ACCOUNTADMIN 역할이 필요합니다.