

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

# 使用 Amazon Verified Permissions 實作 PDP
<a name="avp"></a>

Amazon Verified Permissions 是一種可擴展、精細的許可管理和授權服務，可用來實作政策決策點 (PDP)。作為政策引擎，它可以協助您的應用程式即時驗證使用者動作，並反白顯示過度特權或無效的許可。它透過外部化授權並集中管理政策，協助您的開發人員更快速地建置更安全的應用程式。透過將授權邏輯與應用程式邏輯分開，Verified Permissions 支援政策解耦。

透過使用 Verified Permissions 實作 PDP，並在應用程式中實作最低權限和持續驗證，開發人員可以使其應用程式存取符合[零信任](https://aws.amazon.com/security/zero-trust/)原則。此外，安全與稽核團隊可以更妥善地分析和稽核可存取應用程式中哪些資源的人員。Verified Permissions 使用 [Cedar](https://www.cedarpolicy.com/en)，這是一種專用且安全優先的開放原始碼政策語言，根據角色型存取控制 (RBAC) 和屬性型存取控制 (ABAC) 定義政策型存取控制，以實現更精細、內容感知的存取控制。

Verified Permissions 為 SaaS 應用程式提供一些有用的功能，例如能夠使用 Amazon Cognito、Google 和 Facebook 等多個身分提供者來啟用多租戶授權。另一個對 SaaS 應用程式特別有幫助的已驗證許可功能是支援每個租用戶的自訂角色。如果您正在設計客戶關係管理 (CRM) 系統，一個租戶可能會根據一組特定條件，依銷售機會定義存取的精細程度。另一個租用戶可能有另一個定義。Verified Permissions 中的基礎許可系統可以支援這些變化，這使得它成為 SaaS 使用案例的理想候選者。Verified Permissions 也支援撰寫適用於所有租用戶的政策，因此直接套用護欄政策以防止以 SaaS 供應商身分進行未經授權的存取。

![\[使用 Amazon Verified Permissions 實作 PDP\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/saas-multitenant-api-access-authorization/images/avp.png)


**為什麼要使用 Verified Permissions？**

搭配 [Amazon Cognito](https://aws.amazon.com/cognito/) 等身分提供者使用 Verified Permissions，為您的應用程式提供更動態、以政策為基礎的存取管理解決方案。您可以建置應用程式，協助使用者共用資訊和協作，同時維護其資料的安全性、機密性和隱私權。Verified Permissions 為您提供精細的授權系統，以根據身分和資源的角色和屬性強制執行存取權，協助降低營運成本。您可以定義政策模型、在中央位置建立和存放政策，並以毫秒為單位評估存取請求。

在 Verified Permissions 中，您可以使用稱為 Cedar 的簡單、人類可讀宣告性語言來表達許可。無論每個團隊的應用程式使用何種程式設計語言，都可以在團隊之間共用以 Cedar 撰寫的政策。

**使用 Verified Permissions 時應考量的事項**

在 Verified Permissions 中，您可以建立政策並將其自動化，做為佈建的一部分。您也可以在執行時間建立政策，做為應用程式邏輯的一部分。最佳實務是，當您建立政策作為租戶加入和佈建的一部分時，您應該使用持續整合和持續部署 (CI/CD) 管道來管理、修改和追蹤政策版本。或者，應用程式可以管理、修改和追蹤政策版本；不過，應用程式邏輯本質上不會執行此功能。若要在您的應用程式中支援這些功能，您必須明確設計您的應用程式以實作此功能。

如果需要從其他來源提供外部資料以達到授權決策，則必須擷取此資料並將其提供給 Verified Permissions，作為授權請求的一部分。此服務預設不會擷取其他內容、實體和屬性。