DOCUMENTATION
/
はじめるにあたり
ガイド
開発者
参照情報
リリース
チュートリアル
Snowflake Open Catalog
ステータス
  1. はじめるにあたり
  2. 概要
    • アクセス制御
      • チュートリアル
        • Snowflakeオープンカタログへのアクセス
        • Snowflake Open Catalogを無料で試す
          • Snowflake Open Catalog のアカウントを作成する
            • サインイン
              • Snowflake Open Catalogの保護
              • MFA に登録します。
                • ネットワークポリシーを使用してSnowflakeへのアクセスを制限する
                  • SSO
                  • インバウンドプライベート接続
                      1. AWS PrivateLinkとSnowflake Open Catalog
                        • Azure Private LinkとSnowflake Open Catalog
                          • UIプライベート接続の構成
                        • アウトバウンドプライベート接続
                        • アカウント
                        • ユーザーを管理する
                          • アカウント名を検索する
                            • カタログの設定
                            • カタログ用の外部クラウドストレージを作成する
                              • カタログの作成
                                • 外部カタログの認証情報供給を有効にする
                                  • カタログ・ロールの作成
                                    • プリンシパル・ロールの作成
                                      • サービス接続の設定と削除
                                        • サービス接続の登録
                                          • カタログの管理
                                          • カタログ・コンテンツの整理
                                            • カタログを保護する
                                              • Snowflake Open Catalogでテーブルのスキーマを表示する
                                                • カタログのデータをクエリする
                                                • Snowflakeを使用してSnowflake Open Catalogのテーブルをクエリする
                                                  • Snowflakeで管理されたテーブルをSnowflakeオープンカタログと同期する
                                                    • サードパーティエンジンを使用してSnowflake Open Catalogのテーブルをクエリする
                                                      • コードの例:
                                                      • Apache Spark
                                                        • リリース
                                                        • リリースノート
                                                          Snowflake Open Catalogインバウンドプライベート接続Azure Private LinkとSnowflake Open Catalog

                                                          Azure Private LinkとSnowflake Open Catalog¶

                                                          Business Criticalの機能 <https://docs.snowflake.com/en/user-guide/intro-editions>_

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

                                                          アップグレードについては、 Snowflakeサポート <https://docs.snowflake.com/user-guide/contacting-support>_ までお問い合わせください。

                                                          機能 --- 一般公開

                                                          政府リージョンではご利用いただけません。

                                                          このトピックでは、インバウンドプライベート接続を使用してSnowflake Open Catalogアカウントとクエリエンジンを直接接続するAzure Private Linkの構成方法について説明します。

                                                          前提条件¶

                                                          • Snowflake Open CatalogアカウントはAzure上でホストされています。

                                                          • Open Catalogアカウントのプライベート接続 URL を使用して DNS サービスを構成するために必要な権限があります。

                                                          ステップ1: Open Catalogアカウント設定を取得する¶

                                                          Azure Private Linkを使用したOpen Catalogへのアクセスを構成するために以下の設定を取得します。

                                                          1. Snowflakeオープンカタログにサインインします。

                                                          2. ナビゲーションメニューで、 設定 を選択します。

                                                          3. 設定ページで、以下の設定の値をテキストエディターにコピーします。

                                                            • PrivateLink アカウント URL

                                                            • リージョンレス PrivateLink アカウント URL

                                                            • PrivateLink OCSP URL

                                                            • リージョンレス PrivateLink OCSP URL

                                                            • Private Linkサービス ID

                                                          これらの値は、 Azure Private Linkを使用したOpen Catalogへのアクセスの構成および Azure Private Linkを使用したOpen Catalogへの接続の際に貼り付けます。

                                                          各設定の説明については、Snowflakeドキュメントの SYSTEM$GET_PRIVATELINK_CONFIG システム関数の戻り値 をご参照ください。このトピックでは、アカウント設定の名前は JSON 形式です。

                                                          注釈

                                                          該当する場合、説明はSnowflakeアカウントを指しますが、実際の値はSnowflake Open Catalogアカウントの値であることを忘れないでください。例えば、 privatelink-account-url はSnowflake Open Catalogアカウントの URL です。

                                                          • オプション: JSON 形式でこれらの値を取得するには、 Open Catalog用にSnowflake CLI 接続を作成し、 SYSTEM$GET_PRIVATELINK_CONFIG システム関数を呼び出します。

                                                          ステップ2: Azure Private Linkを使用したOpen Catalogへのアクセスを構成する¶

                                                          注意

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

                                                          このセクションでは、Azure Private Linkを使用して VNet をOpen Catalog VNet に接続する方法について説明します。

                                                          手順を完了するには、Azure CLI またはAzure PowerShell を使用する必要があります。インストールのヘルプについては、Microsoftドキュメントの Azure CLI または Azure PowerShell をご参照ください。

                                                          Azure Private Linkを使用してSnowflake Open Catalogへの接続を開始した後、Azureポータルで接続の承認状態を確認できます。

                                                          プライベートエンドポイントの作成¶

                                                          注釈

                                                          Snowflakeアカウント用のプライベートエンドポイントを既に作成しており、そのアカウントがOpen Catalogアカウントと同じデプロイメント内にある場合は、Open Catalogアカウント用の新しいプライベートエンドポイントを作成する必要はありません。オプションでこのステップを省略することもできます。

                                                          1. Azureアカウントの詳細を取得します。次の例では、Azure CLI の az account list コマンドを使用します。

                                                            Name     CloudName   SubscriptionId                        State    IsDefault
                                                            -------  ----------  ------------------------------------  -------  ----------
                                                            MyCloud  AzureCloud  13c...                                Enabled  True
                                                            
                                                            Copy
                                                          2. Azureポータルで、 Private Link を検索し、検索結果にある Private Link を選択します。

                                                            Open Catalogの概念図。

                                                          3. プライベートエンドポイント をクリックし、 追加 をクリックします。

                                                            Open Catalogの概念図。

                                                          4. 基礎 タブで、 サブスクリプション、 リソースグループ、 名前、 リージョン の各フィールドをお使いの環境に合わせて入力し、 次へ: リソース をクリックします。

                                                          5. リソース タブで、 接続方法 について、 リソース ID またはエイリアスでAzureリソースに接続 を選択します。

                                                          6. リソース ID またはエイリアス には、 プライベート接続用のOpen Catalogアカウント設定を取得した際に取得した Private Link Service ID の値を入力します。

                                                            エイリアス値に関するエラーメッセージが表示された場合は、 Snowflakeサポート に連絡してリソース ID 値を確認し、その値を使用してこの手順を繰り返してください。

                                                          プライベートエンドポイントが承認されると、Private Linkセンターページのプライベートエンドポイントセクションの CONNECTION STATE に 保留中 という値が表示されます。次の手順で認証を完了すると、この値は 承認済み に変わります。

                                                          インバウンドプライベート接続の有効化¶

                                                          この手続きでは、Open CatalogアカウントのAzure Private Linkを有効にします。この構成により、クエリエンジンはプライベート接続を介してOpen Catalogに接続できます。プライベートエンドポイントリソース ID、サブスクリプション ID、およびフェデレーションユーザーのアクセス認証情報を含むフェデレーショントークン値が必要です。

                                                          1. これらの値を取得するには、Azure CLI で以下のコマンドを実行します。

                                                            1. プライベートエンドポイントリソース ID を取得するには、以下のコマンドを実行し、その値をテキストエディターにコピーします。

                                                              az network private-endpoint show
                                                              
                                                              Copy
                                                            2. サブスクリプション ID を取得するには、以下のコマンドを実行し、出力の SubscriptionID 列の値に注意してください。

                                                              az account list --output table
                                                              
                                                              Copy
                                                            3. フェデレーショントークンの値を取得するには、以下のコマンドを実行し、accessTokenの値をテキストエディターにコピーします。

                                                              az account get-access-token --subscription <SubscriptionID>
                                                              
                                                              Copy
                                                              • SubscriptionID は、前のステップで取得した一意の識別子です。

                                                              重要

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

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

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

                                                          2. Snowflakeオープンカタログにサインインします。

                                                          3. ナビゲーションメニューで、 設定 を選択します。

                                                          4. 承認 を選択します。

                                                          5. Private Linkの承認ダイアログで、アカウントのプライベート接続を有効にします。

                                                            1. ID には、テキストエディターにコピーしたプライベートエンドポイントリソース ID を入力します。

                                                            2. フェデレーショントークン に、テキストエディターにコピーしたトークン値を入力します。

                                                            3. 保存 を選択します。

                                                          アカウントが認証されているかの確認¶

                                                          以下の手順に従って、Open CatalogアカウントがSnowflake Open Catalogサービスへのプライベート接続を許可されているかどうかを確認してください。

                                                          1. Snowflakeオープンカタログにサインインします。

                                                          2. ナビゲーションメニューで、 設定 を選択します。

                                                          3. 取得 を選択します。

                                                          4. Private Linkの認証ダイアログで、アカウントを確認します。

                                                            1. ID フィールドに、プライベートエンドポイントリソース ID を入力します。この値は、 インバウンドプライベート接続を有効化した時に取得しました。

                                                            2. フェデレーショントークン フィールドに、フェデレーショントークンの値を入力します。この値は、 インバウンドプライベート接続を有効化した時に取得しました。

                                                            3. 保存 を選択します。アカウントが認証されているかどうかのメッセージが表示されます。

                                                          DNS を設定する¶

                                                          Open Catalogへのリクエストはすべてプライベートエンドポイントを経由する必要があります。Open Catalogアカウントと OCSP URLs をプライベートエンドポイントの IP アドレスに解決するには、 DNS を更新します。

                                                          1. エンドポイント IP アドレスを取得するには、Azureポータルの検索バーに、作成したプライベートエンドポイントの名前を入力します。

                                                          2. ネットワークインターフェイスの結果を選択します。

                                                            Open Catalogの概念図。

                                                          3. プライベート IP アドレス の値をコピーします。

                                                            Open Catalogの概念図。

                                                          4. プライベート接続用のOpen Catalogアカウント設定から適切なエンドポイント値がプライベート IP アドレスに解決されるように DNS を構成します。

                                                          ステップ3: Azure Private Linkを介してOpen Catalogに接続する¶

                                                          • サービス接続を登録し、Azure Private Linkを通じてクエリエンジンをOpen Catalogに接続するには、次のコードを使用します。

                                                            import pyspark
                                                            from pyspark.sql import SparkSession
                                                            
                                                            spark = SparkSession.builder.appName('iceberg_lab') \
                                                              .config('spark.jars.packages', 'org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.4.1,<maven_coordinate>') \
                                                              .config('spark.sql.extensions', 'org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions') \
                                                              .config('spark.sql.defaultCatalog', 'opencatalog') \
                                                              .config('spark.sql.catalog.opencatalog', 'org.apache.iceberg.spark.SparkCatalog') \
                                                              .config('spark.sql.catalog.opencatalog.type', 'rest') \
                                                              .config('spark.sql.catalog.opencatalog.uri','https://<open_catalog_privatelink_account_url>/polaris/api/catalog') \
                                                              .config('spark.sql.catalog.opencatalog.header.X-Iceberg-Access-Delegation','vended-credentials') \
                                                              .config('spark.sql.catalog.opencatalog.credential','<client_id>:<client_secret>') \
                                                              .config('spark.sql.catalog.opencatalog.warehouse','<catalog_name>') \
                                                              .config('spark.sql.catalog.opencatalog.scope','PRINCIPAL_ROLE:<principal_role_name>') \
                                                              .getOrCreate()
                                                            
                                                            Copy

                                                          パラメーター¶

                                                          注釈

                                                          <open_catalog_account_identifier> に指定した値と一致するように、 DNS サービスを設定してください。

                                                          パラメーター

                                                          説明

                                                          <catalog_name>

                                                          接続先のカタログ名を指定します。

                                                          重要:
                                                          <catalog_name> は大文字と小文字を区別します。

                                                          <maven_coordinate>

                                                          外部クラウドストレージプロバイダーのMaven座標を指定します:

                                                          • S3: software.amazon.awssdk:bundle:2.20.160
                                                          • クラウドストレージ(Googleから): org.apache.iceberg:iceberg-gcp-bundle:1.5.2
                                                          • Azure: org.apache.iceberg:iceberg-azure-bundle:1.5.2
                                                          このパラメーターが表示されない場合は、コードサンプルで既に正しい値が指定されています。

                                                          <client_id>

                                                          サービスプリンシパルが使用するクライアント ID を指定します。

                                                          新しいサービス接続を構成したときにコピーした クライアント ID を入力します。

                                                          <client_secret>

                                                          サービスプリンシパルが使用するクライアントシークレットを指定します。

                                                          新しいサービス接続を構成したときにコピーした シークレット を入力します。

                                                          <open_catalog_privatelink_account_url>

                                                          AWS PrivateLink またはAzure Private Linkを使用してSnowflakeアカウントに接続するための URL を指定します。

                                                          Open Catalog設定を取得する際にコピーした以下の値のいずれかを入力します。

                                                          • PrivateLink Account URL
                                                          • Regionless PrivateLink Account URL
                                                          For details on retrieving your Open Catalog account settings, see the instructions for the cloud platform where your Open Catalog account is hosted:

                                                          • AWS
                                                          • Azure

                                                          <principal_role_name>

                                                          サービスプリンシパルに付与されるプリンシパルロールを指定します。

                                                          このプリンシパルロールを表示するには、Open Catalogで、 接続 ページを選択し、サービス接続を選択し、 プリンシパルの詳細 ダイアログで、 プリンシパルロール を参照してください。

                                                          ステップ4(オプション): Snowflakeのカタログ統合を作成する¶

                                                          Snowflakeを使用してOpen Catalogが管理するテーブルをクエリする場合、 IP のプライベートアドレスを使用するSnowflake用のカタログを作成します。このカタログ統合を作成するには、SnowflakeアカウントがOpen Catalogアカウントと同じデプロイメント内にある必要があります。

                                                          例については、Snowflakeドキュメントの 例: プライベート IP アドレスを使用したカタログ統合 <https://docs.snowflake.com/en/user-guide/tables-iceberg-open-catalog-query#example-catalog-integration-that-uses-a-private-ip-address>_ をご参照ください。

                                                          注釈

                                                          Snowflake Open Catalog UI のプライベート接続を構成することもできます。この構成とOpen Catalogアカウントのプライベート接続を設定することで、パブリックインターネット経由ではなく、プライベート接続経由でOpen Catalog UI にアクセスすることができます。

                                                          このアクセスを構成するには、 Snowflake Open Catalog UI 用プライベート接続の構成をご参照ください。

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

                                                          Snowflakeに移動する
                                                          会話に参加する
                                                          Snowflakeで開発する
                                                          フィードバックを共有する
                                                          ブログでの最新情報を表示する
                                                          独自の認定を取得する
                                                          プライバシー通知サイト規約© 2025 Snowflake, Inc. All Rights Reserved.

                                                          補足ドキュメント

                                                          このページに掲載されている機能には、追加の利用規約が適用される場合があります。

                                                          1. 前提条件
                                                          2. ステップ1: Open Catalogアカウント設定を取得する
                                                          3. ステップ2: Azure Private Linkを使用したOpen Catalogへのアクセスを構成する
                                                          4. ステップ3: Azure Private Linkを介してOpen Catalogに接続する
                                                          5. ステップ4(オプション): Snowflakeのカタログ統合を作成する
                                                          言語: 日本語
                                                          • English
                                                          • Français
                                                          • Deutsch
                                                          • 日本語
                                                          • 한국어
                                                          • Português