2022年12月

今月は、次の新機能、動作の変更、および更新(拡張、修正など)が導入されています。これらの追加について質問がある場合は、 Snowflakeサポート にお問い合わせください。

重要

各リリースには、ウェブインターフェイスをリフレッシュする必要のある更新が含まれる場合があります。

一般的な方法として、これらの更新が使用に影響を与えないようにするために、Snowflakeの各リリースが展開された後にウェブインターフェイスを更新することをお勧めします。

このトピックの内容:

新機能

アクセス制御: データベースロール --- プレビュー

このリリースにより、データベースロールのプレビューサポートをお知らせします。 データベースロール は、同じデータベース内にあるセキュリティ保護が可能なオブジェクトに対する権限を付与および取り消すことができる、データベース内のエンティティです。この機能は、新しいSnowflakeオブジェクト型であるデータベースロールを介して実装されます。データベースロールは、スコープを除いて、アカウントレベルで作成された従来のロールと基本的に同じです。アカウント内の 任意の オブジェクトに対する権限をアカウントロールに付与できますが、データベースロールに付与できるのは、同じデータベース内のオブジェクトに対する権限のみです。

データベースロールは、次のユースケースを満たすことを目的としています。

管理のしやすさ

データベースの所有者は、独自のデータベース内にあるセキュリティ保護が可能なオブジェクトへのアクセスを個別に管理できます。データベースの所有者は、次のアクションを実行できます。

  • データベースロールを作成し、管理する。

  • データベースロールに権限を付与する。

    データベースロールに付与されるオブジェクトに対する権限は、ロールが存在するデータベースに含まれるオブジェクトに対してスコープを設定する必要があります。あるデータベースのオブジェクト(例: テーブルまたはビュー)に対する権限は、別のデータベースにあるデータベースロールには付与できません。

    データベース内のオブジェクトに対するデータベースロールには、 OWNERSHIP を含む 任意の 権限を付与できます。データベース自体に対する OWNERSHIP 権限を保持できるのは、アカウントロールのみであることに注意してください。

  • ロール階層を作成または拡張します。データベースロールを同じデータベース内の他のデータベースロールに付与してから、データベース内の最高レベルのデータベースロールをアカウントロールに付与します。詳細については、 データベースロールおよびロール階層 をご参照ください。

データベースロールをアカウントロールに付与すると、データベースロールを含むデータベースに対する USAGE 権限が暗黙的に付与されることに注意してください。データベースに対する USAGE 権限を明示的に付与する必要はありません。

データ共有

SnowflakeのSecure Data Sharing機能を使用するデータプロバイダーは、データベース内に複数のデータベースロールを作成して共有し、データベース内のオブジェクトのサブセットに対する権限を各データベースロールに付与することで、共有内にあるセキュリティ保護が可能なオブジェクトをセグメント化できます。

データベースロールを含む共有からデータベースを作成した後、データコンシューマーは、各共有データベースロールを自分のアカウントにある1つ以上のアカウントレベルのロールに付与します。

データベースロールがない場合、データコンシューマーアカウントのアカウント管理者は、単一の権限 IMPORTED PRIVILEGES をロールに付与して、ユーザーが共有内のすべてのデータベースおよびデータベースオブジェクト(テーブル、セキュアビューなど)にアクセスできるようにします。データコンシューマーアカウント内のさまざまなユーザーグループを、共有オブジェクトのサブセットにアクセスできるようにするオプションはありません。このオールオアナッシングアプローチでは、データプロバイダーが複数の共有を作成して、同じデータベース内のさまざまなオブジェクトへのアクセス権を付与する必要があります。

注釈

現在、データベースロールはプライマリデータベースの複製に含まれていません。そのため、オブジェクトがデータベースロールを介して共有に付与されている場合、クロスリージョンのデータ共有はサポートされません。

詳細については、 データベースロール をご参照ください。

アクセス制御: SNOWFLAKE データベースロール --- プレビュー

このリリースにより、 SNOWFLAKE データベースロールのプレビューサポートをお知らせします。SNOWFLAKE データベースロールは、一般的なデータベースロールの概念を実装しますが、 SNOWFLAKE データベース専用です。SNOWFLAKE データベースロールは、 ACCOUNT_USAGE スキーマ、 READER_ACCOUNT_USAGE スキーマ、 ORGANIZATION_USAGE スキーマ、 DATA_SHARING_USAGE スキーマなどへの粒度の細かいアクセスを提供するために使用できる一連のロールを定義します。

SNOWFLAKE データベースロールは、2022年12月12日の週にすべてのアカウントに展開されます。詳細については、 SNOWFLAKE データベースロール をご参照ください。

Visual Studio Code用Snowflake拡張機能 --- プレビュー

このリリースにより、 Snowflake Extension for Visual Studio Code (VS Code)のプレビューをお知らせします。 Snowflake Extension for Visual Studio Code により、開発者は VS Code環境内からSnowflakeにアクセスできるようになります。この拡張機能を使用すると、Snowflakeに接続し、SQLクエリを記述して実行し、 VS Codeを離れずに結果を表示できます。サインインすると、アクティブなデータベース、スキーマ、ロール、およびウェアハウスを表示および変更できます。

Snowflake Intellisence は、データベースオブジェクト名、組み込み関数、およびSnowflake SQL キーワードのオートコンプリートサポートを提供します。クエリを入力すると、Intellisense、データベース、スキーマ、およびテーブル名の候補が表示されます。単一またはグループのクエリを実行して、結果を VS Code自体に直接提供できます。

