(sec310) integrating aws with external identity management | aws re:invent 2014

56

Upload: amazon-web-services

Post on 30-Jun-2015

793 views

Category:

Technology


5 download

DESCRIPTION

Amazon Web Services IAM has a cohesive set of features, including authentication, service and resource authorization, and privilege delegation. But how does AWS IAM interact with an organization's external identity management framework? In this session, we will look at the identity disciplines, including authorization, identity governance and administration (IGA), provisioning, authentication and single sign-on-and their associated standards like XACML, SCIM, SAML, OAuth, OpenID Connect, and FIDO. We will specify how these externalized identity functions can be integrated with AWS to deliver a cohesive organizational identity management framework. We will also cover real-world deployments of externalized identity systems with AWS.

TRANSCRIPT

Page 1: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 2: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 3: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 4: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 5: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

• bi-directional on-premises gateway

• translates on-premises 1.0 identity

protocols to cloud 2.0 protocols

• essential for most enterprises

IDaaS

• Identity Management as a Service

• externally-hosted, turnkey SaaS

• frequently used with an identity bridge

Page 6: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 7: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

federation IDP

SaaS application

federation SP

2)

SS

O (

SA

ML

)

Assertion

Page 8: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

resource server

ID Token refreshtoken

accesstoken

AR

A

OpenID ProviderOAuthauthorization server

relying party/client/app

Page 9: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

resource server #2

refreshtoken #2

accesstoken #2

AR

A

OpenID Provider #2

app

ID Token

ID Token #1

Page 10: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 11: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 12: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

Path Arn LoginProfile AccessKeyID SecretAccessKey

Attribute Retrieval Call

UserName Path CreateDate UserId Arn

ListUsers GetUser

LoginProfile GetLoginProfile

AccessKeyID ListAccessKeys

SecretAccessKey

VirtualMFADevice->Serial Number (Arn) ListVirtualMFADevices

Page 13: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

domain joins

user management

Windows Group Policy

user authentication

native AD toolset

users not in IAM store

Page 14: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 15: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

• Identity stores

• Federated user

Page 16: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

Console

username

password

username

MFA

Page 17: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

LT Access Key ID

LT Secret Access Key{

{}

}

APILT Access Key ID

LT Secret Access Key

MFA

ST Secret Access Key ID

ST SessionToken

LT Access Key ID

LT Secret Access Key

Page 18: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

{{}

}

API

LT Access Key ID

LT Secret Access Key

LT Access Key ID

LT Secret Access Key

MFA

ST Secret Access Key ID

ST SessionToken

LT Access Key ID

LT Secret Access Key LT credentials

ST credentials

Page 19: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

• Identity stores

• IAM user

Page 20: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

Console

SAML

ST Secret Access Key ID

ST SessionToken

ST Security Token

external authn

external authn

Page 21: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

Console

SAML

ST Secret Access Key ID

ST SessionToken

ST Security Token

external authn

external authn

ST credentials

Page 22: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

{{}

}

API

ST credentials

external authn

OpenID Connect

ID Token

Page 23: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

5) Query()3) AssumeRole()

2) Retrieve RoleSessionName

IAM userfederated user

1) AD

authentication

Windows user policy store

4) ST credentials LT credentials

Security Token

Services

Page 24: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 25: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 26: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

console

federation IDP

2)

SA

ML S

SO

Assertion

X.509 certificate

Bound to PrincipalArn

federation SP

Attribute Description

SAML subject name Required for SAML

RoleArn role for user entitlements

PrincipalArn role of IDP in AWS

RoleSessionName Enables user-specific auditing and access policies

Page 27: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

federation IDP

1) authentication

Assertion

2) authn, attributes

3) assertion

federation SP

RoleArn

PrincipalArn

ST credentials

ST credentials

Page 28: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

ID Token

OpenID Provider

client/relying party/app

enterprise

5)

Qu

ery

()

ST credentials

ST credentials

Page 29: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

ID token5

) Q

ue

ryST credentials

MFA

Assertion

Page 30: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

• SAML to AWS Management Console

• SAML to AWS API

• OpenID Connect to AWS

• External MFA to AWS

Page 31: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

prov.

service

Page 32: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

Get LDAP usersldapsearch()

Begin sync

Get AWS users ListUsers()

GetLoginProfile()ListAccessKeys()ListVrtlMfaDvcs()

Reconcile LDAP users to AWS users

End syncAdd users to

IAM storeDelete users

from IAM storeModify users in IAM store

Map LDAP hierarchy to AWS Path

attribute

Page 33: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

Begin add CreateAccessKey()

End add

Store Arn, AccessKeyID, LoginProfile CreateDate,

MfaDevice Serial

CreateUser()

AddUserToGroup()(multiple groups)

CreateVirtualMfaDevice()

EnableMfaDevice()

Distribute LT credentials to

user

Distribute MFASeed or

create QRCodePNG

for user

CreateLoginProfile()

Page 34: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

Begin delete DeleteUser() End delete

Page 35: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

Begin modify

End modify

UpdateUser()AddUserToGroup()RemUserFromGrp()

UpdateLoginProfile() CreateAccessKey()

No

Yes

Hashes match?Hash LDAP and AWS

user attributes

Store Arn, LoginProfile CrtDate,

AccessKeyID, MfaSerial

Distribute LT credentials to

user

Distribute MFASeed or

create QRCodePNG

for user

CreateVirtualMfaDevice()

EnableMfaDevice()

Page 36: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 37: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 38: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

on-premises

directory

use

r ide

ntitie

s

user attributes

LT credentials

group memberships

MFA serial number

Page 39: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

on-premises

directory

1) authentication

access4) user attributes for authz

2) LT credentials,TokenArn

LT credentials

TokenArn

TokenCode

TokenCode

Page 40: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

Get AWS users ListUsers()

ListAccessKeys()ListVrtlMfaDvcs()

Begin sync

Get LDAP usersldapsearch()

Reconcile AWS users to LDAP users

End sync

Add users to LDAP

Delete users from LDAP

Modify users in LDAP

Map LDAP hierarchy to AWS Path

attribute

Page 41: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

CreateAccessKey()Begin add

End addAdd user to LDAP

groupsldapmodify()

ListMfaDevices()Create LDAP user

ldapadd()Create or lookup

additional attributes

Page 42: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

Begin deleteDelete LDAP user

ldapdelete()End delete

Page 43: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

Begin modify

End modifyCreateAccessKey()

No

Yes

Hashes match?

Hash LDAP and AWS user attributes

AccessKeyID exist?

Modify user in LDAPldapmodify()

Add/delete user in LDAP groupsldapmodify()

No

Yes

Page 44: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 45: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

• Sync Identities from IAM Store

• Federated SSO with Simple AD and Amazon EC2

Page 46: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

domain trust

Simple AD on-premises

Page 47: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 48: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

• Sync Identities from IAM Store

• Sync Identities from Simple AD

Page 49: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

Simple AD

SaaSFederated IDP2) User authn

on-premises1

) u

se

r a

uth

n

Page 50: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 51: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 52: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 53: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 54: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 55: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014
Page 56: (SEC310) Integrating AWS with External Identity Management | AWS re:Invent 2014

Please give us your feedback on this session.

Complete session evaluations and earn re:Invent swag.

http://bit.ly/awsevals