레지스트리¶
개요¶
공동 작업에서 템플릿 또는 데이터 오퍼링과 같은 리소스를 사용하려면 먼저 레지스트리에 등록해야 합니다. 레지스트리는 이러한 리소스를 저장하도록 설계된 계정 수준 컨테이너입니다. 등록되면 레지스트리에 대한 액세스 권한과 해당 특정 공동 작업에 필요한 연결 권한이 있는 계정의 모든 사용자가 레지스트리의 모든 리소스를 공동 작업에 연결할 수 있습니다. 특히, 레지스트리는 특정 공동 작업과 무관합니다. 등록된 리소스는 해당 계정 내에서 원하는 수의 공동 작업에 연결하거나 전혀 연결하지 않을 수 있습니다.
각 Snowflake 계정은 기본 레지스트리를 지원합니다. 계정에 대한 추가 사용자 지정 레지스트리를 생성할 수 있습니다. 사용자 지정 레지스트리는 리소스에 대한 액세스를 그룹화하고 관리하는 좋은 방법입니다. 예를 들어, 판매 데이터를 위한 사용자 지정 레지스트리와 지출 데이터를 위한 다른 사용자 지정 레지스트리를 생성한 다음, DCR 권한 및 사용자 지정 RBAC 역할 을 통해 적절한 사용자에게 이러한 레지스트리에 대한 액세스 권한을 부여할 수 있습니다.
레지스트리 규칙¶
레지스트리에 대한 주요 규칙은 다음과 같습니다.
레지스트리는 계정 수준 오브젝트입니다. 사용자는 자신의 계정에 있는 레지스트리만 보고 액세스할 수 있습니다. 그러나 레지스트리의 리소스가 공동 작업에 연결되면 사양에 따라 리소스에 액세스할 수 있는 모든 사용자가 리소스를 볼 수 있습니다. 포함하는 레지스트리에 액세스할 필요가 없습니다.
각 사용자 지정 레지스트리는 단일 리소스 유형(템플릿, 데이터 오퍼링 등)을 지원합니다. 리소스 유형은 레지스트리를 생성할 때 지정됩니다. 기본 레지스트리는 모든 리소스 유형을 지원합니다.
계정에서 생성할 수 있는 사용자 지정 레지스트리 수에는 제한이 없습니다.
리소스를 등록할 때 선택적 레지스트리 이름 매개 변수를 사용하여 사용자 지정 레지스트리를 지정할 수 있습니다. 사용자 지정 레지스트리를 지정하지 않으면 리소스가 계정의 기본 레지스트리에 등록됩니다.
모든 사용자는 계정의 기본 레지스트리에 액세스할 수 있습니다. 그러나 사용자 지정 레지스트리는 처음에 생성자에게 비공개이며 추가 사용자에게는 ``GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE``을 호출하여 명시적으로 액세스 권한을 부여해야 합니다.
계정에는 동일한 리소스 유형을 저장하는 여러 레지스트리가 있을 수 있습니다.
레지스트리에는 최대 리소스 수가 없습니다.
리소스의 이름은 해당 유형의 리소스에 대해 해당 계정의 모든 레지스트리에서 고유해야 합니다. 예를 들어, 동일한 계정에 이름이
sales``인 템플릿 및 이름이 ``sales``인 데이터 오퍼링이 있을 수 있지만, 동일한 계정에서 동일하거나 동일하지 않은 레지스트리에 이름이 ``sales``인 두 개의 템플릿이 있을 수는 없습니다. 리소스 이름은 사양에서 최상위 수준 ``name값으로 정의됩니다.두 개의 서로 다른 계정이 동일한 이름과 유형의 리소스를 공동 작업에 연결하는 경우는 허용됩니다. 공동 작업 사양에는 동일한 이름의 리소스가 표시되지만, 시스템은 의도된 리소스를 알 수 있습니다. 즉, 해당 이름의 리소스는 공동 작업에 리소스를 연결한 계정에서 사용됩니다.
예¶
이 예제에서는 사용자 지정 레지스트리를 생성하고, 여기에 템플릿을 등록하고, 새 역할에 해당 레지스트리에 대한 읽기 액세스 권한을 부여합니다. 해당 역할의 사용자는 해당 레지스트리의 템플릿을 공동 작업에 연결할 수 있습니다.