Demo Users and Resources
The demo includes three pre-configured users with different roles and attributes:Users
| User | Role | Department | Clearance Level | Description |
|---|---|---|---|---|
| Alice Garcia 👩💼 | Analyst | Finance | 2 | Financial analyst with no initial policy |
| Bob Torres 👨💻 | Admin | Finance | 3 | Administrator with RBAC Admin policy |
| Carol Mendez 👩🔬 | Auditor | HR | 1 | HR auditor with read-only access |
Resources
| Resource | Department | Classification | Description |
|---|---|---|---|
| 📊 Q4-Report-2024 | Finance | confidential | Q4 financial report |
| 💰 HR-Payroll-2024 | HR | restricted | HR payroll data |
| 📈 Sales-Dashboard | Sales | internal | Sales metrics dashboard |
Actions
- Read - View the document
- Edit - Modify the document
- Delete - Remove the document
Act 1: Zero Trust — Deny by Default
Concept: In a Zero Trust architecture, all access is denied by default, even for authenticated users.Select Alice Garcia
In the demo UI, select Alice Garcia from the user dropdown.
- Role: Analyst
- Department: Finance
- Clearance: Level 2
Attempt to read Q4-Report-2024
- Select Q4-Report-2024 from the resources dropdown
- Choose Read as the action
- Click Check Access
Key Takeaway: This is Zero Trust in action. Authentication (proving who you are) doesn’t grant authorization (what you can do). Every access request requires explicit permission.
Act 2: Cedar Policy in Real-Time
Concept: Cedar policies control access and activate instantly without code changes or redeployment.Create your first Cedar policy
In the AWS Console:
- Navigate to Verified Permissions > Your Policy Store
- Click Policies > Create > Static policy
- Enter policy name:
AllowAnalystReadOwnDepartment - Add this Cedar policy:
- Click Save
Repeat the access check
Return to the demo UI and repeat Alice’s request:
- User: Alice Garcia (Analyst, Finance)
- Resource: Q4-Report-2024 (Finance)
- Action: Read
Key Takeaway: You didn’t change any application code. You didn’t redeploy anything. You simply added a Cedar policy, and authorization behavior changed immediately. This is centralized policy management.
Understanding the Policy
This policy grants access when:- The principal (user) has the Analyst role
- The action is Read
- The user’s department matches the resource’s department (ABAC condition)
Act 3: Attribute-Based Access Control (ABAC)
Concept: Access decisions based on attributes of the user, resource, and context rather than just roles.Test cross-department access
Select Carol Mendez in the UI:
- Role: Auditor
- Department: HR
- Department: Finance
- Action: Read
Create an Auditor policy
Carol is denied because she’s in HR, not Finance. The existing policy requires department match.Create a new policy for auditors:Name:
AllowAuditorReadAllKey Takeaway: This demonstrates ABAC in action. The authorization decision considers:
- Principal attributes: Carol’s role (Auditor) and department (HR)
- Resource attributes: Document’s department (Finance) and classification
- Policy conditions: Role-based permissions that override department boundaries
Act 4: Forbid Precedence Over Permit
Concept: In Cedar,forbid policies always take precedence over permit policies, with no exceptions.
Test Carol's edit access
With Carol still selected:
- Resource: Q4-Report-2024
- Action: Edit
Create a forbid policy
Let’s explicitly forbid auditors from making changes:Name:
ForbidAuditorModificationsKey Takeaway: The
forbid keyword creates non-overridable denials. This is crucial for security guardrails:- Compliance requirements (e.g., “auditors must never modify records”)
- Regulatory constraints
- Security boundaries that should never be crossed
Act 5: AI Agent with Natural Language
Concept: Combine AWS Verified Permissions with AI to enable natural language authorization queries.This scenario requires a valid Anthropic API Key configured during deployment. If you used
placeholder, see the AI Agent Usage page for setup instructions.Ask a complex question
Try asking:
“Check access for all users to the Q4-Report-2024”The AI agent will:
- Parse your natural language query
- Determine it needs to check multiple users
- Call the AVP API for each user
- Synthesize the results into a human-readable response
Key Takeaway: The AI agent provides a natural language interface to your authorization system. It can:
- Answer “what if” questions about access
- Audit permissions across users and resources
- Explain authorization decisions in plain language
- Help debug policy configurations
Demo Summary
Here’s a complete matrix of the demo scenarios:| Act | User | Action | Resource | Initial Result | After Policy | Concept Demonstrated |
|---|---|---|---|---|---|---|
| 1 | Alice (Analyst/Finance) | Read | Q4-Report-2024 (Finance) | 🚫 DENY | — | Zero Trust: deny by default |
| 2 | Alice (Analyst/Finance) | Read | Q4-Report-2024 (Finance) | 🚫 DENY | ✅ ALLOW | Cedar policies activate in real-time |
| 3 | Carol (Auditor/HR) | Read | Q4-Report-2024 (Finance) | 🚫 DENY | ✅ ALLOW | ABAC: attributes control access |
| 4 | Carol (Auditor/HR) | Edit | Q4-Report-2024 (Finance) | 🚫 DENY | 🚫 DENY | forbid always wins over permit |
| 5 | Multiple users | Multiple | Multiple resources | Varies | Varies | AI + AVP for natural language queries |
Next Steps
AI Agent Usage
Deep dive into the AI agent features and example queries
Cedar Policy Examples
Explore more Cedar policy patterns