Snowflake
はじめるにあたり
ガイド
開発者
参照情報
リリース
ステータス
Ctrl+K
  1. 概要
  2. Snowflakeへの接続
  3. 仮想ウェアハウス
  4. データベース、テーブル、およびビュー
  5. データ型
  6. データのロード
  7. データのアンロード
  8. クエリ
  9. Data Sharing & Collaboration
  10. アラートおよび通知
  11. セキュリティ
    1. 認証
    2. API Authentication & Secrets
    3. フェデレーション認証および SSO
    4. キーペア認証およびローテーション
    5. 多要素認証(MFA)
    6. OAuth
    7. ネットワーキングおよびプライベート接続
    8. ネットワークポリシー
    9. AWS VPC Interface Endpoints for Internal Stages
    10. Azure Private Endpoints for Internal Stages
    11. AWS PrivateLink
    12. Azure PrivateLink
    13. Google Cloud Private Service Connect
    14. 管理および承認
    15. セッションおよびセッションポリシー
    16. SCIM
    17. アクセス制御
    18. エンドツーエンド暗号化
    19. 暗号化キー管理
  12. データガバナンス
  13. 組織およびアカウント管理
  14. ビジネス継続性およびデータ復旧
  15. Performance Optimization
  16. コスト管理

Azure Private LinkとSnowflake¶

Snowflake logo in black (no text) Business Critical機能

この機能には、Business Critical(またはそれ以上)が必要です。

このトピックでは、Azure Virtual Network(VNet)をAzureのSnowflake VNet に接続するための、Azure Private Linkの構成方法について説明します。

Azure Private Linkは、Snowflakeが提供するサービスでは ありません。SnowflakeアカウントでSnowflakeを使用できるようにする、Microsoftのサービスです。

このトピックの内容:

  • Azure Private Linkの概要

    • 要件および制限

  • Azure Private Linkを使用したSnowflakeへのアクセスの構成

    • 手順

  • Azure Private Linkでの SSO の使用

  • Azure Private Linkでのクライアントリダイレクトの使用

  • プライベート接続での複製とTri-Secret Secureの使用

  • パブリックアクセスのブロック --- オプション

Azure Private Linkの概要¶

Azure Private Link は、Snowflakeへのアクセスがプライベート IP アドレスを介して行われるようにすることで、Snowflakeへのプライベート接続を提供します。トラフィックは、Microsoftバックボーンを使用して、顧客の仮想ネットワーク(VNet)からSnowflake VNet にのみ発生し、パブリックインターネットを回避します。これにより、アクセスルールをプライベートに保ちながら安全でプライベートな通信を提供することにより、ネットワーク構成が大幅に簡素化されます。

次の図は、顧客 VNet およびSnowflake VNet に関するAzure Private Linkアーキテクチャをまとめたものです。

仮想マシン(1)から、またはピアリング(2)経由のいずれかから、仮想ネットワークのAzure Private Linkエンドポイント(3)に接続できます。次に、そのエンドポイントはPrivate Link Service(4)に接続し、Snowflakeにルーティングします。

Architecture overview

SnowflakeとAzure Private Linkを統合するための上位レベルの手順は次のとおりです。

  1. プライベートエンドポイントを作成します。

  2. Azureサブスクリプションからアクセストークンを生成して取得します。

    Azure Private Linkを使用してAzure上のSnowflake内部ステージに接続する予定がある場合は、プライベートエンドポイントから内部ステージに接続する前に、サブスクリプションをAzure Storageリソースプロバイダーに登録する必要があります。

  3. AzureでSnowflakeアカウントを有効にして、Azure Private Linkを使用します。

  4. 送信ファイアウォール設定を更新して、Snowflakeアカウント URL および OCSP URL を許可します。

  5. DNS サーバーを更新して、アカウント URL および OCSP URL をPrivate Link IP アドレスに解決します。DNS エントリをオンプレミス DNS サーバーまたは VNet のプライベート DNS に追加し、 DNS 転送を使用して、ユーザーがSnowflakeにアクセスする他の場所からエントリのクエリを送信できます。

  6. プライベートエンドポイントに Approved の CONNECTION STATE 値が表示された後に、 SnowCD (Connectivity Diagnostic Tool) と SYSTEM$ALLOWLIST_PRIVATELINK を使用して、Snowflakeへの接続をテストします。

  7. プライベート接続アカウント URL を使用してSnowflakeに接続します。

