選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

政策相依物件和原則 - Amazon Redshift

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

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

政策相依物件和原則

為了提供應用程式的安全性,並防止政策物件過時或無效,Amazon Redshift 不允許捨棄或變更 RLS 政策所參照的物件。

以下列出 Amazon Redshift 針對 RLS 政策追蹤的結構描述物件相依性。

  • 追蹤目標資料表的結構描述物件相依性時,Amazon Redshift 會遵循下列規則:

    • 當您捨棄目標資料表時,Amazon Redshift 會將政策與關係、使用者、角色或公開分離。

    • 當您重新命名目標資料表名稱時,附加的政策不會受到影響。

    • 如果您先將政策捨棄或分離,您只能捨棄政策定義中參照的目標資料表資料欄。這也適用於指定 CASCADE 選項時。您可以捨棄目標資料表中的其他資料欄。

    • 您無法重命名目標資料表的參照資料欄。若要重新命名參照的資料欄,請先將政策分離。這也適用於指定 CASCADE 選項時。

    • 即使您指定 CASCADE 選項,也無法變更參照資料欄的類型。

  • 追蹤查閱資料表的結構描述物件相依性時,Amazon Redshift 會遵循下列規則:

    • 您無法捨棄查閱資料表。若要捨棄查閱資料表,請先捨棄參照查詢資料表的政策。

    • 您無法重新命名查閱資料表。若要重新命名查閱資料表,請先捨棄參照查詢資料表的政策。這也適用於指定 CASCADE 選項時。

    • 您無法捨棄政策定義中使用的查閱資料表資料欄。若要捨棄政策定義中使用的查閱資料表資料欄,請先捨棄參照查詢資料表的政策。這也適用於在 ALTER TABLE DROP COLUMN 陳述式中指定 CASCADE 選項時。您可以捨棄查閱資料表中的其他資料欄。

    • 您無法重命名查閱資料表的參照資料欄。若要重新命名參照的資料欄,請先捨棄參照查詢資料表的政策。這也適用於指定 CASCADE 選項時。

    • 您無法變更參照資料欄的類型。

  • 捨棄使用者或角色時,Amazon Redshift 會自動分離附加到該使用者或角色的所有政策。

  • 當您在 DROP SCHEMA 陳述式中使用 CASCADE 選項時,Amazon Redshift 也會捨棄結構描述中的關係。還會捨棄任何其他結構描述中依賴於已捨棄結構描述中關係的關係。對於政策中作為查閱資料表的關係,Amazon Redshift 會使 DROP SCHEMA DDL 失敗。對於 DROP SCHEMA 陳述式捨棄的任何關係,Amazon Redshift 會將所有附加到這些關係的政策分離。

  • 您只能在捨棄政策時捨棄查詢函數 (政策定義中參照的函數)。這也適用於指定 CASCADE 選項時。

  • 將政策附加至資料表時,Amazon Redshift 會檢查此資料表是否為不同政策中的查閱資料表。如果是這種情況,Amazon Redshift 將不允許在此資料表中附加政策。

  • 建立 RLS 政策時,Amazon Redshift 會檢查此資料表是否為任何其他 RLS 政策的目標資料表。如果是這種情況,Amazon Redshift 將不允許在此資料表上建立政策。

範例

下列範例說明如何追蹤結構描述相依性。

-- The CREATE and ATTACH policy statements for `policy_events` references some -- target and lookup tables. -- Target tables are tickit_event_redshift and target_schema.target_event_table. -- Lookup table is tickit_sales_redshift. -- Policy `policy_events` has following dependencies: -- table tickit_sales_redshift column eventid, qtysold -- table tickit_event_redshift column eventid -- table target_event_table column eventid -- schema public and target_schema CREATE RLS POLICY policy_events WITH (eventid INTEGER) USING ( eventid IN (SELECT eventid FROM tickit_sales_redshift WHERE qtysold <3) ); ATTACH RLS POLICY policy_events ON tickit_event_redshift TO ROLE analyst; ATTACH RLS POLICY policy_events ON target_schema.target_event_table TO ROLE consumer;
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。