本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
整合您的授權模型與應用程式
若要在應用程式中實作 Amazon Verified Permissions,您必須定義您希望應用程式強制執行的政策和結構描述。在您的授權模型就地並經過測試後,下一步是從強制執行點開始產生 API 請求。若要這樣做,您必須設定應用程式邏輯來收集使用者資料,並將其填入授權請求。
應用程式如何使用 Verified Permissions 授權請求
-
收集目前使用者的相關資訊。一般而言,使用者的詳細資訊會在已驗證工作階段的詳細資訊中提供,例如 JWT 或 Web 工作階段 Cookie。此使用者資料可能來自連結至政策存放區的 Amazon Cognito 身分來源,或來自其他 OpenID Connect (OIDC) 供應商。
-
收集使用者想要存取的資源相關資訊。一般而言,當使用者選擇需要您的應用程式載入新資產時,您的應用程式會收到資源的相關資訊。
-
判斷您的使用者想要採取的動作。
-
使用使用者嘗試操作的委託人、動作、資源和實體來產生驗證許可的授權請求。驗證許可會根據政策存放區中的政策評估請求,並傳回授權決策。
-
您的應用程式會從 Verified Permissions 讀取允許或拒絕回應,並強制執行使用者請求的決定。
Verified Permissions API 操作已內建於 AWS SDKs中。若要在應用程式中包含 Verified Permissions,請將所選語言的 AWS SDK 整合到應用程式套件中。
若要進一步了解 和 AWS SDKs,請參閱適用於 的工具 Amazon Web Services
以下是各種 AWS SDKs 中已驗證許可資源的文件連結。
的下列 適用於 JavaScript 的 AWS SDK 範例IsAuthorized
源自使用 Amazon Verified Permissions 和 Amazon Cognito 簡化精細授權
const authResult = await avp.isAuthorized({ principal: 'User::"alice"', action: 'Action::"view"', resource: 'Photo::"VacationPhoto94.jpg"', // whenever our policy references attributes of the entity, // isAuthorized needs an entity argument that provides // those attributes entities: { entityList: [ { "identifier": { "entityType": "User", "entityId": "alice" }, "attributes": { "location": { "String": "USA" } } } ] } });