연락처 사용하기¶
연락처는 사용자 또는 사용자 그룹과 통신하는 방법에 대한 세부 정보가 포함된 스키마 수준의 오브젝트입니다. 예를 들어, data_stewards
라는 연락처에는 이메일 배포 목록이 포함될 수 있고 support_department
라는 연락처에는 부서 웹사이트의 URL 이 포함될 수 있습니다.
연락처를 데이터베이스 및 테이블과 같은 다른 오브젝트와 연결할 수 있으므로 사용자는 해당 오브젝트에 대한 도움을 받기 위해 누구에게 연락해야 하는지 알 수 있습니다. 예를 들어, 테이블에 액세스하기 위해 누구에게 연락해야 하는지 설명하는 연락처가 테이블에 있을 수 있습니다. 연락처의 목적은 연락처의 속성이 아니라 연락처와 특정 오브젝트 간의 연관성입니다. 예를 들어, 동일한 담당자가 한 테이블에 대한 일반 지원을 제공하면서 다른 테이블에 대한 액세스 승인을 제공할 수 있습니다.
각 연락처의 목적이 오브젝트에 고유하다면 오브젝트에는 2개 이상의 연락처가 있을 수 있습니다. 예를 들어, 한 테이블에 테이블에 대한 액세스 권한을 부여하는 연락처와 테이블에 대한 일반적인 지원을 제공하는 연락처가 있을 수 있습니다. 사용자는 오브젝트와 연결된 연락처를 볼 때 각 연락처의 목적과 연락 방법을 볼 수 있으므로 특정 이유로 누구와 소통해야 하는지, 어떻게 연락해야 하는지 알 수 있습니다.
데이터 사용자는 Snowsight 의 Data 메뉴를 사용하여 데이터베이스, 스키마 및 테이블과 같은 오브젝트를 탐색할 때 이러한 연락처를 볼 수 있습니다.
연락처 상속 및 재정의¶
연락처는 하위 오브젝트에 의해 상속됩니다. 연락처를 다른 오브젝트의 상위 항목인 오브젝트와 연결하면 하위 항목인 자식, 손자 등이 연락처를 상속받습니다. 예를 들어, 연락처를 스키마와 연결하면 스키마의 모든 테이블이 기본적으로 연락처를 상속받습니다.
하위 오브젝트에 동일한 목적을 가진 연락처가 있는 경우 연락처 상속이 재정의됩니다. 예를 들어, 다음 두 연락처를 t1
테이블이 있는 ac_sch
스키마에 연결한다고 가정해 보겠습니다.
연락처 |
목적 |
---|---|
|
Steward |
|
Approver |
이제 누군가 액세스 승인을 위해 finance_dept
연락처를 t1
연락처와 연결한다고 가정해 보겠습니다. 이제 t1
에 연결된 연락처는 다음과 같습니다.
연락처 |
목적 |
---|---|
|
Steward |
|
Approver |
ac_schema
에서 액세스 승인을 담당하는 연락처가 t1
과 직접 연결된 연락처로 대체되었지만, t1
은 스키마에서 data_stewards
연 락처를 계속 상속받습니다.
지원되는 오브젝트¶
연락처를 다음 오브젝트와 연결할 수 있습니다.
|
|
|
연락처 만들기¶
연락처를 만들 때 연락처의 이름과 연락처와 소통하는 방법을 지정합니다. 커뮤니케이션 방법에는 다음이 포함됩니다.
웹사이트의 URL.
이메일 주소(배포 목록이 될 수 있음).
Snowflake 사용자 목록입니다.
Snowsight 또는SQL 을 사용하여 연락처를 만들 수 있습니다. 모든 연락처를 전용 스키마로 만드는 것이 도움이 될 수 있습니다.
- Snowsight:
Snowsight 에 로그인합니다.
Data 를 선택합니다.
연락처를 만들려는 스키마로 이동합니다.
Create » Contact 를 선택합니다.
연락처의 이름을 지정합니다.
통신 방법을 선택한 다음 데이터 사용자가 오브젝트에 대한 지원을 받기 위해 연락할 이메일 주소, 사용자 또는 URL 을 지정합니다.
연락처를 오브젝트와 연결할 수 있는 기능이 있는 역할을 선택합니다. 이러한 역할에는 연락처에 대한 APPLY 권한이 부여됩니다.
Create 를 선택합니다.
- SQL:
CREATE CONTACT 명령을 실행하여 새 연락처를 만들 수 있습니다.
예
웹사이트를 통해 연락할 수 있는 지원팀 연락처를 생성합니다.
CREATE CONTACT support_dept URL = 'http://internalsupport.example.com';
이메일 주소로 연락할 수 있는 재무팀 연락처를 만들어 배포 목록 역할을 하십시오.
CREATE CONTACT finance_dept EMAIL_DISTRIBUTION_LIST = 'fd_dl@example.com';
Snowflake 사용자 오브젝트의 이름으로 식별되는 데이터베이스 관리자를 위한 연락처를 만듭니다.
CREATE CONTACT db_admins USERS = (ex_admin1, ex_admin2);
연락처를 오브젝트와 연결하기¶
연락처를 오브젝트와 연결할 때는 연락처와 오브젝트 간의 연결 목적과 함께 연락처의 이름을 지정합니다. 사용자가 오브젝트와 연결된 모든 연락처를 볼 때, 각 연락처의 목적에 따라 누구와 소통할지 결정할 수 있습니다.
연락처를 오브젝트와 연결하는 목적은 다음 중 하나일 수 있습니다.
목적 |
설명 |
SQL 값 |
---|---|---|
Steward |
데이터의 정확성, 일관성 및 신뢰성에 대한 정보를 제공합니다. |
|
지원 |
데이터 세트와 관련된 기술 지원을 제공합니다. |
|
Approver |
데이터 액세스 요청을 승인하거나 거부합니다. |
|
기존 오브젝트를 수정하거나 새 오브젝트를 만들 때 연락처를 연결하고 용도를 정의할 수 있습니다.
연락처를 기존 오브젝트와 연결하기¶
- Snowsight:
Snowsight 에 로그인합니다.
Data » Databases 를 선택합니다.
지원되는 오브젝트 중 하나로 이동합니다.
Details 탭을 선택합니다.
Assigned Contacts 섹션을 찾아 Edit 아이콘을 선택합니다.
1개 이상의 목적에 맞는 연락처를 선택합니다. 예를 들어, Approver 드롭다운 목록에서 연락처를 선택하면 데이터 사용자가 해당 오브젝트에 액세스해야 할 때 해당 연락처로 연락하게 됩니다.
Save 를 선택합니다.
- SQL:
기존 오브젝트에 대한 ALTER … SET CONTACT 명령을 사용하면 연락처를 연결하고 해당 오브젝트에 대한 연락처의 용도를 지정할 수 있습니다. 연락처를 연결하는 구문은 연락처와 연결할 수 있는 모든 오브젝트에 대해 동일합니다.
ALTER <object_type> <object_name> SET CONTACT <purpose> = <contact_name> [ , <purpose> = <contact_name> ... ]
purpose
는 연락처와 오브젝트의 관계를 설명하는 사전 정의된 목적 중 하나여야 합니다. 사용자는 오브젝트의 연락처를 볼 때 이 목적을 사용하여 어떤 연락처와 소통할지 결정합니다.예
finance_dept
연락처를 테이블에 연결하여 사용자가 테이블에 액세스해야 할 때 누구와 소통해야 하는지 알 수 있도록 하십시오.ALTER TABLE t1 SET CONTACT ACCESS_APPROVAL = finance_dept;
internal_support
연락처를 데이터베이스에 연결하여 사용자가 데이터베이스의 테이블에 대한 일반적인 지원이 필요할 때 누구와 소통해야 하는지 알 수 있도록 하십시오.ALTER DATABASE my_db SET CONTACT SUPPORT = internal_support;
data_stewards
연락처를 스키마와 연결하여 사용자가 스키마에서 테이블의 오브젝트 태그와 관련하여 누구와 소통해야 하는지 알 수 있도록 합니다.ALTER SCHEMA sch1 SET CONTACT STEWARD = data_stewards;
새 오브젝트 생성 시 연락처 연결하기¶
CREATE … WITH CONTACT 명령을 사용하면 연락처를 새 오브젝트에 연결할 수 있습니다. WITH CONTACT 절의 구문은 연락처와 연결할 수 있는 모든 오브젝트에 대해 동일합니다.
WITH CONTACT ( <purpose> = <contact_name> [ , <purpose> = <contact_name> ... ] )
purpose
는 연락처와 오브젝트의 관계를 설명하는 사전 정의된 목적 중 하나여야 합니다. 사용자는 오브젝트의 연락처를 볼 때 이 목적을 사용하여 어떤 연락처와 소통할지 결정합니다.
테이블 및 테이블과 유사한 오브젝트의 경우 열 정의 뒤에 WITH CONTACT 절을 지정합니다.
예¶
finance_dept
연락처를 새 테이블에 연결하여 사용자가 테이블에 액세스해야 할 때 누구와 소통해야 하는지 알 수 있도록 하십시오.
CREATE TABLE t1 (col1 VARCHAR, col2 INT) WITH CONTACT (ACCESS_APPROVAL = finance_dept);
internal_support
연락처를 새로운 데이터베이스에 연결하여 사용자가 데이터베이스의 테이블에 대한 일반적인 지원이 필요할 때 누구와 소통해야 하는지 알 수 있도록 하십시오.
CREATE DATABASE my_db WITH CONTACT (SUPPORT = internal_support);
data_stewards
연락처를 새 스키마와 연결하여 사용자가 스키마에 있는 테이블의 오브젝트 태그와 관련하여 누구와 소통해야 하는지 알 수 있도록 하고 finance_dept
연락처를 연결하여 사용자가 액세스가 필요할 때 누구와 소통해야 하는지 알 수 있도록 하십시오.
CREATE SCHEMA sch1 WITH CONTACT (STEWARD = data_stewards, ACCESS_APPROVAL = finance_dept);
오브젝트에서 연락처 분리하기¶
- Snowsight:
Snowsight 에 로그인합니다.
Data » Databases 를 선택합니다.
오브젝트로 이동합니다.
Details 탭을 선택합니다.
Assigned Contacts 섹션을 찾아 Edit 아이콘을 선택합니다.
분리하려는 연락처가 있는 목적(예: Approver)을 찾은 다음 드롭다운 목록을 사용하여 None 을 선택합니다.
Save 를 선택합니다.
- SQL:
ALTER … UNSET CONTACT 명령을 사용하면 오브젝트에서 연락처를 분리할 수 있습니다. 연락처를 분리하는 구문은 연락처와 연결할 수 있는 모든 오브젝트에 대해 동일합니다.
ALTER <object_type> <object_name> UNSET CONTACT <purpose>
연락처 이름이 아닌 연락처와 오브젝트 간의 연결 목적을 지정하여 분리할 연락처를 식별합니다. 연락처를 분리하기 위해 지정할 수 있는 목적 목록은 사전 정의된 목적 을 참조하십시오.
예를 들어, 테이블의 STEWARD 주소로 추가된 연락처를 분리하려면 실행합니다.
ALTER TABLE t1 UNSET CONTACT STEWARD;
오브젝트에 대한 연락처 보기¶
- Snowsight:
Snowsight 의 오브젝트로 이동하면 해당 오브젝트와 연결된 연락처가 Details 탭에 나타납니다.
- SQL:
오브젝트에 대해 하나 이상의 권한이 있는 사용자는 GET_CONTACTS 테이블 함수를 사용하여 해당 오브젝트와 연결된 연락처를 볼 수 있습니다. 이 함수는 오브젝트와 연결된 각 연락처에 대한 행을 반환합니다.
예를 들어,
t1
테이블에 연락처 목록을 나열하려면 최소한 1개 이상의 권한이 있는 사용자가 다음을 실행할 수 있습니다.SELECT * FROM TABLE(SNOWFLAKE.CORE.GET_CONTACTS('t1', 'TABLE'));
각 연락처에 대해 이 함수는 다음을 목록으로 표시합니다.
연락 목적.
연락처의 커뮤니케이션 방법.
연락처가 오브젝트와 직접 연결되었는지 또는 상위 항목에서 상속되었는지 여부입니다.
관리 연락처 및 해당 연락처의 연결¶
- Snowsight:
스키마에 생성된 연락처 목록을 나열하고 특정 연락처에 대한 세부 정보를 드릴다운하려면 다음과 같이 하십시오.
Snowsight 에 로그인합니다.
Data » Databases 메뉴를 사용하여 스키마로 이동합니다.
Contacts 탭을 선택합니다.
연락처와 연결된 오브젝트를 포함하여 연락처에 대한 세부 정보를 보려면 연락처를 선택합니다.
- SQL:
ACCOUNT_USAGE 스키마는 연락처 관리에 도움이 되는 다음과 같은 뷰를 제공합니다.
CONTACTS 뷰 - 계정의 모든 연락처를 목록으로 표시합니다.
CONTACT_REFERENCES 뷰 - 연락처가 연결된 오브젝트를 목록으로 표시합니다.
액세스 제어 권한¶
다음은 사용자가 연락처로 작업하는 데 필요한 권한을 요약한 것입니다.
작업 |
필수 권한 |
---|---|
다음 둘 다:
|
|
다음 중 하나:
|
|
오브젝트에 대한 모든 권한. |
|
다음 중 하나:
|
|
다음 중 하나:
|
|
연락처에 대한 OWNERSHIP |