SlideShare a Scribd company logo
1 of 20
Introduction to AWS best Identity
and Access Management
Paul Simon Allen
CIT Cloudification Services Team
August 3, 2016
• Basics
– What is IAM?
– IAM concepts
• Shibboleth Integration
• Cornell Policy and IAM Best Practices
• AWS Security Outside IAM
Agenda
• Fine-grained control of who can do what
– direct interaction
• user Bob can launch new EC2 instances
– delegation
• EC2 instance i-123456 can read S3 buckets
What is IAM?
• free
• centralized AWS service
• default scope is AWS account
• deny by default
IAM Characteristics
• Root User
– the identity used to create AWS account
– complete access
• Best practices
– don’t use this account for the everyday
– setup physical MFA and lock it away
– connect to a Cornell EGA, not an individual
– don’t use your Amazon.com shopping account
IAM Concepts – Users
• IAM Users
– an identity with assigned permissions (via policies or
groups)
– can have username/password access to AWS console
– can have (secret) key-based access to AWS APIs
• Best Practices
– rotate credentials (keys, passwords)
– MFA
– password policy
IAM Concepts – Users
• collection of IAM users
• operates like you’d think
• Best practices
– manage permissions with groups
• i.e., assign policies to groups instead of users
IAM Concepts – Groups
• set of permissions to
be granted or denied
• JSON documents
• can be assigned
directly to IAM users
IAM Concepts – Policies
{
"Version": "2012-10-17",
"Statement": [ {
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "arn:aws:s3:::*"
}, {
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"],
"Resource":
"arn:aws:s3:::EXAMPLE-BUCKET-NAME”
}, {
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject" ],
"Resource":
"arn:aws:s3:::EXAMPLE-BUCKET-NAME/*"
} ] }
• can be extremely complex
• policy versioning supported
• polices effects can “deny” or “allow”
• policy scoping
– by service, resource, region, AWS account, IAM
users/groups/roles, federated users
• conditions
– by dates, IP address, MFA presence, principal type, etc.
IAM Concepts – Policies
• IAM Policies
• Resource-based
Permissions
– S3 buckets
– Glacier vaults
– SNS topics
– SQS queues
– Key Management
Service
AWS Permissions
• a 2nd type of AWS identity
– also has assigned permissions
– similar to IAM users
• designed to be temporarily assumed
– e.g. by an EC2 instance
– e.g. by federated Shibboleth user
• no associated credentials
• Instance Profiles
– assigned to EC2 instance
– container for one or more IAM roles
IAM Concepts – Roles
• SAML identity provider to AWS
IAM
• per AWS account
– setup by Cloudification Services Team
• maps Cornell identities to IAM role
Cornell Shibboleth Integration
• AWS account 123456789012
– Cornell AD group: CIT-123456789012-admin
– AWS role: shib-admin
• assigned “AdministratorAccess” AWS policy
• Generically
– Cornell AD group: CIT-123456789012-xyz
– AWS role: shib-xyz
• assigned any policy you wish
Cornell Shibboleth Integration
• root account
– MFA enabled
– no access keys
– no everyday use
• use of IAM users (extremely) limited
• use Shibboleth-mapped roles instead of IAM users
– Two-Step Login (Duo) required
• strong IAM password policy
– when IAM users cannot be avoided
Cornell IAM-related Policies
• rotate access keys for IAM users
• use Shibboleth for temporary access keys
– Using Shibboleth for AWS API and CLI access
(Cornell Cloud Tech Blog)
Cornell IAM-related Ideals likely to be
policy soon
IAM controls access to create and manage resources
– does not control identity and access within those resources
• Elastic Compute Cloud (EC2)
– access instances using key pairs (Linux) or password (Windows)
– configure instance users separately
• Relational Database Service (RDS)
– username/passwords tied to database
• Virtual Private Cloud
– security groups, network ACLS, etc.
– controls connectivity resources
Security Outside of IAM
• script that checks if
your AWS account is in
compliance with
Cornell policy
• covers IAM and many
other points of AWS
configuration
https://github.com/CU-CloudCollab/aws-config-check
$ ./check-aws.rb
Checking IAM
Checking IAM account alias
Alias is 'cu-commercial'.
Checking IAM root user
Checking IAM identity provider configuration
Checking IAM user passwords...
Checking IAM access keys
Checking IAM password policy
Password policy should require minimum
password length of 14 or more.
Password policy should require maximum
password age 90 days or less.
Checking AWS Config Service...
...us-east-1
...us-west-2
...eu-west-1
...eu-central-1
...ap-northeast-1
Checking AWS CloudTrail...
...ap-south-1
...eu-west-1
...ap-southeast-1
...ap-southeast-2
...
• Users – Create individual users.
• Permissions – Grant least privilege.
• Groups – Manage permissions with groups.
• Conditions – Restrict privileged access further with conditions.
• Auditing – Enable AWS CloudTrail to get logs of API calls.
• Password – Configure a strong password policy.
• Rotate – Rotate security credentials regularly.
• MFA – Enable MFA for privileged users.
• Sharing – Use IAM roles to share access.
• Roles – Use IAM roles for Amazon EC2 instances.
• Root – Reduce or remove use of root.
Top IAM Best Practices (from AWS)
• Advanced Policies
• Policy Analysis
• Cross account-permissions
• Security Token Service - temporary credentials
• IAM server certificate management
• Related Services
– AWS Key Management Service
– AWS CloudTrail
– AWS Config
IAM Advanced Topics
Resources
– AWS re:Invent 2015 Security presentations
– Cornell Standard AWS Account Configurations
– Cornell Cloudification Services Wiki
– Cornell Cloudification Tech Blog
Questions?

