Day 8: AWS Identity and Access Management (IAM) π

π Hello! I'm passionate about DevOps and have over 1+ years of experience in the field. I'm proficient in a variety of cutting-edge technologies and always motivated to expand my knowledge and skills. Let's connect and grow together!
SKILLS:
πΉ Languages & Runtimes: Python, Shell Scripting, HCL, YAML πΉ Cloud Technologies: AWS, Microsoft Azure, GCP πΉ Infrastructure Tools: Docker, Terraform, AWS CloudFormation πΉ Other Tools: Linux, Git and GitHub Actions, Jenkins, Jira, GitLab (beginner), Docker, AWS DevOps πΉ Web Development: HTML, CSS, Bootstrap, Python, SQL
Job & Responsibilities:
π Improved development efficiency by implementing CI/CD pipelines, resulting in a 30% reduction in deployment time on the test server. π Strengthened deployment and testing reliability by utilizing Docker containers and optimizing Dockerfile, reducing development issues on the test server by 20%. βοΈ Automated S3 bucket log creation with Shell scripting, eliminating 100% of manual search and saving 2 hours per week. π Scheduled EC2 instance start/stop using Lambda functions and Event Bridge, leading to a 25% decrease in infrastructure costs. π§ Utilized AWS, Linux, Python, Docker, Shell scripting, Terraform, Jenkins Pipelines, and automation to streamline workflows and improve overall system performance.
I'm very detail-oriented and possess strong written and verbal communication skills. As a high performer with a possibility mindset, I strive to solve problems using efficient approaches.
Let's Connect & Grow:
If you find my profile suitable for the role you are searching for, please feel free to reach out to me at sumanprasad9766@gmail.com.
Introduction to IAM: Users & Groups π
Welcome to Day 8 of our AWS Solutions Architect journey! Today, we're exploring AWS Identity and Access Management (IAM) is a powerful global service that allows you to manage access to your AWS resources securely. Let's dive into the fundamentals, starting with users and groups:
IAM Overview
IAM is designed to handle identity and access management on a global scale. By default, AWS provides a root account, but it's a best practice to avoid using or sharing the root account for security reasons.
Users and Groups
Users: These are individuals within your organization, each having a unique identity. Users can be organized into groups for easier management.
Groups: Primarily a way to organize users. However, groups cannot contain other groups. A user can belong to multiple groups or none at all.
Example:
Alice, Bob, Charles, David, and Edward are individual users.
There are two groups: Developers and Operations.
Additionally, there's an Audit Team, represented by Fred.
Understanding IAM Permissions π‘οΈ
IAM's strength lies in its ability to assign permissions to users and groups through JSON-based policies. Here are the key concepts:
Policies
IAM policies are JSON documents specifying what actions are allowed or denied.
Applying the principle of least privilege is crucial. Only grant the permissions necessary for a user or group to perform their tasks.
Example Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "elasticloadbalancing:Describe*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:ListMetrics",
"cloudwatch:GetMetricStatistics",
"cloudwatch:Describe*"
],
"Resource": "*"
}
]
}
IAM Policies in Action π¬
Policies Inheritance
Policies can be attached directly to users or groups.
Users can inherit permissions from both attached policies and group memberships.
Example Diagram:
Alice, Bob, Charles, David, Edward
βββ Developers (Group)
βββ Operations (Group)
βββ Audit Team (Group)
βββ Fred (User)
IAM Policies Structure
Policies consist of:
Version: Specifies the policy language version, always include "2012-10-17."
Id: An optional identifier for the policy.
Statement: The core of the policy, comprising one or more individual statements.
Statement Structure:
Sid: An optional identifier for the statement.
Effect: Determines whether the statement allows or denies access (Allow, Deny).
Principal: The account/user/role to which this policy applies.
Action: A list of actions allowed or denied by the policy.
Resource: A list of resources to which the actions apply.
Condition: Optional conditions for when the policy is in effect.
Conclusion π
Understanding AWS IAM is fundamental to securing your cloud infrastructure. By grasping the concepts of users, groups, and policies, you lay the foundation for a robust and secure access management strategy. IAM's flexibility empowers you to implement the principle of least privilege effectively, ensuring your AWS resources stay secure and accessible only to those who need them. Happy IAM-ing! π




