DROP ROW ACCESS POLICY

システムから行アクセスポリシーを削除します。

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

行アクセスポリシー DDL

構文

DROP ROW ACCESS POLICY [ IF EXISTS ] <name>
Copy

パラメーター

name

行アクセスポリシーの識別子。アカウントに対して一意である必要があります。

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

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

アクセス制御の要件

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

権限

オブジェクト

注意

OWNERSHIP

スキーマ または

行アクセスポリシー

行アクセスポリシーを含むスキーマ。

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).

スキーマ内のオブジェクトに対して操作を実行するには、親データベースとスキーマに対する USAGE 権限が必要です。スキーマに対する 任意の権限を付与されたロールは、そのロールがスキーマを解決できることに注意してください。たとえば、スキーマに対するCREATE権限を付与されたロールは、そのスキーマにオブジェクトを作成できますが、そのスキーマに対するUSAGE*も*付与されている必要はありません。

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

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

マスキングポリシー DDL と権限の詳細については、 行アクセスポリシーを管理する をご参照ください。

使用上の注意

  • 行アクセスポリシーをドロップする前に、次のステートメントを実行して、行アクセスポリシーがテーブルまたはビューに適用されているかどうかを確認します。詳細については、 POLICY_REFERENCES をご参照ください。

    SELECT * from table(information_schema.policy_references(policy_name=>'<string>'));
    
    Copy
  • 現在リソースに添付されている行アクセスポリシーは、正常にドロップできません。DROP ステートメントを実行する前に、 ALTER TABLE または ALTER VIEW に示すように、 ALTER TABLE または ALTER VIEW ステートメントを使用してテーブルまたはビューから行アクセスポリシーをデタッチします。

  • Snowflakeは、行アクセスポリシーオブジェクトでの UNDROP をサポートしていません。UNDROP を使用すると、エラーメッセージがトリガーされます。このエラーメッセージの詳細については、 行アクセスポリシーをトラブルシューティングする をご参照ください。

  • テーブルの列に行アクセスポリシーが添付されている場合、その列をテーブルからドロップすることはできません。

  • IF EXISTS 句が指定されており、ターゲットオブジェクトが存在しない場合、コマンドはエラーを返さずに正常に完了します。

  • スナップショット 内のテーブルで使用中の行アクセスポリシーをドロップできます。その場合、スナップショットからテーブルを復元しても、すぐには使用できません。復元されたテーブルを使用するには、復元後に ALTER TABLE ... DROP ALL ROW ACCESS POLICIES コマンドを実行します。

次の例では、テーブルから行アクセスポリシーをドロップします。

DROP ROW ACCESS POLICY rap_table_employee_info;
Copy