Amazon Verified Permissions 升級到 Cedar 4 常見問答集 - Amazon Verified Permissions

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

Amazon Verified Permissions 升級到 Cedar 4 常見問答集

Amazon Verified Permissions 正在將其使用的 Cedar 版本從第 2 版升級至第 4 版。Cedar 是您用來撰寫政策、政策範本和政策存放區中結構描述的開放原始碼語言。透過 Verified Permissions 中的 Cedar 4 支援,您可以使用is運算子和實體標籤等新功能來撰寫更具表達性的政策。

Amazon Verified Permissions 會自動將政策存放區升級至 Cedar 4。不過,針對 Cedar 2 撰寫的某些政策、結構描述和授權請求與 Cedar 4 不相容。如果您的政策存放區發生這種情況,則我們不會自動升級。您可能需要變更政策、政策範本、結構描述或應用程式程式碼,才能升級至 Cedar 4。

為什麼某些政策、政策範本和結構描述與 Cedar 4 不相容?

Cedar 團隊自 Cedar 2 以來已進行數個回溯不相容的變更,以修正錯誤並簡化語言。這些變更包括:

  • 政策、政策範本和結構描述的語法變更

  • 更精確的政策驗證程式,可偵測更多錯誤

  • 內建函數的行為變更,例如 isInRange

如需回溯不相容變更的完整清單,請在 Cedar 變更日誌(*)中尋找標示為 的項目。

如何判斷我的政策存放區是使用 Cedar 2 還是 Cedar 4?

您可以使用 Amazon Verified Permissions 主控台或使用 GetPolicyStore操作來檢查政策存放區使用的 Cedar 版本。

注意

相同 AWS 帳戶 和 區域中的所有政策存放區都使用相同版本的 Cedar。

Console
檢查政策存放區的 Cedar 版本 (主控台)
  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/verifiedpermissions/ 開啟 Amazon Verified Permissions 主控台。

  2. 從導覽窗格中,選擇政策存放區,然後選擇您要檢查的政策存放區。

  3. 在導覽窗格中選擇 Settings (設定)

  4. 詳細資訊方塊中,找到 Cedar 版本欄位。

CEDAR_2 如果您的政策存放區使用 Cedar 2,且使用 Cedar 4,CEDAR_4則 欄位會讀取。

CLI
檢查政策存放區的 Cedar 版本 (AWS CLI)
  1. 如果您尚未安裝並設定 AWS Command Line Interface (AWS CLI),請安裝並設定 。如需相關資訊,請參閱安裝或更新最新版本的 AWS CLI

  2. 使用 get-policy-store 命令。在下列範例中,將 policy-store-id 取代為政策存放區的識別符:

    aws verifiedpermissions get-policy-store \ --policy-store-id policy-store-id

輸出中的 cedarVersion 欄位會顯示政策存放區正在使用的 Cedar 版本。例如:

{ "policyStoreId": "ABCDEFG12345678abcdefg", "arn": "arn:aws:verifiedpermissions::111122223333:policy-store/ABCDEFG12345678abcdefg", "validationSettings": { "mode": "STRICT" }, "createdDate": "2025-06-03T13:09:47.752255+00:00", "lastUpdatedDate": "2025-06-03T13:09:47.752255+00:00", "deletionProtection": "ENABLED", "cedarVersion": "CEDAR_2" }

CEDAR_2 如果您的政策存放區使用 Cedar 2,且使用 Cedar 4,CEDAR_4則 欄位會讀取。

如何升級至 Cedar 4?

Amazon Verified Permissions 已將大多數客戶升級至 Cedar 4。如果您從未建立政策存放區,則您建立的任何新政策存放區都會使用 Cedar 4。如果您是現有客戶,則可能已將您升級至 Cedar 4。請參閱 如何判斷我的政策存放區是使用 Cedar 2 還是 Cedar 4? 以檢查您的政策存放區使用的 Cedar 版本。

如果您尚未升級,則 Verified Permissions 會在與 Cedar 4 不相容的其中一個政策存放區中偵測到政策、政策範本、結構描述或授權請求。我們將在 2025 年稍後傳送電子郵件通知給您,說明哪些資源不相容。若要更快升級,請使用 開啟案例 支援。

重要

相同 中的所有政策存放區都 AWS 帳戶 使用相同版本的 Cedar。如果帳戶中的一個政策存放區與 Cedar 4 不相容,則您無法在該帳戶中的任何政策存放區中使用 Cedar 4。

我可以將政策存放區從 Cedar 4 降級為 Cedar 2 嗎?

否。如果您在政策存放區升級至 Cedar 4 後遇到問題,請使用 開啟案例 支援。

為什麼我會收到錯誤訊息,指出我的政策存放區已設定為 Cedar 2?

Amazon Verified Permissions 的某些功能依賴 Cedar 4 中的新功能。如果您的政策存放區不使用 Cedar 4,則無法使用下列 API 欄位:

  • 在 IsAuthorized、 BatchIsAuthorizedIsAuthorizedWithToken和 BatchIsAuthorizedWithToken操作中:

    • datetimedecimalduration值,位於 attributescontext 欄位中

在升級政策存放區之前,您無法在 Cedar 2 之後推出的政策、政策範本或結構描述中使用語法或資料類型。

如何使我的結構描述與 Cedar 4 相容?

您可以使用 Verified Permissions 主控台中的程式碼編輯器,查看哪些錯誤阻止您的結構描述與 Cedar 4 搭配使用。

重要

Amazon Verified Permissions 主控台中的程式碼編輯器一律會顯示來自 Cedar 4 的錯誤和警告,即使您的政策存放區使用 Cedar 2。您可以使用儲存變更按鈕或驗證許可 API,繼續進行與 Cedar 4 不相容的結構描述更新。

在主控台中檢視結構描述的錯誤
  1. 登入 AWS Management Console ,並在已驗證的許可中開啟 Amazon Verified Permissions 主控台。

  2. 從導覽窗格中,選擇政策存放區,然後選擇您要檢查的政策存放區。

  3. 在導覽窗格中選擇結構描述

  4. 選擇編輯結構描述

  5. 選取 JSON 模式

  6. 將滑鼠游標移至程式碼編輯器左側裝訂邊的紅色錯誤圖示上。錯誤訊息會顯示在工具提示中。

以下是您可能會遇到的一些常見錯誤,以及如何解決這些錯誤:

無法從 JSON 剖析結構描述:`field-name`

使用 Cedar 2,您可以在結構描述的部分中包含任意欄位,例如類型定義,即使它們在 Cedar 結構描述中沒有任何意義。在 Cedar 4 中,不再允許這麼做。若要解決此錯誤,請從 JSON 結構描述中移除名為 field-name 的欄位。如需有效結構描述欄位的清單,請參閱 Cedar 文件

不明的延伸模組類型 `extension-name`

在 Cedar 2 中,當您宣告屬性type為 時Extension,您可以指定 name 欄位的任何值,無論該值是否為有效的延伸類型名稱。這是 Cedar 4 的錯誤。若要解決此問題,請將 extension-name 取代為有效的延伸類型名稱。您可以在 Cedar 文件中找到有效的延伸類型名稱清單。