

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

# 測試您的授權模型
<a name="authorization-testing"></a>

若要了解部署應用程式時 Amazon Verified Permissions 授權決策的影響，您可以在使用 [使用 Amazon Verified Permissions 測試工作台](test-bench.md)和 HTTPS REST API 請求對 Verified Permissions 開發政策時評估政策。測試工作台是 中的工具 AWS 管理主控台 ，用於評估政策存放區中的授權請求和回應。

Verified Permissions REST API 是您從概念理解到應用程式設計的下一個開發步驟。Verified Permissions API 接受具有 [IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html)、[IsAuthorizedWithToken](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html) 和 [BatchIsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_BatchIsAuthorized.html) 的授權請求，做為區域[服務端點](https://docs.aws.amazon.com/general/latest/gr/verifiedpermissions.html)的[簽章 AWS API 請求](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html)。若要測試您的授權模型，您可以使用任何 API 用戶端產生請求，並驗證您的政策是否如預期傳回授權決策。

例如，您可以使用下列程序在範例政策存放`IsAuthorized`區中測試 。

------
#### [ Test bench ]

1. 在 Verified Permissions 主控台開啟 [Verified Permissions 主控台](https://console.aws.amazon.com/verifiedpermissions/)。從名為 **DigitalPetStore** 的**範本政策存放區建立政策存放**區。

1. 選取新政策存放區中的**測試工作台**。

1. 在 Verified Permissions API 參考中，從 [IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples) 填入您的測試台請求。下列詳細資訊會複寫**範例 4** 中參考 **DigitalPetStore** 範例的條件。

   1. 將 Alice 設定為主體。針對**主體採取動作**，選擇 `DigitalPetStore::User`並輸入 `Alice`。

   1. 將 Alice 的角色設定為客戶。選擇**新增父**系，選擇 `DigitalPetStore::Role`，然後輸入客戶。

   1. 將資源設定為順序 "1234"。對於**委託人正在執行的資源**，選擇 `DigitalPetStore::Order`並輸入 `1234`。

   1. `DigitalPetStore::Order` 資源需要 `owner` 屬性。將 Alice 設定為訂單的擁有者。選擇`DigitalPetStore::User`並輸入 `Alice`

   1. Alice 請求檢視訂單。針對**委託人正在採取的動作**，選擇 `DigitalPetStore::Action::"GetOrder"`。

1. 選擇**執行授權請求**。在未修改的政策存放區中，此請求會導致 `ALLOW`決策。請注意傳回決策的**滿意政策**。

1. 從左側導覽列中選擇**政策**。檢閱靜態政策並說明**客戶角色 - 取得訂單**。

1. 觀察 Verified Permissions 允許請求，因為主體是客戶角色，並且是資源的擁有者。

------
#### [ REST API ]

1. 在 Verified Permissions 主控台開啟 [Verified Permissions 主控台](https://console.aws.amazon.com/verifiedpermissions/)。從名為 **DigitalPetStore** 的**範本政策存放區建立政策存放**區。

1. 請注意新**政策存放區的政策存放區 ID**。

1. 在 Verified Permissions API 參考中的 [IsAuthorized](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples) 中，複製參考 **DigitalPetStore** 範例**的範例 4** 請求內文。

1. 開啟您的 API 用戶端，並為政策存放區建立區域服務端點的請求。填入標頭，如[範例](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html#API_IsAuthorized_Examples)所示。

1. 在範例請求內文中貼上 ，並將 的值變更為您先前記下`policyStoreId`的政策存放區 ID。

1. 提交請求並檢閱結果。在預設 **DigitalPetStore** 政策存放區中，此請求會傳回 `ALLOW` 決策。

------

您可以在測試環境中變更政策、結構描述和請求，以變更結果並產生更複雜的決策。

1. 變更請求的方式會變更驗證許可的決策。例如，將 Alice 的角色變更為 `Employee`，或將順序 `owner` 1234 的屬性變更為 `Bob`。

1. 以影響授權決策的方式變更政策。例如，使用描述**客戶角色 - 取得訂單**來修改政策，以移除 `User` 必須是 擁有者的條件，`Resource`並修改請求，以便 `Bob`想要檢視訂單。

1. 變更結構描述，以允許政策做出更複雜的決策。更新請求實體，讓 Alice 可以滿足新的要求。例如，編輯結構描述`User`以允許 成為 `ActiveUsers`或 的成員`InactiveUsers`。更新政策，以便只有作用中的使用者才能檢視自己的訂單。更新請求實體，讓 Alice 成為作用中或非作用中的使用者。