CREATE DATABASE ROLE

新しい データベースロール を作成するか、システム内の既存のデータベースロールを置き換えます。

データベースロールを作成後にオブジェクト権限を付与し、そのデータベースロールを他のデータベースロールまたは個々のユーザーに付与して、システム内のオブジェクトのアクセス制御セキュリティを有効にできます。

こちらもご参照ください。

GRANT <権限>GRANT DATABASE ROLEGRANT OWNERSHIPDROP DATABASE ROLEALTER DATABASE ROLESHOW DATABASE ROLES

構文

CREATE [ OR REPLACE ] DATABASE ROLE [ IF NOT EXISTS ] <name>
  [ COMMENT = '<string_literal>' ]
Copy

必須パラメーター

name

データベースロールの識別子(つまり、名前)を指定します。ロールが作成されるデータベース内で一意にする必要があります。

識別子はアルファベットで始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例: "My object")。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

識別子が完全修飾されていない場合(db_name.database_role_name の形式)、コマンドはセッションの現在のデータベースにデータベースロールを作成します。

詳細については、 識別子の要件 をご参照ください。

オプションのパラメーター

COMMENT = 'string_literal'

データベースロールのコメントを指定します。

デフォルト: 値なし

アクセス制御の要件

この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

メモ

CREATE DATABASE ROLE

データベース

Only the USERADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.

データベースに対する OWNERSHIP または USAGE 権限を持つロールは、別のアカウントロールに CREATE DATABASE ROLE 権限を付与できます。他のアカウントロールには、データベースロールが存在するデータベースに対する USAGE 権限も必要であることに注意してください。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

使用上の注意

ご用心

データベースロールを再作成しないでください(OR REPLACE キーワードを使用)。バックグラウンドで、オブジェクトを再作成する(CREATE OR REPLACE <オブジェクト> を使用)と、オブジェクトは、最初にドロップされてから作成されます。データベースロールを再作成すると、データベースロールが付与されているすべての共有からデータベースロールがドロップされます。これらの共有にデータベースロールを再度付与する必要があります。

データベースロールを再作成する必要がある場合は、データベースロールを含む共有のデータコンシューマーに通知します。データコンシューマーは、データベースロールを自分のアカウントロールに再度付与する必要があります。

メタデータについて、

注意

Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。

データベース d1 にデータベースロール dr1 を作成します。

CREATE DATABASE ROLE d1.dr1;
Copy