Member-only story

The difference between an AWS role and an instance profile

Breaking down AWS IAM

Tj Blogumas
DevOps Dudes
2 min readMay 5, 2020

There are two key parts of any authentication system, not just IAM:

  • Who am I?
  • What am I permitted to do?

When you create an IAM user, those two questions are mixed into a single principle: the IAM user has both properties. It has credentials in which someone can “be” the user, and it has permissions attached to allow the user to perform actions.

Roles are simply “what can I do?

They provide a mechanism to define a collection of permissions. You assign Managed Policies and inline policies to the role to give it permissions to act. But it, in and of itself, isn’t a particular person or thing. It does not define “who am I?”

Roles are designed to be “assumed” by other principals which do define “who am I?”, such as users, Amazon services, and EC2 instances.

An instance profile, on the other hand, defines “who am I?” Just like an IAM user represents a person, an instance profile represents EC2 instances. The only permissions an EC2 instance profile has is the power to…

Create an account to read the full story.

The author made this story available to Medium members only.
If you’re new to Medium, create a new account to read this story on us.

Or, continue in mobile web

Already have an account? Sign in

DevOps Dudes
DevOps Dudes

Published in DevOps Dudes

A collection of stories that have anything and everything to do with DevOps from horror stories to success stories. If it's about Gitlab, Jenkins, Chef, Ansible, AWS, Azure, Kubernetes, Software Engineer then it belongs here.

Tj Blogumas
Tj Blogumas

Written by Tj Blogumas

Director of IT Operations at a KC based FinTech. Technology and Automation enthusiast.

Responses (6)

Write a response