Managing Identity and Securing Your Mobile and Web Applications with Amazon Cognito : Level 300
Stephen Liedig, Solutions Architect, Amazon Web Services
** Note: These are notes taken from various sessions and the keynote of the 2017 AWS Public Sector Summit held in Canberra, Australia. The information might be slightly unstructured, and the photos might be a bit raw.
Note: The level 300 sessions were being squashed into short sessions, as a consequence the presenters were really under some pressure to zoom through the content. As a result, I found it difficult to make notes and listen at the same time in an effective manner.
Development: Mobile, Apps and Identity
Amazon Cognito
Rapid Pace of Delivery / This presentation
Why identity?
Pretty much as you’d expect
Federation
Tailored user experience
Access controls
Manage user lifecycles
Managing Identity Infra is difficult
SAML federation (other STSes)
Built-in user pools
Syncs data in states
Secure APIs
Cognito Use Cases
* IoT
* Apis (API Gateway)
* B2C
* B2E (employees)
* B2B
* SAML supported fed
* AWS resources
Don’t store auth inline in app data stores
Abstract identities
Only store verification identifiers
Other auth types?
Best practices
Answer: Cognito User Pools
API driven, OOTB
Flows can be extended with Lambda
Create custom attributes, per-application permissions, password policies and groups
Event based wiring, for extension. Customize messages (e.g SMS, email)
Hosted UI – new –
No authorization
Have to create custom authorizers
User flow: uses codes (tokens?). JWT
Interesting. That’s how you pass custom attributes
RLS: Why not OAuth2?
Scopes are defined for grouping claim rules. Passed in HTTP Auth header.
HTTP verbs, resources can be secured
Within policy
Cached credentials for up to one hour.
Cognito User pool is a good choice for blanket authentication
Federated Identities (use SDKs and AWS APIs)
Another option: RBAC
FURTHER customization: look for claims within tokens, e.g custom attributes and map to groups/permissions
Active Directory – SAML support
Social Media
Configure Federation claim mappings directly to Cognito user pools
I wonder how this effects user management
Looks familiar
RLS: The presenter’s nerves are getting to him. He’s going OK, maybe he feels rushed?
Use API gateway to secure backend resources
RLS: Interesting, they don’t like WS-Fed? SAML, JWT is a bit old school?
Authenticating systems
EC2 Instance roles
RLS: Interesting. I’ve built this before with IdentityServer
RLS: Quite a few things left to discuss… but hard in 30 mins to cover it all.