Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Understanding Managed vs Inline Policies in AWS IAM
📖 Scenario: You are working as a cloud administrator for a small company. You need to set up permissions for a new user in AWS. You want to understand the difference between managed policies and inline policies to decide how to assign permissions properly.
🎯 Goal: Build two AWS IAM policy configurations: one using a managed policy and one using an inline policy attached to a user. This will help you see how each policy type is created and attached.
📋 What You'll Learn
Create an IAM user named TestUser
Create a managed policy named ReadOnlyAccessPolicy with read-only permissions for S3
Attach the managed policy ReadOnlyAccessPolicy to TestUser
Create an inline policy named InlineS3WritePolicy with write permissions for S3
Attach the inline policy InlineS3WritePolicy directly to TestUser
💡 Why This Matters
🌍 Real World
Managing user permissions securely and efficiently is critical in real-world cloud environments to control access to resources.
💼 Career
Understanding managed and inline policies is essential for roles like Cloud Administrator, DevOps Engineer, and Security Engineer working with AWS.
Progress0 / 4 steps
1
Create the IAM user TestUser
Write the AWS CLI command to create an IAM user named TestUser.
AWS
Hint
Use the aws iam create-user command with the --user-name option.
2
Create a managed policy named ReadOnlyAccessPolicy with S3 read-only permissions
Write the AWS CLI command to create a managed policy named ReadOnlyAccessPolicy that allows s3:GetObject and s3:ListBucket actions on all S3 resources.
AWS
Hint
Use aws iam create-policy with --policy-name and --policy-document JSON string.
3
Attach the managed policy ReadOnlyAccessPolicy to TestUser
Write the AWS CLI command to attach the managed policy named ReadOnlyAccessPolicy to the IAM user TestUser. Use the policy ARN format arn:aws:iam::aws:policy/ReadOnlyAccessPolicy.
AWS
Hint
Use aws iam attach-user-policy with --user-name and --policy-arn.
4
Create and attach an inline policy named InlineS3WritePolicy with S3 write permissions to TestUser
Write the AWS CLI command to put an inline policy named InlineS3WritePolicy on the IAM user TestUser. The policy should allow s3:PutObject action on all S3 resources.
AWS
Hint
Use aws iam put-user-policy with --user-name, --policy-name, and --policy-document.
Practice
(1/5)
1. Which statement best describes an AWS managed policy?
easy
A. A policy that cannot be changed once created.
B. A policy embedded directly into a single user, group, or role.
C. A reusable permission set that can be attached to multiple users, groups, or roles.
D. A policy that only applies to AWS services, not users.
Solution
Step 1: Understand managed policy characteristics
Managed policies are standalone and reusable permission sets in AWS.
Step 2: Compare with inline policies
Inline policies are embedded directly into one user, group, or role, unlike managed policies.
Final Answer:
A reusable permission set that can be attached to multiple users, groups, or roles. -> Option C
Quick Check:
Managed policy = reusable permission set [OK]
Hint: Managed = reusable; Inline = embedded [OK]
Common Mistakes:
Confusing inline policies as reusable
Thinking managed policies are fixed and unchangeable
Assuming managed policies apply only to services
2. Which of the following is the correct way to attach an inline policy to a user in AWS IAM?
easy
A. AttachPolicy(userName, policyArn)
B. PutUserPolicy(userName, policyName, policyDocument)
C. AttachUserPolicy(userName, policyName)
D. CreateInlinePolicy(policyDocument)
Solution
Step 1: Identify AWS IAM API for inline policies
The correct API to attach an inline policy to a user is PutUserPolicy, which requires user name, policy name, and policy document.
Step 2: Eliminate incorrect options
AttachPolicy and AttachUserPolicy are not valid AWS IAM API calls for inline policies. CreateInlinePolicy is not a valid standalone call.
Final Answer:
PutUserPolicy(userName, policyName, policyDocument) -> Option B
Quick Check:
Inline policy attachment uses PutUserPolicy [OK]
Hint: Inline policies use PutUserPolicy API [OK]
Common Mistakes:
Using AttachPolicy which is for managed policies
Confusing policy ARN with inline policy document
Trying to create inline policy without specifying user
3. Given the following scenario: A user has both an inline policy allowing S3 read access and a managed policy denying S3 access. What is the effective permission for S3 access?
medium
A. The user cannot read S3 because explicit deny in managed policy overrides allow.
B. The user cannot read S3 because inline policies are ignored when managed policies exist.
C. The user can read S3 because managed policies are ignored if inline policies exist.
D. The user can read S3 because inline policies override managed policies.
Solution
Step 1: Understand AWS policy evaluation logic
AWS evaluates all policies together. Explicit deny in any policy overrides any allow.
Step 2: Apply to scenario
The managed policy denies S3 access explicitly, so even though inline policy allows it, deny takes precedence.
Final Answer:
The user cannot read S3 because explicit deny in managed policy overrides allow. -> Option A
Quick Check:
Explicit deny always overrides allow [OK]
Hint: Explicit deny beats allow, regardless of policy type [OK]
4. You created an inline policy for a role but it is not granting the expected permissions. What is the most likely cause?
medium
A. The inline policy JSON syntax is invalid.
B. The role already has a managed policy attached with higher priority.
C. Inline policies cannot be attached to roles.
D. The inline policy name conflicts with an existing managed policy.
Solution
Step 1: Verify inline policy attachment rules
Inline policies can be attached to roles, so Inline policies cannot be attached to roles. is incorrect.
Step 2: Check common issues with inline policies
Invalid JSON syntax in the inline policy will prevent permissions from applying correctly.
Step 3: Understand policy priority
Managed and inline policies are evaluated together; no priority overrides permissions except explicit deny.
Final Answer:
The inline policy JSON syntax is invalid. -> Option A
Quick Check:
Invalid JSON breaks policy effect [OK]
Hint: Check JSON syntax first for inline policy issues [OK]
Common Mistakes:
Assuming inline policies can't attach to roles
Thinking managed policies override inline by priority
Confusing policy names causing conflicts
5. You manage a team where multiple users need the same permissions to access DynamoDB. You also have one user who needs a unique permission set. What is the best approach to assign policies?
hard
A. Use only managed policies for all users, including the unique one.
B. Create inline policies for all users to keep permissions separate.
C. Attach the same inline policy to all users and add extra inline policies for the unique user.
D. Create a managed policy for the common permissions and attach it to all users; create an inline policy for the unique user.
Solution
Step 1: Identify best practice for shared permissions
Managed policies are reusable and ideal for common permissions shared by multiple users.
Step 2: Handle unique permissions
Inline policies are best for unique, one-off permissions tied to a single user.
Step 3: Combine approaches for efficiency and clarity
Use managed policy for the team and inline policy for the unique user to avoid duplication and ease management.
Final Answer:
Create a managed policy for the common permissions and attach it to all users; create an inline policy for the unique user. -> Option D
Quick Check:
Managed for shared, inline for unique [OK]
Hint: Managed for many users, inline for one user [OK]
Common Mistakes:
Using inline policies for all users causing duplication