SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
Delegating Access to your AWS Environment
Jeff Wierer, Identity and Access Management (IAM)
November 14, 2013

© 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
Goals for this talk
Understand the technology

Use cases we’ll cover

• Sessions and the AWS
Security Token Service
(STS)
• Roles and assumed-role
sessions
• Federated sessions
• And more…

• Cross-Account API Access
• AWS API Federation
• AWS Management Console
Federation
• Web Identity Federation
Let’s start with a short demo 
AWS Management Console SSO Demo Setup
(Sample - http://aws.amazon.com/code/4001165270590826)

Active Directory

Log into the console without a user name and
password!
Single Sign-On AWS Management Console
Demo
Wait… what just happened?
1.
2.
3.
4.

Logged into my Windows desktop
Hit an intranet website
Chose the “role” I wanted to play in AWS
Auto-magically signed in to the console
Delegation basics:
Sessions & the AWS Security Token Service
Sessions 101
• Allow delegating temporary access to your AWS account
• Are generated by the AWS Security Token Service
• Include temporary security credentials that are used to
make API calls to AWS services
Requesting a Session
Start by requesting a session from AWS STS

Session
Access Key Id
Secret Access Key
Session Token
Expiration
What’s in a Session?
Session
Access Key Id
Secret Access Key
Session Token
Expiration

Temporary
Security
Credentials
Multiple Ways to Get Sessions
Session
Access Key Id
Secret Access Key
Session Token
Expiration

•
•
•

Self-sessions (GetSessionToken)
Federated sessions (GetFederationToken)
Assumed-role sessions
•
•
•

assumeRole
assumeRoleWithWebIdentity
assumeRoleWithSAML
Sessions Expire
Session
Access Key Id
Secret Access Key
Session Token
Expiration

Expiration varies based on token type [Min/Max/Default]
•
•
•
•

Self (Account)
Self (IAM User)
Federated
Assumed-role

[15 min / 60 min / 60 min]
[15 min / 36 hrs / 12 hrs]
[15 min / 36 hrs / 12 hrs]
[15 min / 60 min / 60 min]

Use caching to improve your application performance
Role-based Delegation:
Using assumed-role sessions
What’s an IAM Role?
• Entity that defines a set of permissions for making AWS
service requests
• Not associated with a specific user or group
• Roles must be “assumed” by trusted entities
Using AWS Service Roles
• Allow AWS services (e.g., Amazon EC2, AWS Data
Pipeline, AWS OpsWorks) to act on behalf of your account
• Create a role, apply an access policy, launch service with it
• Services can now access resources/API defined by the
access policy
• With used with EC2, credentials are automatically:
– Made available to the metadata cache*
– Rotated multiple times a day
– AWS SDK transparently uses these credentials within your apps!
*http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access
Returns the temporary credentials for the instance
Roles for EC2 Demo
Create a role and launch an EC2 instance:
Benefits of Using Roles
•
•
•
•

Eliminates use of long-term credentials
Automatic credential rotation
Less coding – AWS SDK does all the work
Simple to delegate access to AWS
Services to perform work on your behalf
Use Case: Cross-Account API Access
• Access resources across AWS accounts
• Why do you need it?
– Management visibility across all your AWS accounts
– Developer access to resources across AWS accounts
– Enables using third-party management solutions
Using IAM Roles for Cross-Account API Access
• Extended “Service Roles” concept
– Set a trust policy granting access
– Set an access policy as before

• Delegate access to other trusted entities
– AWS services (such as EC2)
– IAM users/roles within your account
– IAM users/roles under a different
account
• IAM users in one account can now
access resources in another account

How to define who can assume the role using the console

{ "Statement": [
{
"Effect": "Allow",
"Action": “sts:AssumeRole",
"Resource": "arn:aws:iam::111122223333:role/MyRole"
}
]
}
Entity can assume MyRole under account 111122223333
Cross-Account API Access – How Does It Work?
IAM Team Account

My AWS Account
Acct ID: 123456789012

Jeff (IAM User)

Acct ID: 111122223333
Authenticate with Jeff’s
access keys

STS

s3-role
Get temp security credentials
by “assuming” s3-role

Permissions assigned to s3-role

{ "Statement": [
{
"Effect": "Allow",
"Action": “s3:*",
"Resource": "*"
}
]
}

Call S3 APIs using temporary
security credentials

{ "Statement": [{
"Effect": "Allow",
"Action": “sts:AssumeRole",
"Resource": "arn:aws:iam::111122223333:role/s3-role"
}
]
}

{ "Statement": [{
"Effect":"Allow",
"Principal":{"AWS":"arn:aws:iam::123456789012:root"},
"Action":"sts:AssumeRole"
}
]
}

Policy assigned to Jeff granting him permission to assume s3-role in account B

Policy assigned to s3-role defining who (trusted entities) can assume the role
Cross-Account Demo
Building a Cross-Account Amazon S3 Browser
Assumed-Role Session – Code Sample
public static Credentials getAssumeRoleSession(String AccessKey, String SecretKey )
{
Credentials sessionCredentials;
AmazonSecurityTokenServiceClient client = new AmazonSecurityTokenServiceClient(
Accesskey, GetSecretkey,
new AmazonSecurityTokenServiceConfig());
// Store the attributes and request a new AssumeRole session (temporary security credentials)
AssumeRoleRequest request = new AssumeRoleRequest
{
DurationSeconds = 3600,
RoleArn = "arn:aws:iam::111122223333:role/s3-role",
RoleSessionName = "S3BucketBrowser"
};
AssumeRoleResponse startSessionResponse = client.AssumeRole(request);
if (startSessionResponse != null) // Check for valid security credentials or null
{
AssumeRoleResult startSessionResult = startSessionResponse.AssumeRoleResult;
sessionCredentials = startSessionResult.Credentials;
return sessionCredentials;
}
else
{
throw new Exception("S3 Browser :: Error in retrieving temporary security creds, received NULL");
}
}
Cross-Account API Access Delegation Benefits
• Use one set of credentials
• No more sharing long-term credentials
• Revoke access to the role anytime you want!
Federation:
Access AWS with your existing corporate identity
Federation Overview
• Access AWS with your existing corporate identity
• Why use federation?
– SSO to the AWS Management Console
– Build apps that transparently access AWS resources and APIs
– Eliminate “yet another password” to manage
Use Case: API Federation
(Sample - http://aws.amazon.com/code/1288653099190193)

• Identity provider
– Windows Active Directory
– Privileges based on AD group membership
– AD groups include policies

• Relying party is AWS API (S3*)
• Uses federated session via GetFederationToken
API
AWS API Federation Walkthrough
Customer (Identity Provider)

AWS Cloud (Relying Party)
Get Federation
Token Request

4
2
Federation Proxy

3

•
•
•

5

Access Key
Secret Key
Session Token

S3 Bucket
with Objects

6

Active
Directory
Request
Session

User
Application

Get Federation Token
Response

Receive
Session

Amazon
EC2

AWS Resources

1
7
APP

Amazon
DynamoDB

Call AWS APIs

• Uses a set of IAM user credentials to
make a GetFederationTokenRequest()
• IAM user permissions need to be the
union of all federated user permissions
• Proxy needs to securely store these
Federation
privileged credentials
Proxy
API Federation Demos
Federation sample + CloudBerry AD bridge
Using IAM Roles for Federation
• Assumed-role sessions can also be used for federation
• Provides a different option for storing AWS permissions
• Allows for “separation of duties” in managing AWS
permissions
• Corp admin manages groups, users, and intranet permissions
• AWS admin creates roles & maintains policies on those roles
Use Case: Console Federation
(Sample - http://aws.amazon.com/code/4001165270590826)

• Identity provider
– Windows Active Directory
– Privileges based on AD group membership
– AD groups match the names of IAM roles

• Relying party is AWS Management Console
• Uses assumed-role session via AssumeRole
Basics of a Role-Based Federation Proxy
Acct ID: 111122223333
Authenticate with
access keys

STS

s3-role
Proxy Server
IAM User

Get temporary
security credentials

login using temporary security
credentials

Access policy set to s3-role

{
"Statement": [{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}

AWS Management
Console

Access policy assigned to Proxy (IAM user) granting access to
ListRoles and AssumeRoles for all roles

Trust policy set to s3role defining who can assume the role

{
"Statement": [{
"Effect": "Allow",
"Action": ["iam:ListRoles","sts:AssumeRole"],
"Resource": "arn:aws:iam::1111222233334444:role/*"
}
]
}

{"Statement": [{
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::111122223333:root"},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {"sts:externalId": "SOME-AD-SID"}}
}
]
}
Console Federation Walkthrough (assumeRole)
List RolesResponse

Customer (IdP)

4
7
2

AWS Cloud (Relying Party)

5
AssumeRole Request
Assume Role Response
Temp Credentials

6

Federation
Create combo
proxy
box

•
•
•

9

3

List RolesRequest

8

Access Key
Secret Key
Session Token

Generate URL

10

Redirect to
Console

AWS
Management
Console

Corporate
directory

1
Browser
interface

Browse to URL

Federation
proxy

• Uses a set of IAM user credentials to
make AssumeRoleRequest()
• IAM user permissions only need to be
able to call ListRoles & assume role
• Proxy needs to securely store these
credentials
SSO Federation using SAML 2.0

New

• STS supports Security Assertion Markup Language
• Use existing identity management software to access
AWS Resources
• AWS Management Console SSO
– IdP Initiated Web SSO via SAML 2.0 using the HTTP-POST binding
(Web SSO profile)
– New sign-in URL that greatly simplifies SSO
https://signin.aws.amazon.com/saml<SAML AuthN response>

• API federation using new assumeRoleWithSAML API
Console Federation using SAML
Enterprise (Identity Provider)

AWS (Service Provider)

Identity provider

2

3

AWS Sign-in

Receives
AuthN response

4

Post to Sign-In
Passing AuthN Response

Corporate
identity store
User
browses to
Identity provider

Browser
interface

1

5

Redirect client
AWS Management
Console
SAML Federation Demos
Single Sign-On to AWS Management Console
API Federation
Partner Offerings for Federation / SSO

http://www.xceedium.com/xsuite/xsuite-for-amazon-web-services
http://www.okta.com/aws/
http://www.symplified.com/solutions/single-sign-on-sso
https://www.pingidentity.com/products/pingfederate/
http://www.cloudberrylab.com/ad-bridge.aspx
Federation Benefits
•
•
•
•

Leverage your existing corporate identities
Use the user name/password you already know
Enforce corporate policies/governance
When employees leave, you only need to delete
their corporate account
Use Case: Web Identity Federation
• Want to create cloud-backed mobile apps
– Leaderboards
– Image/File Sharing
– Saved state/user settings for cross-device access

• Challenges
– Users may, or may not, be authenticated
– Assume users don’t have AWS accounts
– Developers need to securely delegate limited access to
their AWS resources

• Enables granting access to AWS resources
without embedding credentials in app
Web Identity Federation: Detailed Walkthrough
7

3

Id Token
Web identity
Provider

EC2
Instances

S3

AWS Services

6

2
4

Token
Verification

5

Check
Policy

IAM
AWS Cloud

AP-SOUTHEAST-1

Amazon
DynamoDB

Mobile App

EU-WEST-1

1

US-EAST-1

Authenticate
User
Web Identity Federation Benefits
• Create mobile/web-based apps that easily integrate
major web identity providers with AWS
• Eliminates the need to
– Directly embed AWS access key IDs and secret access keys
– Utilize proxy servers to access AWS services

• Introduces assumeRoleWithWebIdentity API
– Create an IAM role per application
– Use a policy that replace a variable using metadata from an id/access token
– Pass the token with the request to assume the role

• Support: Login with Amazon, Facebook, & Google
• Learn more at session SEC401
A few final words
Are There Any Limitations to using Sessions?
Federated

Assumed-Role*



Security Token Service



AWS Identity and Access Management (IAM)





AWS Elastic Beanstalk
Amazon Elastic MapReduce




All other services







(for assumeRole)

Accurate as of 11/14/2013. See http://aws.amazon.com/iam for most up to date list
Summary: Use Cases
Cross-Account API Access
• Use one set of credentials
• No more sharing long-term credentials
• Revoke access to the role anytime you want!

AWS API / Management Console Federation
•
•
•
•

Leverage your existing corporate identities
Use the user name/password you already know
Enforce corporate policies/governance
When employees leave, you only need to delete their corporate account

Web Identity Federation
• Simplify granting access to resources for your mobile apps
• Built-in support for Login with Amazon, Facebook, & Google identities
Additional resources
•
•
•
•
•

IAM detail page: http://aws.amazon.com/iam
AWS forum: https://forums.aws.amazon.com/forum.jspa?forumID=76
Documentation: http://aws.amazon.com/documentation/iam/
AWS Security Blog: http://blogs.aws.amazon.com/security
Twitter: @AWSIdentity
All IAM related sessions at re:Invent
ID

Title

Time, Room

CPN205

Securing Your Amazon EC2 Environment with AWS IAM
Roles and Resource-Based Permissions

Wed 11/13 11am, Delfino 4003

SEC201

Access Control for the Cloud: AWS Identity and Access
Management (IAM)

Wed 11/13 1.30pm, Marcello 4406

SEC301

TOP 10 IAM Best Practices

Wed 11/13 3pm, Marcello 4503

SEC302

Mastering Access Control Policies

Wed 11/13 4.15pm, Venetian A

SEC303

Delegating Access to Your AWS Environment

Thu 11/14 11am, Venetian A

Come talk security with AWS

Thu 11/14 4pm, Toscana 3605
Please give us your feedback on this
presentation

SEC303
As a thank you, we will select prize
winners daily for completed surveys!

Más contenido relacionado

La actualidad más candente

컴플라이언스를 위한 고급 AWS 보안 구성 방법-AWS Summit Seoul 2017
컴플라이언스를 위한 고급 AWS 보안 구성 방법-AWS Summit Seoul 2017컴플라이언스를 위한 고급 AWS 보안 구성 방법-AWS Summit Seoul 2017
컴플라이언스를 위한 고급 AWS 보안 구성 방법-AWS Summit Seoul 2017
Amazon Web Services Korea
 
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
Amazon Web Services Korea
 

La actualidad más candente (20)

Landing Zones - Creating a Foundation for Your AWS Migrations
Landing Zones - Creating a Foundation for Your AWS MigrationsLanding Zones - Creating a Foundation for Your AWS Migrations
Landing Zones - Creating a Foundation for Your AWS Migrations
 
Amazon Virtual Private Cloud
Amazon Virtual Private CloudAmazon Virtual Private Cloud
Amazon Virtual Private Cloud
 
Using AWS CloudTrail and AWS Config to Enhance the Governance and Compliance ...
Using AWS CloudTrail and AWS Config to Enhance the Governance and Compliance ...Using AWS CloudTrail and AWS Config to Enhance the Governance and Compliance ...
Using AWS CloudTrail and AWS Config to Enhance the Governance and Compliance ...
 
AWS Control Tower
AWS Control TowerAWS Control Tower
AWS Control Tower
 
Automated Solution for Deploying AWS Landing Zone (GPSWS407) - AWS re:Invent ...
Automated Solution for Deploying AWS Landing Zone (GPSWS407) - AWS re:Invent ...Automated Solution for Deploying AWS Landing Zone (GPSWS407) - AWS re:Invent ...
Automated Solution for Deploying AWS Landing Zone (GPSWS407) - AWS re:Invent ...
 
Security Architectures on AWS
Security Architectures on AWSSecurity Architectures on AWS
Security Architectures on AWS
 
AWS Containers Day.pdf
AWS Containers Day.pdfAWS Containers Day.pdf
AWS Containers Day.pdf
 
AWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
AWS Networking Fundamentals - SVC304 - Anaheim AWS SummitAWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
AWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
 
Microsoft Azure Security Overview
Microsoft Azure Security OverviewMicrosoft Azure Security Overview
Microsoft Azure Security Overview
 
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...
 
AWS IAM Introduction
AWS IAM IntroductionAWS IAM Introduction
AWS IAM Introduction
 
Setting Up a Landing Zone
Setting Up a Landing ZoneSetting Up a Landing Zone
Setting Up a Landing Zone
 
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
 
컴플라이언스를 위한 고급 AWS 보안 구성 방법-AWS Summit Seoul 2017
컴플라이언스를 위한 고급 AWS 보안 구성 방법-AWS Summit Seoul 2017컴플라이언스를 위한 고급 AWS 보안 구성 방법-AWS Summit Seoul 2017
컴플라이언스를 위한 고급 AWS 보안 구성 방법-AWS Summit Seoul 2017
 
Cloud Security (AWS)
Cloud Security (AWS)Cloud Security (AWS)
Cloud Security (AWS)
 
Introduction to AWS Organizations
Introduction to AWS OrganizationsIntroduction to AWS Organizations
Introduction to AWS Organizations
 
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
 
AWS IAM
AWS IAMAWS IAM
AWS IAM
 
Following Well Architected Frameworks - Lunch and Learn.pdf
Following Well Architected Frameworks - Lunch and Learn.pdfFollowing Well Architected Frameworks - Lunch and Learn.pdf
Following Well Architected Frameworks - Lunch and Learn.pdf
 
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
 

Destacado

amazon-cognito-auth-in-minutes
amazon-cognito-auth-in-minutesamazon-cognito-auth-in-minutes
amazon-cognito-auth-in-minutes
Vladimir Budilov
 
AWS Identity and Access Management and Consolidated Billing
AWS Identity and Access Management and Consolidated BillingAWS Identity and Access Management and Consolidated Billing
AWS Identity and Access Management and Consolidated Billing
Amazon Web Services
 

Destacado (20)

(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
 
Top 10 AWS Identity and Access Management (IAM) Best Practices (SEC301) | AWS...
Top 10 AWS Identity and Access Management (IAM) Best Practices (SEC301) | AWS...Top 10 AWS Identity and Access Management (IAM) Best Practices (SEC301) | AWS...
Top 10 AWS Identity and Access Management (IAM) Best Practices (SEC301) | AWS...
 
A guide on Aws Security Token Service
A guide on Aws Security Token ServiceA guide on Aws Security Token Service
A guide on Aws Security Token Service
 
(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014
(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014
(MBL401) Social Logins for Mobile Apps with Amazon Cognito | AWS re:Invent 2014
 
(SEC403) Building AWS Partner Applications Using IAM Roles | AWS re:Invent 2014
(SEC403) Building AWS Partner Applications Using IAM Roles | AWS re:Invent 2014(SEC403) Building AWS Partner Applications Using IAM Roles | AWS re:Invent 2014
(SEC403) Building AWS Partner Applications Using IAM Roles | AWS re:Invent 2014
 
Architecting for End-to-End Security in the Enterprise (ARC308) | AWS re:Inve...
Architecting for End-to-End Security in the Enterprise (ARC308) | AWS re:Inve...Architecting for End-to-End Security in the Enterprise (ARC308) | AWS re:Inve...
Architecting for End-to-End Security in the Enterprise (ARC308) | AWS re:Inve...
 
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
 
Build and Manage Your APIs with Amazon API Gateway
Build and Manage Your APIs with Amazon API GatewayBuild and Manage Your APIs with Amazon API Gateway
Build and Manage Your APIs with Amazon API Gateway
 
Yeni Çağın Bakış Açısı: Fütürizm
Yeni Çağın Bakış Açısı: FütürizmYeni Çağın Bakış Açısı: Fütürizm
Yeni Çağın Bakış Açısı: Fütürizm
 
Managing users and aws accounts
Managing users and aws accountsManaging users and aws accounts
Managing users and aws accounts
 
Connect2016 Shipping Domino
Connect2016 Shipping DominoConnect2016 Shipping Domino
Connect2016 Shipping Domino
 
Slide kinh nghiệm vận hành Cloud trên Amazon - Huỳnh Kỳ Anh
Slide kinh nghiệm vận hành Cloud trên Amazon - Huỳnh Kỳ AnhSlide kinh nghiệm vận hành Cloud trên Amazon - Huỳnh Kỳ Anh
Slide kinh nghiệm vận hành Cloud trên Amazon - Huỳnh Kỳ Anh
 
Innovating IAM Protection for AWS with Dome9 - Session Sponsored by Dome9
Innovating IAM Protection for AWS with Dome9 - Session Sponsored by Dome9Innovating IAM Protection for AWS with Dome9 - Session Sponsored by Dome9
Innovating IAM Protection for AWS with Dome9 - Session Sponsored by Dome9
 
Integrate Social Login Into Mobile Apps (SEC401) | AWS re:Invent 2013
Integrate Social Login Into Mobile Apps (SEC401) | AWS re:Invent 2013Integrate Social Login Into Mobile Apps (SEC401) | AWS re:Invent 2013
Integrate Social Login Into Mobile Apps (SEC401) | AWS re:Invent 2013
 
(SEC304) Bring Your Own Identities – Federating Access to Your AWS Environmen...
(SEC304) Bring Your Own Identities – Federating Access to Your AWS Environmen...(SEC304) Bring Your Own Identities – Federating Access to Your AWS Environmen...
(SEC304) Bring Your Own Identities – Federating Access to Your AWS Environmen...
 
SEC302 Delegating Access to Your AWS Environment - AWS re: Invent 2012
SEC302 Delegating Access to Your AWS Environment - AWS re: Invent 2012SEC302 Delegating Access to Your AWS Environment - AWS re: Invent 2012
SEC302 Delegating Access to Your AWS Environment - AWS re: Invent 2012
 
amazon-cognito-auth-in-minutes
amazon-cognito-auth-in-minutesamazon-cognito-auth-in-minutes
amazon-cognito-auth-in-minutes
 
(MBL402) Mobile Identity Management & Data Sync Using Amazon Cognito
(MBL402) Mobile Identity Management & Data Sync Using Amazon Cognito(MBL402) Mobile Identity Management & Data Sync Using Amazon Cognito
(MBL402) Mobile Identity Management & Data Sync Using Amazon Cognito
 
AWS Identity and Access Management and Consolidated Billing
AWS Identity and Access Management and Consolidated BillingAWS Identity and Access Management and Consolidated Billing
AWS Identity and Access Management and Consolidated Billing
 
Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...
Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...
Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...
 

Similar a Delegating Access to your AWS Environment (SEC303) | AWS re:Invent 2013

Similar a Delegating Access to your AWS Environment (SEC303) | AWS re:Invent 2013 (20)

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)
 
IAM Introduction
IAM IntroductionIAM Introduction
IAM Introduction
 
Security Best Practices - Hebrew Webinar
Security Best Practices - Hebrew WebinarSecurity Best Practices - Hebrew Webinar
Security Best Practices - Hebrew Webinar
 
Security Day IAM Recommended Practices
Security Day IAM Recommended PracticesSecurity Day IAM Recommended Practices
Security Day IAM Recommended Practices
 
AWS Identity, Directory, and Access Services: An Overview
AWS Identity, Directory, and Access Services: An Overview AWS Identity, Directory, and Access Services: An Overview
AWS Identity, Directory, and Access Services: An Overview
 
AWS Partner Webcast - Get Closer to the Cloud with Federated Single Sign-On
AWS Partner Webcast - Get Closer to the Cloud with Federated Single Sign-OnAWS Partner Webcast - Get Closer to the Cloud with Federated Single Sign-On
AWS Partner Webcast - Get Closer to the Cloud with Federated Single Sign-On
 
(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
 
Security Day IAM Recommended Practices
Security Day IAM Recommended PracticesSecurity Day IAM Recommended Practices
Security Day IAM Recommended Practices
 
Advanced Security Best Practices Masterclass
Advanced Security Best Practices MasterclassAdvanced Security Best Practices Masterclass
Advanced Security Best Practices Masterclass
 
AWS Identity, Directory, and Access Services: An Overview - SID201 - Chicago ...
AWS Identity, Directory, and Access Services: An Overview - SID201 - Chicago ...AWS Identity, Directory, and Access Services: An Overview - SID201 - Chicago ...
AWS Identity, Directory, and Access Services: An Overview - SID201 - Chicago ...
 
Federation
FederationFederation
Federation
 
AWS Users Authentication
AWS Users AuthenticationAWS Users Authentication
AWS Users Authentication
 
AWS re:Invent 2016: IAM Best Practices to Live By (SAC317)
AWS re:Invent 2016: IAM Best Practices to Live By (SAC317)AWS re:Invent 2016: IAM Best Practices to Live By (SAC317)
AWS re:Invent 2016: IAM Best Practices to Live By (SAC317)
 
Federation
FederationFederation
Federation
 
Demystifying identity on AWS
Demystifying identity on AWSDemystifying identity on AWS
Demystifying identity on AWS
 
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 IAM and security
AWS IAM and securityAWS IAM and security
AWS IAM and security
 
IAM Recommended Practices
IAM Recommended PracticesIAM Recommended Practices
IAM Recommended Practices
 
Controlling Access to your Resources
Controlling Access to your ResourcesControlling Access to your Resources
Controlling Access to your Resources
 
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
 

Más de Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

Más de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Delegating Access to your AWS Environment (SEC303) | AWS re:Invent 2013

  • 1. Delegating Access to your AWS Environment Jeff Wierer, Identity and Access Management (IAM) November 14, 2013 © 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
  • 2. Goals for this talk Understand the technology Use cases we’ll cover • Sessions and the AWS Security Token Service (STS) • Roles and assumed-role sessions • Federated sessions • And more… • Cross-Account API Access • AWS API Federation • AWS Management Console Federation • Web Identity Federation
  • 3. Let’s start with a short demo 
  • 4. AWS Management Console SSO Demo Setup (Sample - http://aws.amazon.com/code/4001165270590826) Active Directory Log into the console without a user name and password!
  • 5. Single Sign-On AWS Management Console Demo
  • 6. Wait… what just happened? 1. 2. 3. 4. Logged into my Windows desktop Hit an intranet website Chose the “role” I wanted to play in AWS Auto-magically signed in to the console
  • 7. Delegation basics: Sessions & the AWS Security Token Service
  • 8. Sessions 101 • Allow delegating temporary access to your AWS account • Are generated by the AWS Security Token Service • Include temporary security credentials that are used to make API calls to AWS services
  • 9. Requesting a Session Start by requesting a session from AWS STS Session Access Key Id Secret Access Key Session Token Expiration
  • 10. What’s in a Session? Session Access Key Id Secret Access Key Session Token Expiration Temporary Security Credentials
  • 11. Multiple Ways to Get Sessions Session Access Key Id Secret Access Key Session Token Expiration • • • Self-sessions (GetSessionToken) Federated sessions (GetFederationToken) Assumed-role sessions • • • assumeRole assumeRoleWithWebIdentity assumeRoleWithSAML
  • 12. Sessions Expire Session Access Key Id Secret Access Key Session Token Expiration Expiration varies based on token type [Min/Max/Default] • • • • Self (Account) Self (IAM User) Federated Assumed-role [15 min / 60 min / 60 min] [15 min / 36 hrs / 12 hrs] [15 min / 36 hrs / 12 hrs] [15 min / 60 min / 60 min] Use caching to improve your application performance
  • 14. What’s an IAM Role? • Entity that defines a set of permissions for making AWS service requests • Not associated with a specific user or group • Roles must be “assumed” by trusted entities
  • 15. Using AWS Service Roles • Allow AWS services (e.g., Amazon EC2, AWS Data Pipeline, AWS OpsWorks) to act on behalf of your account • Create a role, apply an access policy, launch service with it • Services can now access resources/API defined by the access policy • With used with EC2, credentials are automatically: – Made available to the metadata cache* – Rotated multiple times a day – AWS SDK transparently uses these credentials within your apps! *http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access Returns the temporary credentials for the instance
  • 16. Roles for EC2 Demo Create a role and launch an EC2 instance:
  • 17. Benefits of Using Roles • • • • Eliminates use of long-term credentials Automatic credential rotation Less coding – AWS SDK does all the work Simple to delegate access to AWS Services to perform work on your behalf
  • 18. Use Case: Cross-Account API Access • Access resources across AWS accounts • Why do you need it? – Management visibility across all your AWS accounts – Developer access to resources across AWS accounts – Enables using third-party management solutions
  • 19. Using IAM Roles for Cross-Account API Access • Extended “Service Roles” concept – Set a trust policy granting access – Set an access policy as before • Delegate access to other trusted entities – AWS services (such as EC2) – IAM users/roles within your account – IAM users/roles under a different account • IAM users in one account can now access resources in another account How to define who can assume the role using the console { "Statement": [ { "Effect": "Allow", "Action": “sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/MyRole" } ] } Entity can assume MyRole under account 111122223333
  • 20. Cross-Account API Access – How Does It Work? IAM Team Account My AWS Account Acct ID: 123456789012 Jeff (IAM User) Acct ID: 111122223333 Authenticate with Jeff’s access keys STS s3-role Get temp security credentials by “assuming” s3-role Permissions assigned to s3-role { "Statement": [ { "Effect": "Allow", "Action": “s3:*", "Resource": "*" } ] } Call S3 APIs using temporary security credentials { "Statement": [{ "Effect": "Allow", "Action": “sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/s3-role" } ] } { "Statement": [{ "Effect":"Allow", "Principal":{"AWS":"arn:aws:iam::123456789012:root"}, "Action":"sts:AssumeRole" } ] } Policy assigned to Jeff granting him permission to assume s3-role in account B Policy assigned to s3-role defining who (trusted entities) can assume the role
  • 21. Cross-Account Demo Building a Cross-Account Amazon S3 Browser
  • 22. Assumed-Role Session – Code Sample public static Credentials getAssumeRoleSession(String AccessKey, String SecretKey ) { Credentials sessionCredentials; AmazonSecurityTokenServiceClient client = new AmazonSecurityTokenServiceClient( Accesskey, GetSecretkey, new AmazonSecurityTokenServiceConfig()); // Store the attributes and request a new AssumeRole session (temporary security credentials) AssumeRoleRequest request = new AssumeRoleRequest { DurationSeconds = 3600, RoleArn = "arn:aws:iam::111122223333:role/s3-role", RoleSessionName = "S3BucketBrowser" }; AssumeRoleResponse startSessionResponse = client.AssumeRole(request); if (startSessionResponse != null) // Check for valid security credentials or null { AssumeRoleResult startSessionResult = startSessionResponse.AssumeRoleResult; sessionCredentials = startSessionResult.Credentials; return sessionCredentials; } else { throw new Exception("S3 Browser :: Error in retrieving temporary security creds, received NULL"); } }
  • 23. Cross-Account API Access Delegation Benefits • Use one set of credentials • No more sharing long-term credentials • Revoke access to the role anytime you want!
  • 24. Federation: Access AWS with your existing corporate identity
  • 25. Federation Overview • Access AWS with your existing corporate identity • Why use federation? – SSO to the AWS Management Console – Build apps that transparently access AWS resources and APIs – Eliminate “yet another password” to manage
  • 26. Use Case: API Federation (Sample - http://aws.amazon.com/code/1288653099190193) • Identity provider – Windows Active Directory – Privileges based on AD group membership – AD groups include policies • Relying party is AWS API (S3*) • Uses federated session via GetFederationToken API
  • 27. AWS API Federation Walkthrough Customer (Identity Provider) AWS Cloud (Relying Party) Get Federation Token Request 4 2 Federation Proxy 3 • • • 5 Access Key Secret Key Session Token S3 Bucket with Objects 6 Active Directory Request Session User Application Get Federation Token Response Receive Session Amazon EC2 AWS Resources 1 7 APP Amazon DynamoDB Call AWS APIs • Uses a set of IAM user credentials to make a GetFederationTokenRequest() • IAM user permissions need to be the union of all federated user permissions • Proxy needs to securely store these Federation privileged credentials Proxy
  • 28. API Federation Demos Federation sample + CloudBerry AD bridge
  • 29. Using IAM Roles for Federation • Assumed-role sessions can also be used for federation • Provides a different option for storing AWS permissions • Allows for “separation of duties” in managing AWS permissions • Corp admin manages groups, users, and intranet permissions • AWS admin creates roles & maintains policies on those roles
  • 30. Use Case: Console Federation (Sample - http://aws.amazon.com/code/4001165270590826) • Identity provider – Windows Active Directory – Privileges based on AD group membership – AD groups match the names of IAM roles • Relying party is AWS Management Console • Uses assumed-role session via AssumeRole
  • 31. Basics of a Role-Based Federation Proxy Acct ID: 111122223333 Authenticate with access keys STS s3-role Proxy Server IAM User Get temporary security credentials login using temporary security credentials Access policy set to s3-role { "Statement": [{ "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] } AWS Management Console Access policy assigned to Proxy (IAM user) granting access to ListRoles and AssumeRoles for all roles Trust policy set to s3role defining who can assume the role { "Statement": [{ "Effect": "Allow", "Action": ["iam:ListRoles","sts:AssumeRole"], "Resource": "arn:aws:iam::1111222233334444:role/*" } ] } {"Statement": [{ "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": "sts:AssumeRole", "Condition": { "StringEquals": {"sts:externalId": "SOME-AD-SID"}} } ] }
  • 32. Console Federation Walkthrough (assumeRole) List RolesResponse Customer (IdP) 4 7 2 AWS Cloud (Relying Party) 5 AssumeRole Request Assume Role Response Temp Credentials 6 Federation Create combo proxy box • • • 9 3 List RolesRequest 8 Access Key Secret Key Session Token Generate URL 10 Redirect to Console AWS Management Console Corporate directory 1 Browser interface Browse to URL Federation proxy • Uses a set of IAM user credentials to make AssumeRoleRequest() • IAM user permissions only need to be able to call ListRoles & assume role • Proxy needs to securely store these credentials
  • 33. SSO Federation using SAML 2.0 New • STS supports Security Assertion Markup Language • Use existing identity management software to access AWS Resources • AWS Management Console SSO – IdP Initiated Web SSO via SAML 2.0 using the HTTP-POST binding (Web SSO profile) – New sign-in URL that greatly simplifies SSO https://signin.aws.amazon.com/saml<SAML AuthN response> • API federation using new assumeRoleWithSAML API
  • 34. Console Federation using SAML Enterprise (Identity Provider) AWS (Service Provider) Identity provider 2 3 AWS Sign-in Receives AuthN response 4 Post to Sign-In Passing AuthN Response Corporate identity store User browses to Identity provider Browser interface 1 5 Redirect client AWS Management Console
  • 35. SAML Federation Demos Single Sign-On to AWS Management Console API Federation
  • 36. Partner Offerings for Federation / SSO http://www.xceedium.com/xsuite/xsuite-for-amazon-web-services http://www.okta.com/aws/ http://www.symplified.com/solutions/single-sign-on-sso https://www.pingidentity.com/products/pingfederate/ http://www.cloudberrylab.com/ad-bridge.aspx
  • 37. Federation Benefits • • • • Leverage your existing corporate identities Use the user name/password you already know Enforce corporate policies/governance When employees leave, you only need to delete their corporate account
  • 38. Use Case: Web Identity Federation • Want to create cloud-backed mobile apps – Leaderboards – Image/File Sharing – Saved state/user settings for cross-device access • Challenges – Users may, or may not, be authenticated – Assume users don’t have AWS accounts – Developers need to securely delegate limited access to their AWS resources • Enables granting access to AWS resources without embedding credentials in app
  • 39. Web Identity Federation: Detailed Walkthrough 7 3 Id Token Web identity Provider EC2 Instances S3 AWS Services 6 2 4 Token Verification 5 Check Policy IAM AWS Cloud AP-SOUTHEAST-1 Amazon DynamoDB Mobile App EU-WEST-1 1 US-EAST-1 Authenticate User
  • 40. Web Identity Federation Benefits • Create mobile/web-based apps that easily integrate major web identity providers with AWS • Eliminates the need to – Directly embed AWS access key IDs and secret access keys – Utilize proxy servers to access AWS services • Introduces assumeRoleWithWebIdentity API – Create an IAM role per application – Use a policy that replace a variable using metadata from an id/access token – Pass the token with the request to assume the role • Support: Login with Amazon, Facebook, & Google • Learn more at session SEC401
  • 41. A few final words
  • 42. Are There Any Limitations to using Sessions? Federated Assumed-Role*  Security Token Service  AWS Identity and Access Management (IAM)   AWS Elastic Beanstalk Amazon Elastic MapReduce   All other services     (for assumeRole) Accurate as of 11/14/2013. See http://aws.amazon.com/iam for most up to date list
  • 43. Summary: Use Cases Cross-Account API Access • Use one set of credentials • No more sharing long-term credentials • Revoke access to the role anytime you want! AWS API / Management Console Federation • • • • Leverage your existing corporate identities Use the user name/password you already know Enforce corporate policies/governance When employees leave, you only need to delete their corporate account Web Identity Federation • Simplify granting access to resources for your mobile apps • Built-in support for Login with Amazon, Facebook, & Google identities
  • 44. Additional resources • • • • • IAM detail page: http://aws.amazon.com/iam AWS forum: https://forums.aws.amazon.com/forum.jspa?forumID=76 Documentation: http://aws.amazon.com/documentation/iam/ AWS Security Blog: http://blogs.aws.amazon.com/security Twitter: @AWSIdentity
  • 45. All IAM related sessions at re:Invent ID Title Time, Room CPN205 Securing Your Amazon EC2 Environment with AWS IAM Roles and Resource-Based Permissions Wed 11/13 11am, Delfino 4003 SEC201 Access Control for the Cloud: AWS Identity and Access Management (IAM) Wed 11/13 1.30pm, Marcello 4406 SEC301 TOP 10 IAM Best Practices Wed 11/13 3pm, Marcello 4503 SEC302 Mastering Access Control Policies Wed 11/13 4.15pm, Venetian A SEC303 Delegating Access to Your AWS Environment Thu 11/14 11am, Venetian A Come talk security with AWS Thu 11/14 4pm, Toscana 3605
  • 46. Please give us your feedback on this presentation SEC303 As a thank you, we will select prize winners daily for completed surveys!