CREATE DATABASE ROLE¶
新しい データベースロール を作成するか、システム内の既存のデータベースロールを置き換えます。
データベースロールを作成後にオブジェクト権限を付与し、そのデータベースロールを他のデータベースロールまたはアカウントロールに付与して、システム内のオブジェクトのアクセス制御セキュリティを有効にできます。
- こちらもご参照ください。
GRANT <権限>, GRANT DATABASE ROLE , GRANT OWNERSHIP , DROP DATABASE ROLE , ALTER DATABASE ROLE , SHOW DATABASE ROLES, CREATE <オブジェクト> ... CLONE
構文¶
CREATE [ OR REPLACE ] DATABASE ROLE [ IF NOT EXISTS ] <name>
[ COMMENT = '<string_literal>' ]
必須パラメーター¶
name
データベースロールの識別子(つまり、名前)を指定します。ロールが作成されるデータベース内で一意にする必要があります。
識別子はアルファベットで始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例:
"My object"
)。二重引用符で囲まれた識別子も大文字と小文字が区別されます。db_name.database_role_name
の形式で識別子が完全修飾されていない場合、コマンドはセッションの現在のデータベースにデータベースロールを作成します。詳細については、 識別子の要件 をご参照ください。
オプションのパラメーター¶
COMMENT = 'string_literal'
データベースロールのコメントを指定します。
デフォルト: 値なし
アクセス制御の要件¶
この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
---|---|---|
CREATE DATABASE ROLE |
データベース |
データベースに対する OWNERSHIP 権限を持つロールは、別のアカウントロールに CREATE DATABASE ROLE 権限を付与できます。 |
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
データベースロールを作成すると、そのデータベースロールを含むデータベースの USAGE 権限がデータベースロールに自動的に付与されます。
注意
データベースロールを再作成しないでください(OR REPLACE キーワードを使用)。バックグラウンドで、オブジェクトを再作成する(CREATE OR REPLACE <オブジェクト> を使用)と、オブジェクトは、最初にドロップされてから作成されます。データベースロールを再作成すると、データベースロールが付与されているすべての共有からデータベースロールがドロップされます。これらの共有にデータベースロールを再度付与する必要があります。
データベースロールを再作成する必要がある場合は、データベースロールを含む共有のデータコンシューマーに通知します。データコンシューマーは、データベースロールを自分のアカウントロールに再度付与する必要があります。
メタデータについて、
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
例¶
データベース d1
にデータベースロール dr1
を作成します。
CREATE DATABASE ROLE d1.dr1;