要件および制限¶

Azure VNetをAzureのSnowflake VNetに接続するようにAzure Private Linkを構成する前に、次に注意してください。

  • サブネットレベルのAzureでは、必要に応じて、プライベートエンドポイントの ネットワークポリシーを有効にします。

    TCP ポート443および80が、プライベートエンドポイントネットワークカードのネットワークセキュリティグループ内で 0.0.0.0 へのトラフィックを許可していることを確認します。

    ポートの構成については、社内のAzure管理者にお問い合わせください。

  • ARM VNets を使用します。

  • IPv4 TCP トラフィックのみを使用します。

  • 現在、このトピックで説明されているセルフサービスの有効化プロセスは、Azure Data Factory、Synapse、またはその他のマネージドサービスからのマネージドプライベートエンドポイントに対する承認をサポートしていません。

    このユースケースでマネージドプライベートエンドポイントを構成する方法の詳細については、この 記事 (Snowflakeコミュニティ内)をご参照ください。

Microsoft Azure Private Linkの要件と制限の詳細については、Microsoftドキュメントの プライベートエンドポイントの制限 および Private Linkサービスの制限 をご参照ください。

Azure Private Linkを使用したSnowflakeへのアクセスの構成¶

注意

このセクションでは、 VNet 環境を設定するためのSnowflake固有の詳細のみを説明します。また、必要なファイアウォールの更新、および DNS レコードの実際の構成に対して、Snowflakeは責任を 負いません 。これらの構成タスクのいずれかで問題が発生した場合は、Microsoftのサポートに直接お問い合わせください。

このセクションでは、Azure Private Linkを使用して、AzureのSnowflake VNet に接続するための、Azure VNet の構成方法について説明します。Azure Private Linkを使用してSnowflakeに接続を開始した後、Azureポータルで接続の承認状態を確認できます。

インストールのヘルプについては、 Azure CLI または Azure PowerShell のMicrosoftドキュメントをご参照ください。

Microsoft Azure VNet を構成し、SnowflakeへのAzure Private Link接続を開始するための構成手順を完了します。

手順¶

