Version 1.0
October 10, 2018
Security as a Service
How Your Spring Apps Can
Benefit From Cloud Foundry
Cover w/ Image
Agenda
■ What does the Cloud Foundry platform
provide for my apps?
■ What is OAuth and OIDC?
■ How can I use it?
■ What is Credhub?
■ How can I use it?
Cloud Foundry 💚 Spring
How does the platform benefit my apps?
A platform for running your apps...
BOSH
AWS Azure GCP On-Prem
VM VM VMVM VM VM VM
IaaS
PaaS
Appscf push
Routing CAPI UAA ...Diego
App
● Buildpacks
● Routing
● Scaling
● Monitoring
● Backup and Restore
● Services Marketplace● Services Marketplace
● Security Services for App
○ UAA (SSO)
Identity as a Service
○ Credhub
Credential
Management
A platform with security services for your apps...
BOSH
AWS Azure GCP On-Prem
VM VM VMVM VM VM VM
IaaS
PaaS
Appscf push
Routing CAPI UAA ...Diego
App
Security services to help you build your apps...
cf push
AppsApp
PaaSCredhubUAA
● Identity Proxy
● User AuthN/AuthZ
● Service-to-Service
Authn/AuthZ
● Credential Generation
● Credential Storage
● Credential Rotation
Cloud Native Protocols
What is OAuth? I’ll do you one better: Why is OAuth?
SAML
LDAP
Authorization
Server
Client Resource
Server
Resource
Server
OAuth 2.0 (Authorization) - Access Token
OpenID Connect (Authentication) - ID Token
Resource
Owner
What’s a Token Look Like?
JSON Web Token (JWT)Bearer Token
What’s a Token Look Like?
Authentication Method (“External”)
External User Attributes
External Groups
What’s a Token Look Like?
Scopes for Role Based Access Control
User allowed to have scope (UAA group)
Client allowed to have scope (client config)
User consented client can use scope (to
prevent malicious apps)
Client Resource
Servers
(Anywhere)
Authorization
Server
Resource
Server
Clients
(Anywhere)
Authorization
Server
Authorization
Server
Client Resource
Servers
as892jd
as892jd
Authorization Code Grant Flow (UI Flow)
Super Secure Back Channel Tokens
as892jd
Authorization
Server
Client Resource
Servers
Implicit Grant Flow (UI Flow)
Front end only (Single Page App) / short lifetime
Authorization
Server
Client Resource
Servers
Password Grant Flow (Non-Browser Flow)
Trusted Native Apps - CLIs or Mobile
Authorization
Server
Client Resource
Servers
Client Credential Grant Flow (Non-User Flow)
Apps on behalf of itself
Clients can be
configured with
scopes as authorities
for RBAC
RBAC
Authorization
Server
Client or
Resource
Server
Resource
Servers
Token Exchange
SAML or JWT from external identity providers
External
Identity
Provider
Authorization
Server
Resource
Server
Resource
Servers
Token Passing
Not Even A Grant Flow - But Be Careful
UAA and PCF SSO
Identity as a Service
Official Identity Provider of Cloud
Foundry, BOSH, OpsManager, PAS,
PKS, and more
Production proven at scales of over
2 million tokens per day
UAA
Cloud
Foundry
and PCF
LDAP
Lightweight
Directory Access
Protocol
OpenID Connect
UAA
SAML
Powered by
UAA
BOSH
OpsMan
PKS
Identity Service Broker,
Identity Sample Apps,
and Spring SSO Connector
Beyond UAA and into the customer
experience
Starting with Spring Boot for Java &
SteelToe for .NET
SSO
Pivotal SSO
Service
Customer
Applications
Enterprise/
Internal
Applications
Mobile
Applications
LDAP
Lightweight
Directory Access
Protocol
OpenID
Connect
OpenID Connect
UAA
SAML
SSO Operator Dashboard - Identity Providers
SSO Integration Guides
SSO Identity
Service Broker
Spring
SSO
Connector
Frameworks like
Spring Boot /
SteelToe
(Not Owned by Team)
Identity Sample
Apps
Operator App Developer
We become both a bridge and a buffer between the old world and
the new world
SSO Developer Dashboard -
Apps and Resources
Powered by
UAA
Demo
UAA and SSO
Credhub
RRR Matey - Rotate, Repave, Repair
What is Credhub?
How does it work?
Credential Generation
Credential Storage
Credential Rotation
Credential Usage
Spring CredHub provides client-side support for storing, retrieving, and deleting credentials from a CredHub
server running in a Cloud Foundry platform.
The CredHubTemplate is used to interact with CredHub, typically used through its CredHubOperations
interface.
Demo
Credhub
Transforming How The World Builds Software
© Copyright 2018 Pivotal Software, Inc. All rights Reserved.

Security as a Service - Tian Wang