ユーザー定義関数の権限付与¶
このトピックでは、 UDF または UDTF で特定の SQL アクションを実行するためにオブジェクトに必要な最小限の権限をリストします。
このトピックの内容:
UDFs および UDTFs の権限の付与¶
UDF または UDTF で SQL アクションを実行するには、アクションを実行する人に、必要な権限が付与されたロールが割り当てられている必要があります。これらの SQL アクションには次が含まれます。
CREATE FUNCTION や Snowpark API などを使用した関数の作成。
SQL またはSnowpark APIを介した、関数へのアクセスを削除、変更、および管理するための関数の所有。
SQL またはSnowpark API を使用した関数の呼び出し。
ロールには、データベースやスキーマ、および関数の依存関係を保持するステージ(必要な場合)など、関数に関連するオブジェクトに対する権限を割り当てる必要があります。
オブジェクトに対する権限をロールに付与するには、 GRANT ステートメントを使用します。
次の例のコードは、関数 my_java_udf
に対する USAGE 権限を my_role
に付与します。
GRANT USAGE ON FUNCTION my_java_udf(number, number) TO my_role;
UDFs または UDTFs の作成¶
UDF または UDTF の作成、管理、および実行には、少なくとも次の権限を持つロールが必要です。
オブジェクト |
権限 |
メモ |
---|---|---|
データベース |
USAGE |
|
スキーマ |
USAGE, CREATE FUNCTION |
|
ステージ |
USAGE (外部ステージ)または READ (内部ステージ) |
関数がステージ上のファイルに依存するか、ファイルから読み取る場合に必要です。これには、次のステージングされたファイルが含まれます。
|
UDFs または UDTFs の所有¶
UDF または UDTF が作成された後、関数の所有者(関数に対する OWNERSHIP 権限があるロールを持つ人)には、少なくとも次の権限が必要です。
オブジェクト |
権限 |
メモ |
---|---|---|
データベース |
USAGE |
|
スキーマ |
USAGE |
|
ステージ |
USAGE (外部ステージ)または READ (内部ステージ) |
関数がステージ上のファイルに依存するか、ファイルから読み取る場合に必要です。これには、次のステージングされたファイルが含まれます。
|
関数 |
OWNERSHIP |
UDFs または UDTFs の呼び出し¶
UDF または UDTF を呼び出すロールには、少なくとも次の権限が必要です。
オブジェクト |
権限 |
メモ |
---|---|---|
データベース |
USAGE |
|
スキーマ |
USAGE |
このテーブルのスキーマレベルのオブジェクトを含むスキーマ。オブジェクトが複数のスキーマに含まれている場合は、それぞれに USAGE 権限が必要です。 |
ステージ |
USAGE (外部ステージ)または READ (内部ステージ) |
関数がステージ上のファイルに依存するか、ファイルから読み取る場合に必要です。これには、次のステージングされたファイルが含まれます。
|
関数 |
USAGE |
関数の所有者以外の誰かが関数を呼び出す場合に必要です。関数の USAGE は、関数を呼び出す人に割り当てられたロールに付与する必要があります。 |