Amazon Verified Permissions New2022年〜
A service that externalizes application authorization logic using the Cedar policy language
What It Does
Amazon Verified Permissions lets you define application authorization (who can do what) logic in the Cedar policy language, separating it from application code. Access rules are centralized in a policy store, and authorization decisions are made via API. It integrates with Cognito for user attribute-based authorization.
Use Cases
Authorization for multi-tenant SaaS applications, implementing role-based access control (RBAC) and attribute-based access control (ABAC), and separating authorization logic from application code.
Everyday Analogy
Think of a building access control system. Access rights to each room (resource) are centralized in the management system (Verified Permissions), with rules (policies) like "Sales department employees can enter Meeting Room A" and "Admins can enter all rooms" managed in one place.
What Is Verified Permissions?
Amazon Verified Permissions is an authorization externalization service. Traditionally, "Can this user access this resource?" decisions were implemented as if-statements in application code. Verified Permissions defines rules in the Cedar policy language and executes authorization decisions via the IsAuthorized API. Policy changes take effect without redeploying the application.
Cedar Policies and Schema
Cedar is an open-source policy language developed by AWS. It declaratively describes "who (principal) can do what (action) to what (resource)." Schemas define entity types (User, Document, Folder) and actions (Read, Write, Delete), enabling policy consistency validation. Integration with Cognito user pools lets you use JWT token attributes (groups, custom attributes) in policy decisions. To deepen your understanding of Cedar policies and schema, related books on Amazon are a helpful resource.
Getting Started
Create a policy store in the Verified Permissions console and define a schema. Write Cedar policies to describe access rules. Call the IsAuthorized API from your application and control access based on the result (Allow / Deny).
Things to Watch Out For
- Pay-per-use based on authorization request count. Watch costs for high-frequency authorization decisions
- Cedar is open source, enabling local policy testing and simulation