CREATE APPLICATION ROLE¶
新しいアプリケーションロールを作成するか、既存のアプリケーションロールを置き換えます。アプリケーションロールを使用して、アプリケーションオブジェクト内のオブジェクトに対するアクセス制御セキュリティを有効にします。
詳細については、 アプリケーションロールについて をご参照ください。
注釈
アプリケーションロールは、アプリケーションオブジェクトのコンテキスト内でのみ有効です。
アプリケーションロールを作成する際、オブジェクトに対する権限をアプリケーションロールに付与することができます。セットアップスクリプト内で、アプリケーションロールを他のアプリケーションロールに付与できます。
Snowflake Native App をインストールした後、コンシューマーはアカウントロールにアプリケーションロールを付与して、アプリへのアクセスを有効にすることができます。
アプリケーションロールにより、アプリケーション内の他のオブジェクトに対する権限や、コンシューマーカウント内のアプリケーションが所有するオブジェクトに対する権限を付与することができます。
アプリケーションロールは、アプリケーション所有者に WITH GRANT OPTION オプションと合わせて暗黙的に付与されます。アプリケーション所有者は、これらのロールをアカウントレベルのロールに付与し、アプリケーションが所有するオブジェクトへのアクセスを提供することができます。
さらに、このコマンドは以下のバリアントをサポートしています。
CREATE OR ALTER APPLICATION ROLE: アプリケーションロールが存在しない場合は新規に作成し、存在する場合は既存のアプリケーションロールを変更します。
- こちらもご参照ください。
ALTER APPLICATION ROLE, GRANT APPLICATION ROLE, REVOKE APPLICATION ROLE, SHOW APPLICATION ROLES, CREATE OR ALTER <オブジェクト>
構文¶
CREATE [ OR REPLACE ] APPLICATION ROLE [ IF NOT EXISTS ] <name>
[ COMMENT = '<string_literal>' ]
バリアント構文¶
CREATE OR ALTER APPLICATION ROLE¶
アプリケーションロールがまだ存在しない場合は新規に作成し、存在する場合は既存のアプリケーションロールをステートメントで定義されたロールに変換します。CREATE OR ALTER APPLICATION ROLE ステートメントは、 CREATE APPLICATION ROLE ステートメントの構文ルールに従い、このステートメントには ALTER APPLICATION ROLE ステートメントと同じ制限があります。
CREATE OR ALTER APPLICATION ROLE <name>
[ COMMENT = '<string_literal>' ]
詳細については、 CREATE OR ALTER APPLICATION ROLE の使用上の注意 をご参照ください。
必須パラメーター¶
name
アプリケーションロールの識別子を指定します。この値は、ロールが作成されるアプリケーションオブジェクト内で一意にする必要があります。
識別子はアルファベットで始まる必要があり、識別子の文字列全体が二重引用符で囲まれている場合を除き、スペースや特殊文字を含めることはできません(例:
"My object"
)。二重引用符で囲まれた識別子も大文字と小文字が区別されます。識別子が完全修飾されていない場合(
application_name.application_role_name
の形式)、コマンドはセッションの現在のアプリケーションにアプリケーションロールを作成します。詳細については、 識別子の要件 をご参照ください。
オプションのパラメーター¶
COMMENT = 'string_literal'
アプリケーションロールのコメントを指定します。
デフォルト: 値なし
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
---|---|---|
OWNERSHIP |
アプリケーションロール |
既存 のアプリケーションロールの CREATE OR ALTER APPLICATION ROLE ステートメントを実行するために必要です。 OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
一般的な使用上の注意¶
アプリケーションオブジェクトに作成できるアプリケーションロールの最大数は1000です。
メタデータについて:
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。
CREATE OR ALTER APPLICATION ROLE の使用上の注意¶
ALTER APPLICATION ROLE コマンドのすべての制限が適用されます。
タグの設定や設定解除はサポートされていませんが、既存のタグは CREATE OR ALTER APPLICATION ROLE ステートメントによって変更されることはなく、そのまま残ります。
例¶
CREATE APPLICATION ROLE app_role
COMMENT = 'Application role for the Hello Snowflake application.';