この手順により、AzureでAzure Private Linkを使用してSnowflakeに接続するために必要な、Azure Private Linkリソースを手動で作成して初期化します。この手順では、ユースケースに Azure Private Linkでの SSO の使用 (このトピック内)が含まれていないことを前提としています。

  1. Azure CLI を使用した代表的な例として、 az account list --output table を実行します。 Name、 SubscriptionID、 および CloudName 列の出力値に注意します。

    Name     CloudName   SubscriptionId                        State    IsDefault
    -------  ----------  ------------------------------------  -------  ----------
    MyCloud  AzureCloud  13c...                                Enabled  True
    
    Copy
  2. Azureポータルに移動します。 Private Link を検索して Private Link をクリックします。

    Private Link Preview
  3. Private endpoints をクリックしてから、 Add をクリックします。

    Select Private link endpoint
  4. Basics セクションで、ご使用の環境の Subscription、 Resource group、 Name、および Region フィールドに入力し、 Next: Resource をクリックします。

    Endpoint Basics
  5. Resource セクションで、 Connection Method および Resource ID or Alias Field フィールドを完了します。 Request message 値はオプションです。

    • Connection Method には、 Connect to an Azure resource by resource ID or alias を選択します。

      Endpoint Resource
    • Snowflakeで、 SYSTEM$GET_PRIVATELINK_CONFIG を実行し、 privatelink-pls-id の値を Resource ID or Alias フィールドに入力します。このステップのスクリーンショットでは、 east-us-2 地域のエイリアス値を代表例として使用しており、Azureは有効なエイリアス値を緑色のチェックマークで確認しています。

  6. Private endpoints セクションに戻り、数分待ちます。承認されると、プライベートエンドポイントには Pending の CONNECTION STATE 値が表示されます。次のステップで認証が完了すると、この値は Approved に更新されます。

    Endpoint approved state
  7. 次のステップを実行して、AzureでSnowflakeアカウントを有効にしてAzure Private Linkを使用できるようにします。

    • コマンドライン環境で、次のAzure CLI ネットワーク コマンドを使用して、プライベートエンドポイントリソース ID の値を記録します。

      az network private-endpoint show
      
      Copy

      プライベートエンドポイントは、前のステップでテンプレートファイルを使用して作成されました。リソース ID の値は、切り捨てられた値を持つ次の形式を取ります。

      /subscriptions/26d.../resourcegroups/sf-1/providers/microsoft.network/privateendpoints/test-self-service

    • コマンドライン環境で、次の Azure CLI アカウント コマンドを実行し、出力を保存します。出力は、次のステップで federated_token 引数の値として使用されます。

      az account get-access-token --subscription <SubscriptionID>
      
      Copy

      コマンド出力からアクセストークン値を抽出します。この値は、次のステップで federated_token 値として使用します。この例では、値は切り捨てられ、アクセストークンの値は eyJ... になります。

      {
         "accessToken": "eyJ...",
         "expiresOn": "2021-05-21 21:38:31.401332",
         "subscription": "0cc...",
         "tenant": "d47...",
         "tokenType": "Bearer"
       }
      
      Copy

      重要

      Azureアクセストークンを生成するユーザーは、サブスクリプションに対する読み取りアクセス権限を持っている必要があります。最小の権限は Microsoft.Subscription/ subsets /acceptOwnershipStatus/read です。または、既定のロール Reader により、粒度の荒い権限が付与されます。

      accessToken 値は機密情報であり、パスワード値のように扱う必要があります。この値は、共有 しないでください。

      Snowflakeサポートに連絡する必要がある場合は、サポートチケットを作成する前に、コマンドと URLs からアクセストークンを編集します。

    • Snowflakeで、この例では切り捨てられている private-endpoint-resource-id 値と federated_token 値を引数として使用して、 SYSTEM$AUTHORIZE_PRIVATELINK 関数を呼び出します。

      USE ROLE ACCOUNTADMIN;
      
      SELECT SYSTEM$AUTHORIZE_PRIVATELINK (
        '/subscriptions/26d.../resourcegroups/sf-1/providers/microsoft.network/privateendpoints/test-self-service',
        'eyJ...'
        );
      
      Copy

    承認済みの構成を検証するには、AzureのSnowflakeアカウントで SYSTEM$GET_PRIVATELINK 関数を呼び出します。Snowflakeは、承認に成功すると Account is authorized for PrivateLink. を返します。

    SnowflakeアカウントでAzure Private Linkを 無効 にする必要がある場合は、 private-endpoint-resource-id と federated_token の引数値を使用して、 SYSTEM$REVOKE_PRIVATELINK 関数を呼び出します。

  8. DNS 設定。Snowflakeへのすべてのリクエストは、プライベートエンドポイント経由でルーティングする必要があります。DNS を更新して、Snowflakeアカウントと OCSP URLs をプライベートエンドポイントのプライベート IP アドレスに解決します。

    • エンドポイント IP アドレスを取得するには、Azureポータルの検索バーに移動し、エンドポイントの名前を入力します(つまり、ステップ5の NAME 値)。ネットワークインターフェイスの結果を見つけてクリックします。

      DNS endpoint setup
    • Private IP address (つまり、 10.0.27.5)の値をコピーします。

      DNS private IP address
    • SYSTEM$GET_PRIVATELINK_CONFIG 関数からの次のエンドポイント値がプライベート IP アドレスに解決されるように、 DNS を構成します。

      これらのエンドポイント値により、Snowflake、 Snowsight、および Snowflake Marketplace にアクセスするのと同時に、 OCSP を使用して、Snowflakeクライアントが HTTPS および 接続 URLs を介してエンドポイントへの接続を試みる際に、証明書が取り消されていないかどうかを確認できるようになります。

      取得する関数値は次のとおりです。

      • privatelink-account-url

      • privatelink-connection-urls

      • privatelink-ocsp-url

      • regionless-snowsight-privatelink-url

      • snowsight-privatelink-url

      regionless-snowsight-privatelink-url と snowsight-privatelink-url の値により、プライベート接続を使用して Snowsight と Snowflake Marketplace にアクセスできることに注意してください。ただし、 URL リダイレクトを有効にする場合は、追加の構成があります。

      詳細については、 Snowsightおよびプライベート接続 をご参照ください。

      注釈

      DNS 構成の詳細な説明は、この手順の範囲外です。たとえば、 Azure Private DNS ゾーン を環境に統合することを選択できます。Azureおよびクラウドインフラストラクチャの内部管理者と相談して、 DNS プロパティにある URLs を適切に構成および解決してください。

  9. アウトバウンドファイアウォール設定と DNS 記録にAzure Private Linkアカウントと OCSP URLs が含まれることを確認した後、 SnowCD (Connectivity Diagnostic Tool) と SYSTEM$ALLOWLIST_PRIVATELINK を使用してSnowflakeへの接続をテストします。

  10. プライベート接続アカウント URL を使用してSnowflakeに接続します。

    Azure Private Linkを介してSnowsightに接続する場合は、 Snowsightドキュメント の手順に従います。

