

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 動態資料遮罩系統檢視
<a name="r_ddm-svv"></a>

超級使用者、具有 `sys:operator` 角色的使用者，以及具有 ACCESS SYSTEM TABLE 許可的使用者，都可以存取下列與 DDM 相關的系統檢視。
+  [SVV\_MASKING\_POLICY](r_SVV_MASKING_POLICY.md) 

   使用 SVV\_MASKING\_POLICY 來檢視叢集上或工作群組上建立的所有遮罩政策。
+  [SVV\_ATTACHED\_MASKING\_POLICY](r_SVV_ATTACHED_MASKING_POLICY.md) 

  使用 SVV\_ATTACHED\_MASKING\_POLICY 可檢視目前連線資料庫上連接政策的所有關係和使用者或角色。
+  [SYS\_APPLIED\_MASKING\_POLICY\_LOG](SYS_APPLIED_MASKING_POLICY_LOG.md) 

  使用 SYS\_APPLIED\_MASKING\_POLICY\_LOG 追蹤遮罩政策套用在參考受 DDM 保護之關係的查詢上的情形。

以下是您可以使用系統檢視找到的一些資訊範例。

```
--Select all policies associated with specific users, as opposed to roles
SELECT policy_name,
       schema_name,
       table_name,
       grantee
FROM svv_attached_masking_policy
WHERE grantee_type = 'user';     

--Select all policies attached to a specific user
SELECT policy_name,
       schema_name,
       table_name,
       grantee
FROM svv_attached_masking_policy
WHERE grantee = '{{target_grantee_name}}'            
            
--Select all policies attached to a given table
SELECT policy_name,
       schema_name,
       table_name,
       grantee
FROM svv_attached_masking_policy
WHERE table_name = '{{target_table_name}}'
      AND schema_name = '{{target_schema_name}}';            
            
--Select the highest priority policy attachment for a given role
SELECT samp.policy_name,
       samp.priority,
       samp.grantee,
       smp.policy_expression
FROM svv_masking_policy AS smp
JOIN svv_attached_masking_policy AS samp
    ON samp.policy_name = smp.policy_name
WHERE
    samp.grantee_type = 'role' AND
    samp.policy_name = mask_get_policy_for_role_on_column(
        '{{target_schema_name}}', 
        '{{target_table_name}}', 
        '{{target_column_name}}', 
        '{{target_role_name}}')
ORDER BY samp.priority desc
LIMIT 1;         

--See which policy a specific user will see on a specific column in a given relation
SELECT samp.policy_name,
       samp.priority,
       samp.grantee,
       smp.policy_expression
FROM svv_masking_policy AS smp
JOIN svv_attached_masking_policy AS samp
    ON samp.policy_name = smp.policy_name
WHERE
    samp.grantee_type = 'role' AND
    samp.policy_name = mask_get_policy_for_user_on_column(
        '{{target_schema_name}}',
        '{{target_table_name}}',
        '{{target_column_name}}',
        '{{target_user_name}}')
ORDER BY samp.priority desc; 
         
 --Select all policies attached to a given relation.
SELECT policy_name,
schema_name,
relation_name,
database_name
FROM sys_applied_masking_policy_log
WHERE relation_name = 'relation_name'
AND schema_name = 'schema_name';
```