๐ ๐ฎ๐๐๐ฒ๐ฟ ๐๐ช๐ฆ ๐๐๐ ๐๐ผ ๐ฒ๐ป๐๐๐ฟ๐ฒ ๐๐ผ๐๐ฟ ๐ฐ๐น๐ผ๐๐ฑ ๐ฟ๐ฒ๐บ๐ฎ๐ถ๐ป๐ ๐๐ฒ๐ฐ๐๐ฟ๐ฒ ๐ฎ๐ป๐ฑ ๐ฎ๐ฐ๐ฐ๐ฒ๐๐๐ถ๐ฏ๐น๐ฒ ๐ผ๐ป๐น๐ ๐๐ผ ๐๐ต๐ผ๐๐ฒ ๐๐ต๐ผ ๐ป๐ฒ๐ฒ๐ฑ ๐ถ๐.
AWS Identity and Access Management (IAM) enables you to manage identities and access AWS services and resources securely. Instead of maintaining dozens of credentials, youโll work with roles and policies that allow fine-grained permissions that can not only be assigned to users but also to resources.
AWS IAM is a fundamental part of AWS security, as it ensures that only authorized users have access to your resources. Gaining deep knowledge in the beginning ensures that you donโt create environments with crucial security flaws that are hard to revise in the future.
IAM is one of the services that is straightforward to get started with but hard to master, as the power lies in the wide range of features.
First things first: to make AWS IAM possible, you need to understand how resources are uniquely identified. This is done via Amazon Resource Identifiers, or ARNs for short. Each ARN string consists of
several parts, including the resource type, AWS region, and the account ID of the resource.

ARNs are used not only in IAM but also in various contexts, including AWS CloudFormation templates & AWS service APIs. They enable you to specify and authorize access to resources in a secure and
standardized manner.
IAM introduces concept of identities. An identity represents a user and provides access to resources within your AWS account. They can also be assigned to groups to more easily manage user rights. Each identity can be associated with one or more policies that specify the permissions for resources granted to that identity. Policies can also be attached to roles that donโt represent users or identities but can be assumed by them.
Users are identities that can interact with AWS and its APIs. They consist of a name and credentials, as well as their AWS access type(s). It is recommended to use friendly, descriptive names for your users.
You can interact with AWS in two ways:
- programmatically by using access keys to make calls to the AWS API
- via the Management Console by using a password

Each AWS account comes with a single pre-defined identity that has complete access to all resources and services. Itโs called the root user and you can sign in with the email address youโve used for the registration. This root user is not the same as an IAM user with administrator permissions, as some actions are only possible with the root user, including management of payment methods, assigning permissions to access billing and cost management, or completely closing your account and with that deleting all of its resources. AWS strongly recommends not using this user for any daily tasks due to its critical permissions.
Therefore your first task should be creating a dedicated IAM user and securing your rootโs credentials.
This means:
- enabling multi-factor authentication.
- storing your credentials in a secure place.
- deleting access keys that could be used to access the AWS API.
AWS can be used in different ways, including interactive access via the AWS management console and your browser, or programmatic access via the AWS API, depending on the user credentials. The most prominent ones are console passwords and access keys.
- Console passwords – they allow the user to sign into an interactive session at the AWS management console. Users will be prompted for the unique 12-digit account identifier, their IAM user name, and their password. The account ID is required as IAM user names donโt have to be unique over all AWS accounts like S3 bucket names, but only per account.
- Access keys – they are for programmatic access to AWS via its API. Generally speaking, itโs good to remember that everything at AWS is an API. If youโre using the AWS management console, the API calls are abstracted into a clickable user interface and the loaded scripts in your browser translate your action into calls to the AWS API. If using access keys, you can directly submit calls to the AWS API for creating, updating, deleting, or listing resources. There are multiple tools to make the use of the AWS API easier: PowerShell for Windows or aws-shell for Linux or macOS.
With an enabled MFA for your user, the API access via the Access Key ID and Secret Access Key also changed. Now, you need to request temporary credentials via your keys and the one-time security token thatโs generated by your MFA application.

Leave a comment