Azure Private Linkでの SSO の使用¶

Snowflakeは、Azure Private LinkでのSSOの使用をサポートしています。詳細については、次をご参照ください。

  • プライベート接続でのSSO

  • パートナーアプリケーション

Azure Private Linkでのクライアントリダイレクトの使用¶

Snowflakeは、Azure Private Linkでのクライアントリダイレクトの使用をサポートしています。

詳細については、 クライアント接続のリダイレクト をご参照ください。

プライベート接続での複製とTri-Secret Secureの使用¶

Snowflakeは、ターゲットアカウントでTri-Secret Secureまたはこの機能を有効にするかどうかに関係なく、ソースアカウントからターゲットアカウントへのデータの複製をサポートします。

詳細については、 データベースの複製と暗号化 をご参照ください。

パブリックアクセスのブロック --- オプション¶

SnowflakeとAzure Private Linkの接続をテストした後、 オプションで ネットワークポリシー を使用して、Snowflakeへのパブリックアクセスをブロックできます。

組織の IP アドレス範囲 を使用してSnowflakeへのパブリックアクセスをブロックするように CIDR ブロック範囲を設定します。この範囲は、ご利用の仮想ネットワーク内から指定できます。

CIDR ブロック範囲が設定されると、 CIDR ブロック範囲内の IP アドレスのみがSnowflakeにアクセスできます。

ネットワークポリシーを使用してパブリックアクセスをブロックするには、

  1. 新しいネットワークポリシーを作成するか、既存のネットワークポリシーを編集します。組織の CIDR ブロック範囲を追加します。

  2. アカウントのネットワークポリシーをアクティブにします。

このページは役に立ちましたか?

Snowflake logo
Snowflakeに移動する
問題がありますか? サポートを要請する
コミュニティでの会話にご参加ください
ブログでの最新情報を表示する
Snowflakeで開発する
Snowflake認定を取得する
プライバシー通知サイト規約© 2023 Snowflake, Inc. All Rights Reserved.
  1. Azure Private Linkの概要
  2. Azure Private Linkを使用したSnowflakeへのアクセスの構成
  3. Azure Private Linkでの SSO の使用
  4. Azure Private Linkでのクライアントリダイレクトの使用
  5. プライベート接続での複製とTri-Secret Secureの使用
  6. パブリックアクセスのブロック --- オプション
  1. SnowCD
  2. SYSTEM$ALLOWLIST_PRIVATELINK
  3. SYSTEM$GET_PRIVATELINK_CONFIG
言語: 日本語
English
Français
Deutsch
日本語
한국어
Português