メインコンテンツまでスキップ

ポリシーの権限管理

権限項目

ポリシーの作成と適用は、CREATE、APPLY、ALTER、DROP などの権限によって制御されます。管理者は、ビジネスシナリオに基づいて、これらの権限をいくつかの部門や役割に委任するかどうかを決定できます。

権限項目説明
CREATE MASKING POLICYデータベースにマスキングポリシーを作成します。
CREATE ROW ACCESS POLICYデータベースに行アクセスポリシーを作成します。
APPLYポリシーをテーブルに適用します。
ALTERポリシーを変更します。
DROPポリシーを削除します。

CREATE MASKING POLICY,CREATE ROW ACCESS POLICY

ユーザーまたは役割がデータベースにポリシーを作成する権限を持っているかどうかを制御します。

GRANT CREATE MASKING POLICY ON DATABASE <db_name> TO ROLE <role_name>
GRANT CREATE ROW ACCESS POLICY ON DATABASE <db_name> TO ROLE <role_name>

REVOKE CREATE MASKING POLICY ON DATABASE <db_name> FROM ROLE <role_name>
REVOKE CREATE ROW ACCESS POLICY ON DATABASE <db_name> FROM ROLE <role_name>

APPLY

ユーザーまたは役割がポリシーを適用する権限、またはすべてのポリシーを適用する権限を持っているかどうかを制御します。

GRANT APPLY ON MASKING POLICY <policy_name> TO ROLE <role_name>
GRANT APPLY ON ROW ACCESS POLICY <policy_name> TO ROLE <role_name>

REVOKE APPLY ON MASKING POLICY <policy_name> FROM ROLE <role_name>
REVOKE APPLY ON ROW ACCESS POLICY <policy_name> FROM ROLE <role_name>
GRANT APPLY ON ALL MASKING POLICIES TO ROLE <role_name>
GRANT APPLY ON ALL MASKING POLICIES IN ALL DATABASES TO ROLE <role_name>

ALTER

ユーザーまたは役割がポリシーを変更する権限を持っているかどうかを制御します。

GRANT ALTER ON MASKING POLICY <policy_name> TO ROLE <role_name>
GRANT ALTER ON ROW ACCESS POLICY <policy_name> TO ROLE <role_name>

DROP

ユーザーまたは役割がポリシーを削除する権限を持っているかどうかを制御します。

GRANT DROP ON MASKING POLICY <policy_name> TO ROLE <role_name>
GRANT DROP ON ROW ACCESS POLICY <policy_name> TO ROLE <role_name>

SQL コマンドに必要な権限

ポリシーを作成および管理するために使用される SQL コマンドには権限が必要です。これらのコマンドの構文と例については、Masking policies および Row access policies を参照してください。

マスキングポリシー

SQL必要な権限GRANT 構文
CREATE MASKING POLICYCREATE MASKING POLICYGRANT CREATE MASKING POLICY ON DATABASE <db_name> TO ROLE <role_name>
ALTER TABLE...SET MASKING POLICYALTER および APPLY
  • GRANT ALTER ON TABLE <table_name> TO ROLE <role_name>
  • GRANT APPLY ON MASKING POLICY <policy_name> to ROLE <role_name>
ALTER TABLE...UNSET MASKING POLICYALTERGRANT ALTER ON TABLE <table_name> TO ROLE <role_name>
ALTER MASKING POLICYALTERGRANT ALTER ON MASKING POLICY <policy_name> to ROLE <role_name>
SHOW MASKING POLICIESなしなし
SHOW CREATE MASKING POLICYAPPLY、ALTER、または DROP のいずれか
DROP MASKING POLICYDROPGRANT DROP ON MASKING POLICY <policy_name> to ROLE <role_name>

行アクセスポリシー

SQL必要な権限GRANT 構文
CREATE ROW ACCESS POLICY POLICYCREATE ROW ACCESS POLICYGRANT CREATE ROW ACCESS POLICY ON DATABASE <db_name> TO ROLE <role_name>
ALTER TABLE...ADD ROW ACCESS POLICYALTER および APPLY
  • GRANT ALTER ON TABLE <table_name> TO ROLE <role_name>
  • GRANT APPLY ON ROW ACCESS POLICY <policy_name> to ROLE <role_name>
ALTER TABLE...DROP ROW ACCESS POLICYALTERGRANT ALTER ON TABLE <table_name> TO ROLE <role_name>
ALTER ROW ACCESS POLICYALTERGRANT ALTER ON ROW ACCESS POLICY <policy_name> to ROLE <role_name>
SHOW ROW ACCESS POLICIESなしなし
SHOW CREATE ROW ACCESS POLICYAPPLY、ALTER、または DROP のいずれか
DROP ROW ACCESS POLICYDROPGRANT DROP ON ROW ACCESS POLICY <policy_name> to ROLE <role_name>

権限の管理

職務分離を実現するために、集中型、分散型、ハイブリッド型の 3 つのデータ管理モデルがサポートされています。ビジネス要件に合わせてポリシー関連の権限を委任する方法を決定できます。

集中型ハイブリッド型分散型
CREATEセキュリティマネージャーセキュリティマネージャー個別のチーム
APPLYセキュリティマネージャー個別のチーム個別のチーム
  • 集中型: 管理者のみがポリシーを管理できます。

     CREATE ROLE security_manager;

    GRANT CREATE MASKING POLICY ON DATABASE d1 TO ROLE security_manager;

    GRANT APPLY ON ALL MASKING POLICIES ON DATABASE d1 TO ROLE security_manager;
  • ハイブリッド型: 管理者と他の役割の両方がポリシーを管理できます。

    CREATE ROLE security_manager;

    GRANT CREATE MASKING POLICY ON DATABASE d1 TO ROLE security_manager;

    GRANT APPLY ON ALL MASKING POLICIES ON DATABASE d1 TO ROLE db_owner;
  • 分散型: ポリシーは他の役割によって管理されます。

    CREATE ROLE db_owner;

    GRANT CREATE MASKING POLICY ON DATABASE d1 TO ROLE db_owner;

    GRANT APPLY ON ALL MASKING POLICIES ON DATABASE d1 TO ROLE db_owner;