連絡先の利用

連絡先は、特定の目的で連絡できるユーザーまたはユーザーのグループに関する詳細を含むスキーマレベルのオブジェクトです。たとえば、``data_stewards``という名前の1つの連絡先にはメール配信リストが含まれ、``support_department``という名前の別の連絡先には部門ウェブサイトのURLが含まれる場合があります。

連絡先をデータベースやテーブルなどの他のオブジェクトに関連付けて、それらのオブジェクトのサポートについて適切な担当者に連絡できるようにすることができます。たとえば、テーブルへのアクセス取得を支援できるユーザーを含む連絡先がテーブルにある場合があります。連絡先の目的は、連絡先のプロパティではなく、むしろ連絡先と特定のオブジェクトとの関連付けのためです。たとえば、同じ連絡先はあるテーブルに対して一般サポートを提供しながら、一方で別のテーブルに対してアクセス承認を提供する場合があります。

各連絡先の目的がオブジェクトに固有である限り、オブジェクトは複数の連絡先を持つことができます。例えば、テーブルには、テーブルへのアクセスを付与する連絡先と、テーブルの一般的なサポートを提供する連絡先があります。ユーザーがオブジェクトに関連付けられている連絡先を表示すると、それぞれの連絡先の目的と連絡方法が表示されます。これにより、特定の理由に対する連絡先と連絡方法がわかります。

データユーザーが|sf-web-interface|の:ui:`Database Explorer`を使用してデータベース、スキーマ、テーブルのようなオブジェクトをナビゲートする際、これらの連絡先が表示されます。ユーザーに通知を送信するSnowflake機能は、オブジェクトに関連付けられた連絡先を使用してユーザーと通信できます。

連絡先の継承と無効化

連絡先は子孫オブジェクトに継承されます。連絡先を他のオブジェクトの親であるオブジェクトに関連付けると、子、孫などが連絡先を継承します。例えば、連絡先をスキーマに関連付けると、スキーマ内のすべてのテーブルがデフォルトで連絡先を継承します。

連絡先の継承は、子オブジェクトが同じ目的の連絡先を持っている場合は無効化されます。例えば、誰かが次の2つの連絡先を、テーブル t1 を含む ac_sch スキーマに関連付けたとします。

お問い合わせ

目的

data_stewards

スチュワード

business_unit1

承認者

ここで、誰かがアクセス承認のために、連絡先 finance_deptt1 と関連付けたとします。t1 に関連付けられる連絡先は以下の通りです。

お問い合わせ

目的

data_stewards

スチュワード

finance_dept

承認者

``ac_sch``のアクセス承認を担当する連絡先は``t1``に直接関連付けられた連絡先に置き換えられましたが、``t1``は引き続きスキーマから``data_stewards``の連絡先を継承します。

すべてのオブジェクトは、継承階層のさらに下位にある関連付けによって上書きされない限り、アカウントに設定された連絡先を継承します。

サポートされているオブジェクト

連絡先は以下のオブジェクトと関連付けることができます。

  • データベース

  • スキーマ

  • テーブル

  • Apache Iceberg™ テーブル

  • 外部テーブル

  • 動的テーブル

  • イベントテーブル

  • ビュー

  • マテリアライズドビュー

  • タスク(SQLのみ)

連絡先の作成

連絡先を作成するときに、連絡先の名前とその連絡先に連絡する方法を指定します。通信方法には以下が含まれます。

  • ウェブサイトのURL。

  • Eメールアドレス、配信リストでも構いません。

  • Snowflakeユーザーのリスト。

|sf-web-interface|またはSQLを使用して連絡先を作成できます。

Tip

専用スキーマにすべての連絡先を作成すると便利です。

Snowsight:
  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Catalog » Database Explorer を選択します。

  3. 連絡先を作成するスキーマに移動します。

  4. Create » Contact を選択します。

  5. 連絡先の名前を指定します。

  6. 通信方法を選択し、オブジェクトのサポートについて連絡できる担当者のメールアドレス、ユーザー、またはURLを指定します。

  7. 連絡先をオブジェクトに関連付ける権限を持つロールを選択します。これらのロールには、連絡先に関する権限(APPLY)が付与されます。

  8. Create を選択します。

SQL:

CREATE CONTACT コマンドを実行して、新しい連絡先を作成できます。

ウェブサイトからアクセスできるサポートチームの連絡先を作成します。

CREATE CONTACT support_dept URL = 'http://internalsupport.example.com';

財務チームの連絡先をEメールアドレスで作成し、配信リストとして機能させます。

CREATE CONTACT finance_dept EMAIL_DISTRIBUTION_LIST = 'fd_dl@example.com';

Snowflakeユーザーオブジェクト名で識別されるデータベース管理者の連絡先を作成します。

CREATE CONTACT db_admins USERS = ('ex_admin1', 'ex_admin2');

連絡先とオブジェクトの関連付け

連絡先をオブジェクトに関連付ける場合は、連絡先の名前と、連絡先とオブジェクトの関連付けの目的を指定します。ユーザーがオブジェクトに関連付けられたすべての連絡先を表示すると、各連絡先の目的に基づいて誰と通信するかを決定できます。Snowflake機能が連絡先を使用して担当者に連絡する場合、目的に基づいて適切な連絡先を選択できます。

連絡先をオブジェクトに関連付ける目的は、以下のいずれかです。

目的

説明

SQL 値

承認者

データへのアクセスリクエストを承認または拒否します。

ACCESS_APPROVAL

セキュリティおよびコンプライアンス

セキュリティおよびコンプライアンスの更新を受け取ります。

SECURITY_COMPLIANCE

