- 一般的な参照情報
- SQL コマンドリファレンス
- コマンドの概要
- すべてのコマンド(アルファベット順)
- ALTER <オブジェクト>
- ALTER ACCOUNT
- ALTER API INTEGRATION
- ALTER DATABASE
- ALTER EXTERNAL FUNCTION
- ALTER EXTERNAL TABLE
- ALTER FILE FORMAT
- ALTER FUNCTION
- ALTER INTEGRATION
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER NETWORK POLICY
- ALTER NOTIFICATION INTEGRATION
- ALTER PIPE
- ALTER PROCEDURE
- ALTER RESOURCE MONITOR
- ALTER ROLE
- ALTER SCHEMA
- ALTER SECURITY INTEGRATION
- ALTER SEQUENCE
- ALTER SESSION
- ALTER SHARE
- ALTER STAGE
- ALTER STORAGE INTEGRATION
- ALTER STREAM
- ALTER TABLE
- ALTER TABLE ... ALTER COLUMN
- ALTER TASK
- ALTER USER
- ALTER VIEW
- ALTER WAREHOUSE
- BEGIN
- CALL
- COMMENT
- COMMIT
- COPY INTO <場所>
- COPY INTO <テーブル>
- CREATE <オブジェクト>
- CREATE ACCOUNT
- CREATE API INTEGRATION
- CREATE <オブジェクト> ... CLONE
- CREATE DATABASE
- CREATE EXTERNAL FUNCTION
- CREATE EXTERNAL TABLE
- CREATE FILE FORMAT
- CREATE FUNCTION
- CREATE INTEGRATION
- CREATE MANAGED ACCOUNT
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE NETWORK POLICY
- CREATE NOTIFICATION INTEGRATION
- CREATE PIPE
- CREATE PROCEDURE
- CREATE RESOURCE MONITOR
- CREATE ROLE
- CREATE SCHEMA
- CREATE SECURITY INTEGRATION
- CREATE SEQUENCE
- CREATE SHARE
- CREATE STAGE
- CREATE STORAGE INTEGRATION
- CREATE STREAM
- CREATE TABLE
- CREATE | ALTER TABLE ... CONSTRAINT
- CREATE TASK
- CREATE USER
- CREATE VIEW
- CREATE WAREHOUSE
- DELETE
- DESCRIBE <オブジェクト>
- DESCRIBE EXTERNAL TABLE
- DESCRIBE FILE FORMAT
- DESCRIBE FUNCTION
- DESCRIBE INTEGRATION
- DESCRIBE MASKING POLICY
- DESCRIBE MATERIALIZED VIEW
- DESCRIBE NETWORK POLICY
- DESCRIBE PIPE
- DESCRIBE PROCEDURE
- DESCRIBE RESULT
- DESCRIBE SEQUENCE
- DESCRIBE SHARE
- DESCRIBE STAGE
- DESCRIBE STREAM
- DESCRIBE TABLE
- DESCRIBE TASK
- DESCRIBE USER
- DESCRIBE VIEW
- DROP <オブジェクト>
- DROP DATABASE
- DROP EXTERNAL TABLE
- DROP FILE FORMAT
- DROP FUNCTION
- DROP INTEGRATION
- DROP MANAGED ACCOUNT
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- DROP NETWORK POLICY
- DROP PIPE
- DROP PROCEDURE
- DROP RESOURCE MONITOR
- DROP ROLE
- DROP SCHEMA
- DROP SEQUENCE
- DROP SHARE
- DROP STAGE
- DROP STREAM
- DROP TABLE
- DROP TASK
- DROP USER
- DROP VIEW
- DROP WAREHOUSE
- EXPLAIN
- GET
- GRANT OWNERSHIP
- GRANT <権限> ... TO ROLE
- GRANT <privilege> ... TO SHARE
- GRANT ROLE
- INSERT
- INSERT (マルチテーブル)
- LIST
- MERGE
- PUT
- REMOVE
- REVOKE <権限> ... FROM ROLE
- REVOKE <privilege> ...FROM SHARE
- REVOKE ROLE
- ROLLBACK
- SELECT
- SET
- SHOW <オブジェクト>
- SHOW COLUMNS
- SHOW DATABASES
- SHOW DELEGATED AUTHORIZATIONS
- SHOW EXTERNAL FUNCTIONS
- SHOW EXTERNAL TABLES
- SHOW FILE FORMATS
- SHOW FUNCTIONS
- SHOW GLOBAL ACCOUNTS
- SHOW GRANTS
- SHOW INTEGRATIONS
- SHOW LOCKS
- SHOW MANAGED ACCOUNTS
- SHOW MASKING POLICIES
- SHOW MATERIALIZED VIEWS
- SHOW NETWORK POLICIES
- SHOW OBJECTS
- SHOW ORGANIZATION ACCOUNTS
- SHOW PARAMETERS
- SHOW PIPES
- SHOW PROCEDURES
- SHOW REGIONS
- SHOW REPLICATION ACCOUNTS
- SHOW REPLICATION DATABASES
- SHOW RESOURCE MONITORS
- SHOW ROLES
- SHOW SCHEMAS
- SHOW SEQUENCES
- SHOW SHARES
- SHOW STAGES
- SHOW STREAMS
- SHOW TABLES
- SHOW TASKS
- SHOW TRANSACTIONS
- SHOW USER FUNCTIONS
- SHOW USERS
- SHOW VARIABLES
- SHOW VIEWS
- SHOW WAREHOUSES
- TRUNCATE MATERIALIZED VIEW
- TRUNCATE TABLE
- UNDROP DATABASE
- UNDROP SCHEMA
- UNDROP TABLE
- UNSET
- UPDATE
- USE <object>
- USE DATABASE
- USE ROLE
- USE SCHEMA
- USE WAREHOUSE
- DDL コマンド
- DML コマンド
- クエリ構文
- クエリ演算子
- SQL 関数リファレンス
- 付録
- カテゴリ:
ユーザーとセキュリティ DDL (アクセス制御)
GRANT <privilege> ... TO SHARE¶
データベースおよびその他のサポートされているデータベースオブジェクト(スキーマ、テーブル、ビュー)のアクセス権限を共有に付与します。これらのオブジェクトに権限を付与すると、オブジェクトが共有に効果的に追加され、1つ以上のコンシューマーアカウントと共有できます。
詳細については、 Secure Data Sharingの紹介 および 共有の操作 をご参照ください。
構文¶
GRANT objectPrivilege ON
{ DATABASE <name>
| SCHEMA <name>
| { TABLE <name> | ALL TABLES IN SCHEMA <schema_name> }
| { VIEW <name> | ALL VIEWS IN SCHEMA <schema_name> } }
TO SHARE <share_name>
条件:
objectPrivilege ::= -- For DATABASE or SCHEMA USAGE -- For TABLE or VIEW SELECT -- For DATABASE REFERENCE_USAGE
パラメーター¶
名前
指定された権限が付与されるオブジェクト(データベース、スキーマ、テーブル、またはセキュアビュー)の識別子を指定します。
スキーマ名
すべてのテーブルまたはビューに対して指定された権限が付与されるスキーマの識別子を指定します。
共有名
指定された権限が付与される共有の識別子を指定します。
使用上の注意¶
テーブルを除き、各オブジェクト権限は、ロールに対して個別に付与する必要があります。
ALL
句を使用して、指定したスキーマのテーブルすべての SELECT をロールに付与できます。現在、
ALL
句では、保護されているビューと保護されていないビューを区別できません。その結果、スキーマ内のビューに対する SELECT 権限の共有への一括付与は、ユーザーエラーにより失敗します。共有は、単一のデータベースに対して USAGE を付与できます。ただし、データベース内では、複数のスキーマ、テーブル、およびビューを付与できます。
現在、別のデータベースのオブジェクトを参照するUDFの共有はサポートされていません。たとえば、別のデータベースからの安全なビューを参照するUDFにUSAGEを付与しようとすると、エラーが返されます。
現在、共有は、安全なビューに対してのみ SELECT を付与できます。安全でないビューを共有に許可しようとすると、エラーが返されます。
この制限のため、指定されたスキーマ内のすべてのビューが安全な場合にのみ
ALL VIEWS IN SCHEMA スキーマ名
を使用します。複数のデータベースに属するオブジェクトを参照する安全なビューを共有する場合は、REFERENCE_USAGE 権限を使用してください。
REFERENCE_USAGE 権限は、各データベースに個別に付与する必要があります。
共有に安全なビューで SELECT を付与する前に、データベースに REFERENCE_USAGE 権限を付与する必要があります。
例¶
これは、単一のデータベースのオブジェクトを共有する例です。
GRANT USAGE ON DATABASE mydb TO SHARE share1; GRANT USAGE ON SCHEMA mydb.public TO SHARE share1; GRANT SELECT ON ALL TABLES IN SCHEMA mydb.public TO SHARE share1; GRANT USAGE ON SCHEMA mydb.shared_schema TO SHARE share1; GRANT SELECT ON VIEW mydb.shared_schema.view1 TO SHARE share1; GRANT SELECT ON VIEW mydb.shared_schema.view3 TO SHARE share1;
これは、異なるデータベースのオブジェクトを参照する安全なビューを共有する例です。
CREATE SECURE VIEW view2 AS SELECT * FROM database2.public.sampletable; GRANT USAGE ON DATABASE database1 TO SHARE share1; GRANT USAGE ON SCHEMA database1.schema1 TO SHARE share1; GRANT REFERENCE_USAGE ON DATABASE database2 TO SHARE share1; GRANT SELECT ON VIEW view2 TO SHARE share1;