詳細については、 Snowflake Extension for Visual Studio Code をご参照ください。

セキュリティの更新

セッションポリシー --- 一般公開

このリリースにより、Snowflakeはセッションポリシーの一般公開を発表します。セッションポリシーは、 アイドル セッションタイムアウト期間を分単位で定義し、デフォルトのアイドルセッションタイムアウト値である4時間を上書きする機会を提供します。アイドルセッションタイムアウトとは、SnowflakeウェブインターフェイスまたはSnowflakeクライアントを使用するクライアントアプリケーション(例: SnowSQL、JDBC ドライバー)のいずれかが非アクティブな期間を指します。アイドルセッションのタイムアウト期間が終了すると、ユーザーはSnowflakeに対して再認証する必要があります。

コンプライアンス要件に対応するために、セッションポリシーをアカウントまたはユーザーに設定し、構成可能なアイドルタイムアウト期間をサポートできるようにします。ユーザーがアカウントとユーザーレベルのセッションポリシーの両方に関連付けられている場合は、ユーザーレベルのセッションポリシーが優先されます。

この機能は、2021年11月にプレビューで発表されました。詳細については、 Snowflakeセッションおよびセッションポリシー をご参照ください。

SQL の更新

新しい SQL 関数

最近のリリースでは、次の関数が導入されました。

関数カテゴリ

新機能

説明

システム関数(クエリ)、テーブル関数

GET_QUERY_OPERATOR_STATS

クエリ内の個々のクエリ演算子に関する統計を返します。

ALTER TAG コマンド: FORCE キーワードを追加して、単一ステートメント内のタグのマスキングポリシーを置き換える

構文

キーワード

説明

ALTER TAG <名前> SET MASKING POLICY <マスキングポリシー名> [ FORCE ]

FORCE

単一のステートメント内で、タグに現在設定されているマスキングポリシーを別のマスキングポリシーに置き換えます。

タグに同じデータ型のポリシーがすでに設定されている場合は、 FORCE キーワードを使用するとポリシーが置き換えられることに注意してください。

現在タグにマスキングポリシーが設定されていない場合は、このキーワードを指定しても効果はありません。

データガバナンスの更新

単一のステートメントでタグのマスキングポリシーを置き換える

このリリースにより、Snowflakeは、単一のステートメントでタグに現在設定されているマスキングポリシーを ALTER TAG コマンドで置き換えるときに、 FORCE キーワードを指定するサポートを追加します。 FORCE キーワードが使用可能になる前には、タグのマスキングポリシーを置き換えるために、次に挙げる2つの別個のステートメントが必要でした。

  • 既存のポリシーを設定解除する。

  • 新しいポリシーを設定する。

FORCE キーワードを使用すると、 UNSET 操作と SET 操作の間の時間間隔が削除され、タグのマスキングポリシーを置き換えている間、列データが保護されたままになります。

詳細については、次をご参照ください。

ドキュメントと学習リソース

目次(TOC)の更新

開発者がコンテンツを見つけやすくするために、次の TOC 変更を導入しました。

トップレベルエントリ

第2レベルエントリー

第3レベルエントリ

変更

Snowflakeを使用したアプリケーションの開発

Snowflakeでのアプリケーション開発の紹介

削除済み。

コネクタ、ドライバー、およびクライアント APIs の概要

削除済み。

UDFs

移動先: アプリケーションおよび拡張機能の開発 » 関数とプロシージャによるSnowflakeの拡張

Snowpark

移動先: Snowpark API

外部関数

移動先: アプリケーションおよび拡張機能の開発 » 関数とプロシージャによるSnowflakeの拡張

ストアドプロシージャ

移動先: アプリケーションおよび拡張機能の開発 » 関数とプロシージャによるSnowflakeの拡張

セキュア UDFs とストアドプロシージャの使用による機密情報の保護

移動先: アプリケーションおよび拡張機能の開発 » 関数およびプロシージャによるSnowflakeの拡張 » 関数およびプロシージャの設計ガイドラインおよび制約

プッシュダウンの最適化およびデータの可視化

移動先: アプリケーションおよび拡張機能の開発 » 関数およびプロシージャによるSnowflakeの拡張 » 関数およびプロシージャの設計ガイドラインおよび制約

Snowflakeスクリプト

移動先: Snowflakeスクリプト開発者ガイド

Snowflakeへの接続

コネクタとドライバー

Kafka用Snowflakeコネクタ

移動先: アプリケーションおよび拡張機能の開発 » KafkaおよびSpark でのSnowflakeの使用

Spark用Snowflakeコネクタ

移動先: アプリケーションおよび拡張機能の開発 » KafkaおよびSpark でのSnowflakeの使用

Python用Snowflakeコネクタ

移動先: アプリケーションおよび拡張機能の開発 » ドライバー

Node.jsドライバー

移動先: アプリケーションおよび拡張機能の開発 » ドライバー

Go Snowflakeドライバー

移動先: アプリケーションおよび拡張機能の開発 » ドライバー

.NETドライバー

移動先: アプリケーションおよび拡張機能の開発 » ドライバー

JDBCドライバー

移動先: アプリケーションおよび拡張機能の開発 » ドライバー

ODBC ドライバー

移動先: アプリケーションおよび拡張機能の開発 » ドライバー

Snowflake用 PHP PDO ドライバー

移動先: アプリケーションおよび拡張機能の開発 » ドライバー

Snowflake SQLAPI

移動先: Snowflake SQL REST API