データスチュワード

データの正確性、一貫性、信頼性に関する情報を入力します。

STEWARD

サポート

データセットに関する技術サポートを入力します。

SUPPORT

既存のオブジェクトを変更したり、新しいオブジェクトを作成する際に、連絡先を関連付け、その目的を定義することができます。

連絡先を既存のオブジェクトに関連付けます。

Snowsight:
  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Catalog » Database Explorer を選択します。

  3. サポート対象のオブジェクト のいずれかに移動します。

  4. Details タブを選択します。

  5. Assigned Contacts セクションを探し、 Edit アイコンを選択します。

  6. 1つまたは複数の目的に対して連絡先を選択します。例えば、 Approver ドロップダウンリストから連絡先を選択すると、データユーザーはオブジェクトへのアクセスが必要なときにその連絡先に連絡します。

  7. 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;

Snowflake機能がセキュリティやコンプライアンスに関する更新を送信できるように、``security_officers``連絡先をアカウントに関連付けます。

ALTER ACCOUNT SET CONTACT SECURITY_COMPLIANCE = security_officers;

data_stewards の連絡先をスキーマに関連付けることで、ユーザーはスキーマ内のテーブルのオブジェクトタグに関する連絡先を知ることができます。

ALTER SCHEMA sch1 SET CONTACT STEWARD = data_stewards;

注釈

既存のIcebergテーブル、外部テーブル、動的テーブルに連絡先を設定したい場合は、ALTERTABLE コマンドを使用する必要があります。

新規オブジェクト作成時の連絡先の関連付け

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);

data_stewards の連絡先を新しいスキーマに関連付けると、ユーザーはスキーマ内のテーブルのオブジェクトタグに関する連絡先を知ることができます。また、 finance_dept の連絡先を関連付けると、ユーザーはアクセスが必要な場合に誰に連絡をすればよいかを知ることができます。

CREATE SCHEMA sch1 WITH CONTACT (STEWARD = data_stewards, ACCESS_APPROVAL = finance_dept);

オブジェクトからの連絡先の切り離し

Snowsight:
  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Catalog » Database Explorer を選択します。

  3. オブジェクトに移動します。

  4. Details タブを選択します。

  5. Assigned Contacts セクションを探し、 Edit アイコンを選択します。

  6. 切り離したい連絡先がある目的(例えば、 Approver)を見つけ、ドロップダウンリストを使用して None を選択します。

  7. Save を選択します。

SQL:

ALTER ... UNSET CONTACTコマンドを使用すると、オブジェクトから連絡先をデタッチできます。連絡先をデタッチする構文は、連絡先に関連付け可能なすべてのオブジェクトで同じです。

ALTER <object_type> <object_name>
  UNSET CONTACT <purpose>

切り離す連絡先の識別は、連絡先名ではなく、連絡先とオブジェクトの関連付けの目的を指定することで行います。連絡先を切り離すために指定可能な目的のリストについては、 定義済みの目的 をご覧ください。

たとえば、テーブルのSTEWARDとして追加された連絡先をデタッチするには、次を実行します。

ALTER TABLE t1 UNSET CONTACT STEWARD;

注釈

既存のIcebergテーブル、外部テーブル、動的テーブルの連絡先の設定を解除したい場合は、ALTERTABLE コマンドを使用する必要があります。

オブジェクトの連絡先の表示

Snowsight:

Snowsight でオブジェクトに移動すると、そのオブジェクトに関連付けられている連絡先が Details タブに表示されます。

SQL:

オブジェクトに少なくとも1つの権限を持つユーザーは、 GET_CONTACTS テーブル関数を使用して、そのオブジェクトに関連付けられている連絡先を表示できます。この関数は、オブジェクトに関連付けられた各連絡先の行を返します。

例えば、テーブル t1 の連絡先を表示するには、少なくとも1つの権限を持つユーザーにより以下を実行します。

SELECT *
  FROM TABLE(SNOWFLAKE.CORE.GET_CONTACTS('t1', 'TABLE'));

各連絡先について、関数で以下の一覧を表示します。

  • 連絡先の目的。

  • 連絡先との連絡方法。

  • 連絡先が直接オブジェクトに関連付けられているか、親オブジェクトを継承しているか。

連絡先と関連付けの管理

Snowsight:

スキーマで作成された連絡先一覧を表示し、特定の連絡先の詳細を掘り下げます。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで、Catalog » Database Explorer を選択してから、スキーマを選択します。

  3. Contacts タブを選択します。

  4. 連絡先に関連付けられているオブジェクトなど、連絡先の詳細を表示したい場合は、連絡先を選択します。

SQL:

ACCOUNT_USAGE スキーマでは、連絡先の管理に役立つ以下のビューを表示できます。

アクセス制御権限

ユーザーが連絡先を扱うために必要な権限を以下にまとめます。

タスク

必要な権限

連絡先の作成

次の両方:

  • CREATE CONTACT(スキーマ)

  • USAGE(スキーマとデータベース)

連絡先とオブジェクトの関連付け

以下のいずれか:

  • アカウントに対する APPLY CONTACT

  • APPLY権限(連絡先) OWNERSHIP (オブジェクト)

オブジェクトの連絡先のリスト

すべての権限(オブジェクト)

オブジェクトから連絡先を切り離す

以下のいずれか:

  • アカウントに対する APPLY CONTACT

  • APPLY権限(連絡先) OWNERSHIP (オブジェクト)

既存の連絡先の変更

以下のいずれか:

  • OWNERSHIP(連絡先)

  • MODIFY(連絡先)

連絡先の削除

OWNERSHIP(連絡先)