Policy Structure
IAM policies are JSON documents that define permissions for users, roles, or applications. They specify what actions are allowed or denied on specific resources under certain conditions.Basic Policy Structure
Policy Elements
Version
Specifies the policy language version. Always use the latest version for new policies.Statement
An array of individual permission statements. Each statement is evaluated independently.Effect
Specifies whether the statement allows or denies access. Must be either"Allow" or "Deny".
Action
Specifies the actions that the statement applies to. Can be a single action or an array of actions.Resource
Specifies the resources that the statement applies to. Can be a single resource or an array of resources.Condition (Optional)
Specifies conditions that must be met for the statement to apply.Policy Evaluation Logic
The IAM system evaluates policies using the following logic:- Default Deny: All requests are denied by default
- Explicit Allow: An explicit allow overrides the default deny
- Explicit Deny: An explicit deny overrides any allows
- All Policies Evaluated: The order of policies doesn’t matter
Evaluation Flow
Common Policy Patterns
1. Read-Only Access
2. Full Access to Specific Service
3. Conditional Access
4. Mixed Allow and Deny
Role-Based Policy Examples
Student Role
Instructor Role
Proctor Role
Administrator Role
Service-Specific Policies
SmarterMeasure Assessment Manager
SmarterProctoring Session Reviewer
Advanced Policy Patterns
Time-Based Access
IP-Based Restrictions
Multi-Factor Authentication Required
Policy Validation
Required Elements
Version- Must be present and validStatement- Must be an array with at least one statementEffect- Must be “Allow” or “Deny”Action- Must be present and non-emptyResource- Must be present and non-empty
Best Practices
- Use Least Privilege: Grant only the minimum permissions needed
- Be Specific: Use specific resources rather than wildcards when possible
- Use Conditions: Add conditions to limit when policies apply
- Regular Review: Periodically review and update policies
- Test Policies: Test policies in a development environment first