More Related Content

Similar to AWS Intro

AWS Identity and access management for users
AWS Identity and access management for usersAWS Identity and access management for users
AWS Identity and access management for users
StephenEfange3
 

Similar to AWS Intro (20)

AWS IAM and security
AWS IAM and securityAWS IAM and security
AWS IAM and security
 
Security Day IAM Recommended Practices
Security Day IAM Recommended PracticesSecurity Day IAM Recommended Practices
Security Day IAM Recommended Practices
 
Understanding AWS Security
Understanding AWS SecurityUnderstanding AWS Security
Understanding AWS Security
 
Introduction to Three AWS Security Services - November 2016 Webinar Series
Introduction to Three AWS Security Services - November 2016 Webinar SeriesIntroduction to Three AWS Security Services - November 2016 Webinar Series
Introduction to Three AWS Security Services - November 2016 Webinar Series
 
(SEC302) IAM Best Practices To Live By
(SEC302) IAM Best Practices To Live By(SEC302) IAM Best Practices To Live By
(SEC302) IAM Best Practices To Live By
 
AWS IAM Introduction
AWS IAM IntroductionAWS IAM Introduction
AWS IAM Introduction
 
Controlling Access to your Resources
Controlling Access to your ResourcesControlling Access to your Resources
Controlling Access to your Resources
 
Security Day IAM Recommended Practices
Security Day IAM Recommended PracticesSecurity Day IAM Recommended Practices
Security Day IAM Recommended Practices
 
Introduction to Identity and Access Management (IAM)
Introduction to Identity and Access Management (IAM)Introduction to Identity and Access Management (IAM)
Introduction to Identity and Access Management (IAM)
 
In the Cloud, nobody can hear you scream: AWS Cloud Security for DevOps
In the Cloud, nobody can hear you scream: AWS Cloud Security for DevOpsIn the Cloud, nobody can hear you scream: AWS Cloud Security for DevOps
In the Cloud, nobody can hear you scream: AWS Cloud Security for DevOps
 
Managing users and aws accounts
Managing users and aws accountsManaging users and aws accounts
Managing users and aws accounts
 
AWS Summit Sydney 2014 | Understanding AWS Security
AWS Summit Sydney 2014 | Understanding AWS SecurityAWS Summit Sydney 2014 | Understanding AWS Security
AWS Summit Sydney 2014 | Understanding AWS Security
 
Understanding AWS Security
Understanding AWS SecurityUnderstanding AWS Security
Understanding AWS Security
 
AWS Identity and access management for users
AWS Identity and access management for usersAWS Identity and access management for users
AWS Identity and access management for users
 
AWS re:Invent 2016: Enabling Enterprise Migrations: Creating an AWS Landing Z...
AWS re:Invent 2016: Enabling Enterprise Migrations: Creating an AWS Landing Z...AWS re:Invent 2016: Enabling Enterprise Migrations: Creating an AWS Landing Z...
AWS re:Invent 2016: Enabling Enterprise Migrations: Creating an AWS Landing Z...
 
Protecting Your Data in AWS
Protecting Your Data in AWSProtecting Your Data in AWS
Protecting Your Data in AWS
 
Become an IAM Policy Ninja
Become an IAM Policy NinjaBecome an IAM Policy Ninja
Become an IAM Policy Ninja
 
SID201 Overview of AWS Identity, Directory, and Access Services
 SID201 Overview of AWS Identity, Directory, and Access Services SID201 Overview of AWS Identity, Directory, and Access Services
SID201 Overview of AWS Identity, Directory, and Access Services
 
AWS re:Invent 2016: NEW SERVICE: Centrally Manage Multiple AWS Accounts with ...
AWS re:Invent 2016: NEW SERVICE: Centrally Manage Multiple AWS Accounts with ...AWS re:Invent 2016: NEW SERVICE: Centrally Manage Multiple AWS Accounts with ...
AWS re:Invent 2016: NEW SERVICE: Centrally Manage Multiple AWS Accounts with ...
 
Aws iam best practices to live by
Aws iam best practices to live byAws iam best practices to live by
Aws iam best practices to live by
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 

