カテゴリ:

システム関数 (システム情報)

SYSTEM$WHITELIST

ホスト名とポート番号を返し、ファイアウォールのホワイトリストに追加して、ファイアウォールの背後からSnowflakeにアクセスできるようにします。この関数の出力は、 SnowCD に渡すことができます。

通常、Snowflakeのお客様は、ファイアウォールを使用して不正アクセスを防ぎます。デフォルトでは、ファイアウォールがSnowflakeへのアクセスをブロックする場合があります。ファイアウォールのホワイトリストを更新するには、Snowflakeアカウント、ステージ、Snowflakeが使用する他のホストの、ホスト名とポート番号を知る必要があります。

ご使用のSnowflakeクライアントのホワイトリストにかかわる詳細については、 ホスト名のホワイトリスト をご参照ください。

構文

SYSTEM$WHITELIST()

引数

なし。

戻り値

返される値のデータ型は VARIANT です。値は JSON 構造の配列です。各 JSON 構造には、3つのキー/値ペアが含まれます。

type

現在、次の5種類があります。

  • SNOWFLAKE_DEPLOYMENT :Snowflakeアカウントのホスト名とポート番号の情報。

  • STAGE :Snowflakeクライアントが読み取りまたは書き込みできるファイルが格納されている場所(Amazon S3、Google Cloud Storage、またはMicrosoft Azure)。

  • SNOWSQL_REPO :自動ダウンロード/アップグレードを実行するために SnowSQL によってアクセスされるエンドポイント。

  • OUT_OF_BAND_TELEMETRY :ドライバーが、メトリックや OCSP 問題などの帯域外インシデントを報告するホスト。

  • OCSP_CACHE :プライマリ OCSP レスポンダーに到達できない場合に備えて、Snowflakeが提供する OCSP 証明書情報の代替ソース。Snowflakeクライアントの最新バージョンのほとんどは、 OCSP レスポンダーに直接接続するのではなく、 OCSP キャッシュにアクセスします。

  • OCSP_RESPONDER : OCSP SSL 証明書が取り消されていないことを確認するために連絡するホスト名。

host

type の完全なホスト名を指定します(例: "xy12345.east-us-2.azure.snowflakecomputing.com""ocsp.snowflakecomputing.com")。

port

type のポート番号を指定します(例: "443""80")。

使用上の注意

  • この関数は、システム関数として呼び出す必要があります。

  • 出力には、特定の型(STAGEOCSP_RESPONDER など)の複数のエントリが含まれる場合があります。

関数を呼び出すには:

SELECT SYSTEM$WHITELIST();

サンプル出力:

[
  {"type":"SNOWFLAKE_DEPLOYMENT", "host":"xy12345.snowflakecomputing.com",                 "port":443},
  {"type":"STAGE",                "host":"sfc-customer-stage.s3.us-west-2.amazonaws.com",  "port":443},
  ...
  {"type":"SNOWSQL_REPO",         "host":"sfc-repo.snowflakecomputing.com",                "port":443},
  ...
  {"type":"OCSP_CACHE",           "host":"ocsp.snowflakecomputing.com",                    "port":80}
  {"type":"OCSP_RESPONDER",       "host":"o.ss2.us",                                       "port":80},
  ...
]

この出力例では、次のことに注意してください。

  • 読みやすくするために、空白文字と改行文字が追加されました。さらに、一部のエントリは省略されています。

  • 一部のホスト名の地域 ID (us-west-2)は、アカウントが US 西部地域にあることを示しています。ただし、地域 ID は SNOWFLAKE_DEPLOYMENT のホスト名では使用されません。

情報を JSON ではなく表形式の出力に抽出するには、 FLATTEN 関数を PARSE_JSON 関数と組み合わせて使用します。

SELECT t.VALUE:type::VARCHAR as type,
       t.VALUE:host::VARCHAR as host,
       t.VALUE:port as port
FROM TABLE(FLATTEN(input => PARSE_JSON(SYSTEM$WHITELIST()))) AS t;

サンプル出力:

+-----------------------+---------------------------------------------------+------+
| TYPE                  | HOST                                              | PORT |
|-----------------------+---------------------------------------------------+------|
| SNOWFLAKE_DEPLOYMENT  | xy12345.snowflakecomputing.com                    | 443  |
| STAGE                 | sfc-customer-stage.s3.us-west-2.amazonaws.com     | 443  |
  ...
| SNOWSQL_REPO          | sfc-repo.snowflakecomputing.com                   | 443  |
  ...
| OCSP_CACHE            | ocsp.snowflakecomputing.com                       | 80   |
| OCSP_RESPONDER        | ocsp.sca1b.amazontrust.com                        | 80   |
  ...
+-----------------------+---------------------------------------------------+------+