AWS & IAM Basics


#90daysofdevopschallenge
#day38
What is AWS?
AWS is a famous Cloud Provider handled by Amazon. It offers various cloud computing services that are accessible over the public Internet.
For creating VM or EC2 instances AWS used Citrix Hypervisor.
What is AWS IAM?
AWS Identity and Access Management (IAM) is a web service that helps you securely control access to AWS resources. With IAM, you can centrally manage permissions that control which AWS resources users can access. You use IAM to control who is authenticated (signed in) and authorized (has permissions) to use resources.
a) The IAM user limit is 5000 per AWS Account. At one time you can add 10 users.
b) You can create 300 groups per AWS Account.
c) You can create 1000 roles under one AWS account.
d) Default limits to managed policies attached to IAM Role and IAM user is 10.
e) One IAM user can be a member of 10 groups.
f) We can assign two access keys to one IAM user.
Features of AWS IAM:
a) You can share your AWS account with 5000 users without giving your credentials.
b) You can permit users as per the requirement.
c) You can give permission level like if you want to permit to access EC2 instances but that person can’t create a new instance or delete an instance, so you can remove that access.
d) AWS IAM provides Multi-Factor Authentication also, in that you can add two-factor authentication.
e) In AWS IAM Identity Federation feature is also available, In this case, believe on a third-party application to authenticate.
f) Identity Information for assurance, whatever people are trying to access you got that report. If you use AWS CloudTrail then you receive log records that include information about those who made requests for resources in your account
g) AWS provides IAM service free.
❄Tasks:
Task 1:
Create an IAM user with the username of your wish and grant EC2 Access. Launch your Linux instance through the IAM user that you created now and install Jenkins and Docker on your machine via a single Shell Script.
Step 1: Log in to AWS by using the root user.
Step 2: Create an IAM user by clicking on IAM.
Step 3: Click on Users and then go on Create Users.
Step 4: Give Username and password. Please remember the password then click on Next.
Step 5: Click on Attach Policies and Give Permission to Create an EC2 instance.
Step 6: Recheck all the details and Click on Create User.
Step 7: Congratulations!! you successfully Created IAM users and downloaded the user_credentials.csv file. Which contains all the information related users.
Step 8: In the above file copy the console sign-in URL open it in the browser and sign in as an AWS IAM user.
Step 9: Once you click on sign-in, one window will open to change the password. Here users can create their password for all security After that Click on dashboard then EC2.
Step 10: After Click on Launch instances, Give credentials to create EC2-instance and click on Launch Instances.
Step 11: Verify EC2-Instance Successfully created.
Step 12: Access that EC2 instance by using CLI.
Step 12: Install Jenkins and Docker. Verify it's installed Successfully.
To install Docker follow this: Docker_Install
To install Jenkins follow this: Jenkins_Install
Task 2:
In this task, you need to prepare a devops team of Avengers. Create 3 IAM users of Avengers and assign them to devops groups with IAM policy.
Step 1: Create two more IAM users as created in Task 1.
Step 2: Go over the IAM on the AWS dashboard and click on IAM Groups. Select Create group.
Step 3: Give the name to the IAM group as mentioned in the given task Avengers.
Step 4: Congratulations!! Successfully Created IAM Group.
Step 5: Click on "Add users". Select the user which you want to add.
Step 6: Verify User Added Successfully.
In the Next Article, we will deep dive into AWS and IAM ......
Thank you for giving your precious time to read this blog/article and if any suggestions or improvements are required on my blogs feel free to connect on LinkedIn Unnati Gupta. Happy Learning !!!
Subscribe to my newsletter
Read articles from Unnati Gupta directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Unnati Gupta
Unnati Gupta
👨💻 DevOps Engineer at 6D Technology Passionate about bridging the gap between development and operations, I'm a dedicated DevOps Engineer at 6D Technology. With a strong belief in the power of automation, continuous integration, and continuous delivery, I thrive in optimizing software development pipelines for efficiency and reliability. 🚀 Exploring the DevOps Universe In my articles, I delve into the fascinating world of DevOps, where I share insights, best practices, and real-world experiences. From containerization and orchestration to CI/CD pipelines and infrastructure as code, I'm here to demystify the complex and empower fellow developers and ops enthusiasts. 📝 Blogging for Knowledge Sharing As a tech enthusiast and a lifelong learner, I'm committed to sharing knowledge. My articles aim to simplify complex concepts and provide practical tips that help teams and individuals streamline their software delivery processes. 🌐 Connect with Me Let's connect and explore the ever-evolving landscape of DevOps together. Feel free to reach out, comment, or share your thoughts on my articles. Together, we can foster a culture of collaboration and innovation in the DevOps community. 🔗 Social Links LinkedIn: https://www.linkedin.com/in/unnati-gupta-%F0%9F%87%AE%F0%9F%87%B3-a62563183/ GitHub: https://github.com/DevUnnati 📩 Contact Have questions or looking to collaborate? You can reach me at unnatigupta527@gmail.com Happy Learning!!