# IAM - Manage Users, Roles and Permissions

With IAM service you can specify who can access which services and resources&#x20;

&#x20;   ▪ Create and manage AWS Users and Groups&#x20;

&#x20;   ▪ Assign policies (set of permissions)

![](https://2601183865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8QpIzz6VwCOTMwaqKYa3%2Fuploads%2F7P83zzjgxCqYHaGf3RHh%2Fimage.png?alt=media\&token=860a4efc-e51d-491e-849f-07317fe9a554)

### Different Types of IAM Users

&#x20;   ▪ Human Users&#x20;

&#x20;   ▪ System Users: <mark style="color:red;">For example</mark> Jenkins needs permission to deploy Docker containers on AWS

### Groups

&#x20;   ▪ For granting access to multiple IAM users

### IAM roles&#x20;

&#x20;   ▪ IAM role is similar to an IAM user&#x20;

&#x20;   ▪ Instead of being uniquely associated with one person, a role is intended to be assumable by anyone who needs it&#x20;

&#x20;   ▪ Also Policies cannot be assigned to AWS services directly&#x20;

&#x20;   ▪ So role is used to grant AWS services access to other AWS services

{% hint style="info" %} <mark style="color:red;">**How to attach policies to IAM Role?**</mark>

1. Create IAM Role
2. Assign Role to AWS Service&#x20;
3. Attach Policies to that IAM Role
   {% endhint %}

![](https://2601183865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8QpIzz6VwCOTMwaqKYa3%2Fuploads%2FUt3ZqxI4aE55rIoFTsEZ%2Fimage.png?alt=media\&token=4a95b372-0ddb-4f6a-ac6f-17421b7918d3) ![](https://2601183865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8QpIzz6VwCOTMwaqKYa3%2Fuploads%2F0xkhafYZvjcvjRpanM1D%2Fimage.png?alt=media\&token=c501e2e2-cc32-4f0e-b68f-a29fb42be7aa)

![](https://2601183865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8QpIzz6VwCOTMwaqKYa3%2Fuploads%2FV9IuthTBXH3dBqlVZfjp%2Fimage.png?alt=media\&token=67e3415f-5a47-48b1-ad05-a21caaec8ae3)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://asafahmadov.gitbook.io/cloud-and-devops/devops-bootcamp/all-about-aws-services/iam-manage-users-roles-and-permissions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