AWS Intro

  • 1. Introduction to AWS best Identity and Access Management Paul Simon Allen CIT Cloudification Services Team August 3, 2016
  • 2. • Basics – What is IAM? – IAM concepts • Shibboleth Integration • Cornell Policy and IAM Best Practices • AWS Security Outside IAM Agenda
  • 3. • Fine-grained control of who can do what – direct interaction • user Bob can launch new EC2 instances – delegation • EC2 instance i-123456 can read S3 buckets What is IAM?
  • 4. • free • centralized AWS service • default scope is AWS account • deny by default IAM Characteristics
  • 5. • Root User – the identity used to create AWS account – complete access • Best practices – don’t use this account for the everyday – setup physical MFA and lock it away – connect to a Cornell EGA, not an individual – don’t use your Amazon.com shopping account IAM Concepts – Users
  • 6. • IAM Users – an identity with assigned permissions (via policies or groups) – can have username/password access to AWS console – can have (secret) key-based access to AWS APIs • Best Practices – rotate credentials (keys, passwords) – MFA – password policy IAM Concepts – Users
  • 7. • collection of IAM users • operates like you’d think • Best practices – manage permissions with groups • i.e., assign policies to groups instead of users IAM Concepts – Groups
  • 8. • set of permissions to be granted or denied • JSON documents • can be assigned directly to IAM users IAM Concepts – Policies { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation"], "Resource": "arn:aws:s3:::EXAMPLE-BUCKET-NAME” }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::EXAMPLE-BUCKET-NAME/*" } ] }
  • 9. • can be extremely complex • policy versioning supported • polices effects can “deny” or “allow” • policy scoping – by service, resource, region, AWS account, IAM users/groups/roles, federated users • conditions – by dates, IP address, MFA presence, principal type, etc. IAM Concepts – Policies
  • 10. • IAM Policies • Resource-based Permissions – S3 buckets – Glacier vaults – SNS topics – SQS queues – Key Management Service AWS Permissions
  • 11. • a 2nd type of AWS identity – also has assigned permissions – similar to IAM users • designed to be temporarily assumed – e.g. by an EC2 instance – e.g. by federated Shibboleth user • no associated credentials • Instance Profiles – assigned to EC2 instance – container for one or more IAM roles IAM Concepts – Roles
  • 12. • SAML identity provider to AWS IAM • per AWS account – setup by Cloudification Services Team • maps Cornell identities to IAM role Cornell Shibboleth Integration
  • 13. • AWS account 123456789012 – Cornell AD group: CIT-123456789012-admin – AWS role: shib-admin • assigned “AdministratorAccess” AWS policy • Generically – Cornell AD group: CIT-123456789012-xyz – AWS role: shib-xyz • assigned any policy you wish Cornell Shibboleth Integration
  • 14. • root account – MFA enabled – no access keys – no everyday use • use of IAM users (extremely) limited • use Shibboleth-mapped roles instead of IAM users – Two-Step Login (Duo) required • strong IAM password policy – when IAM users cannot be avoided Cornell IAM-related Policies
  • 15. • rotate access keys for IAM users • use Shibboleth for temporary access keys – Using Shibboleth for AWS API and CLI access (Cornell Cloud Tech Blog) Cornell IAM-related Ideals likely to be policy soon
  • 16. IAM controls access to create and manage resources – does not control identity and access within those resources • Elastic Compute Cloud (EC2) – access instances using key pairs (Linux) or password (Windows) – configure instance users separately • Relational Database Service (RDS) – username/passwords tied to database • Virtual Private Cloud – security groups, network ACLS, etc. – controls connectivity resources Security Outside of IAM
  • 17. • script that checks if your AWS account is in compliance with Cornell policy • covers IAM and many other points of AWS configuration https://github.com/CU-CloudCollab/aws-config-check $ ./check-aws.rb Checking IAM Checking IAM account alias Alias is 'cu-commercial'. Checking IAM root user Checking IAM identity provider configuration Checking IAM user passwords... Checking IAM access keys Checking IAM password policy Password policy should require minimum password length of 14 or more. Password policy should require maximum password age 90 days or less. Checking AWS Config Service... ...us-east-1 ...us-west-2 ...eu-west-1 ...eu-central-1 ...ap-northeast-1 Checking AWS CloudTrail... ...ap-south-1 ...eu-west-1 ...ap-southeast-1 ...ap-southeast-2 ...
  • 18. • Users – Create individual users. • Permissions – Grant least privilege. • Groups – Manage permissions with groups. • Conditions – Restrict privileged access further with conditions. • Auditing – Enable AWS CloudTrail to get logs of API calls. • Password – Configure a strong password policy. • Rotate – Rotate security credentials regularly. • MFA – Enable MFA for privileged users. • Sharing – Use IAM roles to share access. • Roles – Use IAM roles for Amazon EC2 instances. • Root – Reduce or remove use of root. Top IAM Best Practices (from AWS)
  • 19. • Advanced Policies • Policy Analysis • Cross account-permissions • Security Token Service - temporary credentials • IAM server certificate management • Related Services – AWS Key Management Service – AWS CloudTrail – AWS Config IAM Advanced Topics
  • 20. Resources – AWS re:Invent 2015 Security presentations – Cornell Standard AWS Account Configurations – Cornell Cloudification Services Wiki – Cornell Cloudification Tech Blog Questions?

Editor's Notes

  1. HUGE topic
  2. applies across Regions/Zones can allow access by other AWS accounts/roles/users new users, resources have no privs
  3. no associated credentials -- temporary credentials are usually automatically defined