SlideShare a Scribd company logo
Confidential │ ©2021VMware,Inc.
Demystify
LDAP and OIDC
Providing Security
to your App on Kubernetes
Dodd Pfeffer (he/him)
Advisory Solutions Engineer / Tanzu
September 2021
Confidential │ ©2021VMware,Inc.
Agenda
2
Set the stage
Put the pieces together
Show the results
Confidential │ ©2021VMware,Inc. 3
This presentation may contain product features or functionality that are currently under development.
This overview of new technology represents no commitmentfrom VMware to deliver these features in
any generally available product.
Features are subject to change, and must not be included in contracts, purchase orders, or sales
agreements of any kind.
Technical feasibility and market demand will affect final delivery.
Pricing and packaging for any new features/functionality/technology discussed or presented, have not
been determined.
The information in this presentation is for informationalpurposes only and may not be incorporated into any contract. There is no commitment or
obligation to deliver any items presented herein.
Disclaimer
Confidential │ ©2021VMware,Inc. 4
• I’ve seen all too many times there are specialists that understand their piece
• Directory Admins
• Infra Teams
• DevOps Platform Teams
• Developers
• Often off-line emails or tickets are used to coordinate activities among these teams without full
context or knowledge of other areas
• By increasing your general understanding, you can collaborate with groups or even self-help, allowing
you to move faster. Or resolve issues quicker when you in-enevitably face them
Why does this matter?
Confidential │ ©2021VMware,Inc. 5
Our Application
Confidential │ ©2021VMware,Inc. 6
Your App
Confidential │ ©2021VMware,Inc. 7
Logical Solution - OIDC
IDP RP
Confidential │ ©2021VMware,Inc. 8
Sample Implementation
Google Simple
App
Confidential │ ©2021VMware,Inc. 9
My Enterprise doesn’t look like sample app
Google Simple
App
Active Directory
Confidential │ ©2021VMware,Inc. 10
How about the façade / gateway patterns?
Active Directory Dex
Spring Cloud
Gateway
Confidential │ ©2021VMware,Inc. 11
Now you have the high-level, but how do you execute
Integrate Dex with
Active Directory
Integrate Spring
Cloud Gateway with
Dex
Configure SCG routes
for SSO
12
Confidential │ ©2021VMware,Inc.
LDAP Connector
Integrate AD with Dex via LDAP Connector
Active Directory Dex
Confidential │ ©2021VMware,Inc. 13
Microsoft’sdirectory service
Pervasive within enterprise environments
Organizes everyday items
• Devices
• Users
• Volumes
• Printers
• Groups
Lightweight Directory Access Protocol
Open, vendor-neutral,industry standard
Access and maintaindirectory service data
Active Directory LDAP
Active Directory and LDAP
Confidential │ ©2021VMware,Inc. 14
• URL for Directory Server
• Service account for your application
• It is key to use a service account as you
may likelylock out this account during
developmentand if you are using your
own account or a shared services
account this will impact other users of
that account
Your System Admin will Likely Provide you “some” information
Confidential │ ©2021VMware,Inc. 15
Here is what your Admin Uses
Confidential │ ©2021VMware,Inc. 16
Application Configuration
Confidential │ ©2021VMware,Inc. 17
• What is the organizationhierarchy?
• Are all the intended users in one OU or are they spread out?
• Sometimes organizationsput users all in the same OU
• Other times they are separatedby geography, or originalcompany, or business unit
• Are ”elevated privilege” accountsin different OUs than standardaccounts
• How about groups?
• What OU are groups in? Are they in several OUs?
• Is there a single group that represents your “admin” team for this integration?
• Do you have access to create new groups specific to the app as opposed to existing groups?
Get Familiar with the Active Directory Structure
Confidential │ ©2021VMware,Inc. 18
What configuration values do we need to find
Config Item Value / Description
URI ldap://162.168.7.116:389
Bind Dn servicebind@winterfell.local
Bind Password SuperSecretPassword1!
Domain winterfell.local
User Search Base DN Where in directory to start searching for users
User Search Filter How to know if an entry is an user
User Name Attribute Which attributeof user represents the “username”
Group Search Base DN Where in directory to start searching for groups
Group Search Filter How to know if an entry is a group
Group Search Group Attribute Which attributein group entry references group members
Group Search Name Attribute Which attributeof user represents the “group name”
Confidential │ ©2021VMware,Inc. 19
• Use data provided by admin, to
construct a query and limit the results
• Then find someone you are familiar
with, yourself
• Now capture key information:base dn,
search filter, username field
• Check out group information
• Now capture key information:base dn,
search filter, name attribute,member
attribute
LDAPSearch To the Rescue
usage: ldapsearch [options] [filter
[attributes...]]
where:
filter RFC 4515 compliant LDAP search filter
attributes whitespace-separated list of
attribute descriptions
which may include:
* all user attributes
Search options:
-b basedn base dn for search
Common options:
-D binddn bind DN
-H URI LDAP Uniform Resource Identifier(s)
-W prompt for bind password
-w passwd bind password (for simple
authentication)
-z limit size limit (in entries, or "none" or
"max") for search
Confidential │ ©2021VMware,Inc. 20
• DC = DomainComponent
• OU = OrganizationalUnit
• DN = DistinguishedName
• Entry has Attributes
• DN is the Unique Identifier for
the entry
• CN = CommonName
Definitions
# Naomi Smith, Users, acmeco, winterfell.local
dn: CN=Naomi Smith,OU=Users,OU=acmeco,DC=winterfell,DC=local
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Naomi Smith
sn: Smith
givenName: Naomi
distinguishedName: CN=Naomi Smith,OU=Users,OU=acmeco,DC=winterfell,DC=local
instanceType: 4
whenCreated: 20210812183850.0Z
whenChanged: 20210812183850.0Z
displayName: Naomi Smith
uSNCreated: 12924
memberOf: CN=acme-fitness-devs,OU=Groups,OU=acmeco,DC=winterfell,DC=local
uSNChanged: 12929
name: Naomi Smith
objectGUID:: pKYfEdZsp0m5UX0wIoELAQ==
userAccountControl: 66048
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 0
lastLogoff: 0
lastLogon: 0
pwdLastSet: 132732671304104091
primaryGroupID: 513
objectSid:: AQUAAAAAAAUVAAAAgTblzsM9OxpusH/tUQQAAA==
accountExpires: 9223372036854775807
logonCount: 0
sAMAccountName: naomi
sAMAccountType: 805306368
userPrincipalName: naomi@winterfell.local
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=winterfell,DC=local
dSCorePropagationData: 20210812183850.0Z
dSCorePropagationData: 16010101000000.0Z
mail: naomi@winterfell.local
Confidential │ ©2021VMware,Inc. 21
Demo: LDAPSearch
Place
screenshot
here
21
Confidential │ ©2021VMware,Inc. 22
What configuration values do we need to find
Config Item Value / Description
URI ldap://162.168.7.116:389
Bind Dn servicebind@winterfell.local
Bind Password SuperSecretPassword1!
Domain winterfell.local
User Search Base DN OU=Users,OU=acmeco,DC=winterfell,DC=local
User Search Filter object=user
User Name Attribute sAMAccountName
Group Search Base DN OU=Groups,OU=acmeco,DC=winterfell,DC=local
Group Search Filter object=group
Group Search Group Attribute sAMAccountName
Group Search Name Attribute member
Confidential │ ©2021VMware,Inc. 23
Demo: Dex Configuration
Place
screenshot
here
23
• TKG deploys Dex under the covers
• I’ve already deployed a Kubernetes cluster using TKG
• Let’s test login and see what Dex sees
Confidential │ ©2021VMware,Inc. 24
• Spring LDAP Getting Started Guide
• Grab your ldapsearch output, and update the sample ldif file
• Now you can mock your active directory!
Mocking Active Directory
Quick Aside
25
Confidential │ ©2021VMware,Inc.
OIDC Client Registration
Integrate Spring Cloud Gateway and Dex
Dex
Spring Cloud
Gateway
Confidential │ ©2021VMware,Inc. 26
Framework for AuthN/AuthZ protocols
Provides variety of standardized messaging flows
based upon JSON and HTTP
JWT (JSON Web Tokens) support claimsbetween
two parties
Uses OAuth 2.0 to provide identity services
• IDP: Identity Provider offers AuthN as a service
• RP: Relying Party outsources user auth to IDP
Google, Microsoft, Ping Identity, Okta and others
provide OIDC services
JWT token assert identityand claims “group”
membership
OAuth OIDC
OIDC: OpenID Connect
Source: https://openid.net/connect/faq/
Confidential │ ©2021VMware,Inc. 27
Standard Discovery URI
How do clients Know How to interact with IDP (Dex)
https://dex.castleblack.tkg-vsphere-
lab.winterfell.life/.well-known/openid-configuration
Confidential │ ©2021VMware,Inc. 28
Confidential │ ©2021VMware,Inc. 29
Confidential │ ©2021VMware,Inc. 30
Confidential │ ©2021VMware,Inc. 31
What are are common OIDC configuration parameters
Confidential │ ©2021VMware,Inc. 32
1. Register Spring Cloud Gateway as a
client within dex config
2. Create a secret containing the client
credentials, issuer-uri, and requested
scopes
3. Configure gatewayfor sso by
identifying the secret that contains
configuration values
4. Identify which attribute in the token
SCG should consider for roles
GatewaySetup
Spring Cloud Gateway
apiVersion: "tanzu.vmware.com/v1"
kind: SpringCloudGateway
metadata:
name: my-gateway
spec:
sso:
secret: my-sso-credentials
roles-attribute-name: "groups"
scope=openid,profile,email,groups
client-id=gateway
client-secret=superSecretSecret
issuer-uri=https://dex.acme.co
config:
staticClients:
- name: spring-cloud-gateway
id: gateway
secret: superSecretSecret
redirectURIs:
- https://gateway.acme.co/login/oauth2/code/sso
Confidential │ ©2021VMware,Inc. 33
Demo: Configuration
Place
screenshot
here
33
34
Confidential │ ©2021VMware,Inc.
App to gateway
Integrate App to Spring Cloud Gateway
Spring Cloud
Gateway
Confidential │ ©2021VMware,Inc. 35
Demo App - Requirements
https://github.com/spring-cloud-services-samples/animal-rescue
1. All access to front end should not require authentication
2. Adopting animals requires authentication and membership to animal-rescue-adopters group
Confidential │ ©2021VMware,Inc. 36
1. Set the ssoEnabled attribute on a route to
require authenticated access
2. Add the Roles filter to indicate a user
must be in the requested group in order
to access to route
3. Pass the id token to the downstream
service using tokenRelay attribute
Route Configuration
apiVersion: "tanzu.vmware.com/v1"
kind: SpringCloudGatewayRouteConfig
metadata:
name: my-gateway-routes
spec:
service:
namespace: animal-rescue
port: 80
name: animal-rescue-backend
routes:
- ssoEnabled: true
tokenRelay: true
predicates:
- Path=/api/**
filters:
- StripPrefix=1
- Roles=animial-rescue-adoptors
Confidential │ ©2021VMware,Inc. 37
Demo: Let’s configure the app
Place
screenshot
here
37
Confidential │ ©2021VMware,Inc. 38
In Review
Active Directory Dex
Spring Cloud
Gateway
Confidential │ ©2021VMware,Inc.
Thank You

More Related Content

What's hot

Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
Antoine Rey
 
OWASP Secure Coding
OWASP Secure CodingOWASP Secure Coding
OWASP Secure Coding
bilcorry
 
Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative Web
Cyrille Grandval
 
FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門
Yahoo!デベロッパーネットワーク
 
Secure coding practices
Secure coding practicesSecure coding practices
Secure coding practices
Mohammed Danish Amber
 
OWASP Serbia - A6 security misconfiguration
OWASP Serbia - A6 security misconfigurationOWASP Serbia - A6 security misconfiguration
OWASP Serbia - A6 security misconfigurationNikola Milosevic
 
WebAuthn
WebAuthnWebAuthn
WebAuthn
Kelley Robinson
 
Spring Boot in Action
Spring Boot in Action Spring Boot in Action
Spring Boot in Action
Alex Movila
 
Webauthn Tutorial
Webauthn TutorialWebauthn Tutorial
Webauthn Tutorial
FIDO Alliance
 
Identiverse 2019-navigating nist sp-800-63-3 -x a-ls cheat sheets-rev20190624
Identiverse 2019-navigating nist sp-800-63-3 -x a-ls cheat sheets-rev20190624Identiverse 2019-navigating nist sp-800-63-3 -x a-ls cheat sheets-rev20190624
Identiverse 2019-navigating nist sp-800-63-3 -x a-ls cheat sheets-rev20190624
Jean-François LOMBARDO
 
Spring data presentation
Spring data presentationSpring data presentation
Spring data presentation
Oleksii Usyk
 
俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン
Masaru Kurahayashi
 
FIDOのキホン
FIDOのキホンFIDOのキホン
4 andrii kudiurov - web application security 101
4   andrii kudiurov - web application security 1014   andrii kudiurov - web application security 101
4 andrii kudiurov - web application security 101
Ievgenii Katsan
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring Cloud
Florian Beaufumé
 
UnicodeによるXSSと SQLインジェクションの可能性
UnicodeによるXSSとSQLインジェクションの可能性UnicodeによるXSSとSQLインジェクションの可能性
UnicodeによるXSSと SQLインジェクションの可能性
Hiroshi Tokumaru
 
Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuelles
Xavier Kress
 
What the Heck is OAuth and OIDC - UberConf 2018
What the Heck is OAuth and OIDC - UberConf 2018What the Heck is OAuth and OIDC - UberConf 2018
What the Heck is OAuth and OIDC - UberConf 2018
Matt Raible
 
FIDO2 ~ パスワードのいらない世界へ
FIDO2 ~ パスワードのいらない世界へFIDO2 ~ パスワードのいらない世界へ
FIDO2 ~ パスワードのいらない世界へ
FIDO Alliance
 

What's hot (20)

Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
OWASP Secure Coding
OWASP Secure CodingOWASP Secure Coding
OWASP Secure Coding
 
Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative Web
 
OWASP Top Ten
OWASP Top TenOWASP Top Ten
OWASP Top Ten
 
FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門
 
Secure coding practices
Secure coding practicesSecure coding practices
Secure coding practices
 
OWASP Serbia - A6 security misconfiguration
OWASP Serbia - A6 security misconfigurationOWASP Serbia - A6 security misconfiguration
OWASP Serbia - A6 security misconfiguration
 
WebAuthn
WebAuthnWebAuthn
WebAuthn
 
Spring Boot in Action
Spring Boot in Action Spring Boot in Action
Spring Boot in Action
 
Webauthn Tutorial
Webauthn TutorialWebauthn Tutorial
Webauthn Tutorial
 
Identiverse 2019-navigating nist sp-800-63-3 -x a-ls cheat sheets-rev20190624
Identiverse 2019-navigating nist sp-800-63-3 -x a-ls cheat sheets-rev20190624Identiverse 2019-navigating nist sp-800-63-3 -x a-ls cheat sheets-rev20190624
Identiverse 2019-navigating nist sp-800-63-3 -x a-ls cheat sheets-rev20190624
 
Spring data presentation
Spring data presentationSpring data presentation
Spring data presentation
 
俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン
 
FIDOのキホン
FIDOのキホンFIDOのキホン
FIDOのキホン
 
4 andrii kudiurov - web application security 101
4   andrii kudiurov - web application security 1014   andrii kudiurov - web application security 101
4 andrii kudiurov - web application security 101
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring Cloud
 
UnicodeによるXSSと SQLインジェクションの可能性
UnicodeによるXSSとSQLインジェクションの可能性UnicodeによるXSSとSQLインジェクションの可能性
UnicodeによるXSSと SQLインジェクションの可能性
 
Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuelles
 
What the Heck is OAuth and OIDC - UberConf 2018
What the Heck is OAuth and OIDC - UberConf 2018What the Heck is OAuth and OIDC - UberConf 2018
What the Heck is OAuth and OIDC - UberConf 2018
 
FIDO2 ~ パスワードのいらない世界へ
FIDO2 ~ パスワードのいらない世界へFIDO2 ~ パスワードのいらない世界へ
FIDO2 ~ パスワードのいらない世界へ
 

Similar to Demystify LDAP and OIDC Providing Security to Your App on Kubernetes

Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
panagenda
 
ppt-security-dbsat-222-overview-nodemo.pdf
ppt-security-dbsat-222-overview-nodemo.pdfppt-security-dbsat-222-overview-nodemo.pdf
ppt-security-dbsat-222-overview-nodemo.pdf
camyla81
 
Productive Expansion on Amazon Web Services with BlazeClan
 Productive Expansion on Amazon Web Services with BlazeClan Productive Expansion on Amazon Web Services with BlazeClan
Productive Expansion on Amazon Web Services with BlazeClan
Blazeclan Technologies Private Limited
 
Thick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseThick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash Course
Scott Sutherland
 
Security and LDAP integration in InduSoft Web Studio
Security and LDAP integration in InduSoft Web StudioSecurity and LDAP integration in InduSoft Web Studio
Security and LDAP integration in InduSoft Web Studio
AVEVA
 
O365con14 - moving from on-premises to online, the road to follow
O365con14 - moving from on-premises to online, the road to followO365con14 - moving from on-premises to online, the road to follow
O365con14 - moving from on-premises to online, the road to follow
NCCOMMS
 
Introduction to Active Directory
Introduction to Active DirectoryIntroduction to Active Directory
Introduction to Active Directory
Jalpesh Vadgama
 
Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019
Velocidex Enterprises
 
Vmware Serengeti - Based on Infochimps Ironfan
Vmware Serengeti - Based on Infochimps IronfanVmware Serengeti - Based on Infochimps Ironfan
Vmware Serengeti - Based on Infochimps Ironfan
Jim Kaskade
 
Centralizing users’ authentication at Active Directory level 
Centralizing users’ authentication at Active Directory level Centralizing users’ authentication at Active Directory level 
Centralizing users’ authentication at Active Directory level 
Hossein Sarshar
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseNetSPI
 
End-to-End Security and Auditing in a Big Data as a Service Deployment
End-to-End Security and Auditing in a Big Data as a Service DeploymentEnd-to-End Security and Auditing in a Big Data as a Service Deployment
End-to-End Security and Auditing in a Big Data as a Service Deployment
DataWorks Summit/Hadoop Summit
 
SDX Pitch Deck (201) - Apresentação SDP 2024
SDX Pitch Deck (201) - Apresentação SDP 2024SDX Pitch Deck (201) - Apresentação SDP 2024
SDX Pitch Deck (201) - Apresentação SDP 2024
PauloEduardoBitarJun
 
Here Be Dragons: Security Maps of the Container New World
Here Be Dragons: Security Maps of the Container New WorldHere Be Dragons: Security Maps of the Container New World
Here Be Dragons: Security Maps of the Container New World
C4Media
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
Steve Martinelli
 
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld
 
Azure Community Tour 2019 - AZUGDK
Azure Community Tour 2019 - AZUGDKAzure Community Tour 2019 - AZUGDK
Azure Community Tour 2019 - AZUGDK
Peter Selch Dahl
 
Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...
Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...
Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...
Abhiraj Butala
 
CIS13: Deploying an Identity Provider in a Complex, Federated and Siloed World
CIS13: Deploying an Identity Provider in a Complex, Federated and Siloed WorldCIS13: Deploying an Identity Provider in a Complex, Federated and Siloed World
CIS13: Deploying an Identity Provider in a Complex, Federated and Siloed World
CloudIDSummit
 
20161020 - Paris - Retour GC
20161020  - Paris - Retour GC20161020  - Paris - Retour GC
20161020 - Paris - Retour GC
Benoît Simard
 

Similar to Demystify LDAP and OIDC Providing Security to Your App on Kubernetes (20)

Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
Co01_panagenda_NotesDomino-Licensing-Understand-and-Optimize-DLAU-results-wit...
 
ppt-security-dbsat-222-overview-nodemo.pdf
ppt-security-dbsat-222-overview-nodemo.pdfppt-security-dbsat-222-overview-nodemo.pdf
ppt-security-dbsat-222-overview-nodemo.pdf
 
Productive Expansion on Amazon Web Services with BlazeClan
 Productive Expansion on Amazon Web Services with BlazeClan Productive Expansion on Amazon Web Services with BlazeClan
Productive Expansion on Amazon Web Services with BlazeClan
 
Thick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseThick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash Course
 
Security and LDAP integration in InduSoft Web Studio
Security and LDAP integration in InduSoft Web StudioSecurity and LDAP integration in InduSoft Web Studio
Security and LDAP integration in InduSoft Web Studio
 
O365con14 - moving from on-premises to online, the road to follow
O365con14 - moving from on-premises to online, the road to followO365con14 - moving from on-premises to online, the road to follow
O365con14 - moving from on-premises to online, the road to follow
 
Introduction to Active Directory
Introduction to Active DirectoryIntroduction to Active Directory
Introduction to Active Directory
 
Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019
 
Vmware Serengeti - Based on Infochimps Ironfan
Vmware Serengeti - Based on Infochimps IronfanVmware Serengeti - Based on Infochimps Ironfan
Vmware Serengeti - Based on Infochimps Ironfan
 
Centralizing users’ authentication at Active Directory level 
Centralizing users’ authentication at Active Directory level Centralizing users’ authentication at Active Directory level 
Centralizing users’ authentication at Active Directory level 
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash Course
 
End-to-End Security and Auditing in a Big Data as a Service Deployment
End-to-End Security and Auditing in a Big Data as a Service DeploymentEnd-to-End Security and Auditing in a Big Data as a Service Deployment
End-to-End Security and Auditing in a Big Data as a Service Deployment
 
SDX Pitch Deck (201) - Apresentação SDP 2024
SDX Pitch Deck (201) - Apresentação SDP 2024SDX Pitch Deck (201) - Apresentação SDP 2024
SDX Pitch Deck (201) - Apresentação SDP 2024
 
Here Be Dragons: Security Maps of the Container New World
Here Be Dragons: Security Maps of the Container New WorldHere Be Dragons: Security Maps of the Container New World
Here Be Dragons: Security Maps of the Container New World
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
 
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
VMworld 2013: NSX PCI Reference Architecture Workshop Session 3 - Operational...
 
Azure Community Tour 2019 - AZUGDK
Azure Community Tour 2019 - AZUGDKAzure Community Tour 2019 - AZUGDK
Azure Community Tour 2019 - AZUGDK
 
Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...
Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...
Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...
 
CIS13: Deploying an Identity Provider in a Complex, Federated and Siloed World
CIS13: Deploying an Identity Provider in a Complex, Federated and Siloed WorldCIS13: Deploying an Identity Provider in a Complex, Federated and Siloed World
CIS13: Deploying an Identity Provider in a Complex, Federated and Siloed World
 
20161020 - Paris - Retour GC
20161020  - Paris - Retour GC20161020  - Paris - Retour GC
20161020 - Paris - Retour GC
 

More from VMware Tanzu

Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
VMware Tanzu
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
VMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
VMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
VMware Tanzu
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 

More from VMware Tanzu (20)

Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
 
What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 

Recently uploaded

GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
KrzysztofKkol1
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 

Recently uploaded (20)

GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 

Demystify LDAP and OIDC Providing Security to Your App on Kubernetes

  • 1. Confidential │ ©2021VMware,Inc. Demystify LDAP and OIDC Providing Security to your App on Kubernetes Dodd Pfeffer (he/him) Advisory Solutions Engineer / Tanzu September 2021
  • 2. Confidential │ ©2021VMware,Inc. Agenda 2 Set the stage Put the pieces together Show the results
  • 3. Confidential │ ©2021VMware,Inc. 3 This presentation may contain product features or functionality that are currently under development. This overview of new technology represents no commitmentfrom VMware to deliver these features in any generally available product. Features are subject to change, and must not be included in contracts, purchase orders, or sales agreements of any kind. Technical feasibility and market demand will affect final delivery. Pricing and packaging for any new features/functionality/technology discussed or presented, have not been determined. The information in this presentation is for informationalpurposes only and may not be incorporated into any contract. There is no commitment or obligation to deliver any items presented herein. Disclaimer
  • 4. Confidential │ ©2021VMware,Inc. 4 • I’ve seen all too many times there are specialists that understand their piece • Directory Admins • Infra Teams • DevOps Platform Teams • Developers • Often off-line emails or tickets are used to coordinate activities among these teams without full context or knowledge of other areas • By increasing your general understanding, you can collaborate with groups or even self-help, allowing you to move faster. Or resolve issues quicker when you in-enevitably face them Why does this matter?
  • 7. Confidential │ ©2021VMware,Inc. 7 Logical Solution - OIDC IDP RP
  • 8. Confidential │ ©2021VMware,Inc. 8 Sample Implementation Google Simple App
  • 9. Confidential │ ©2021VMware,Inc. 9 My Enterprise doesn’t look like sample app Google Simple App Active Directory
  • 10. Confidential │ ©2021VMware,Inc. 10 How about the façade / gateway patterns? Active Directory Dex Spring Cloud Gateway
  • 11. Confidential │ ©2021VMware,Inc. 11 Now you have the high-level, but how do you execute Integrate Dex with Active Directory Integrate Spring Cloud Gateway with Dex Configure SCG routes for SSO
  • 12. 12 Confidential │ ©2021VMware,Inc. LDAP Connector Integrate AD with Dex via LDAP Connector Active Directory Dex
  • 13. Confidential │ ©2021VMware,Inc. 13 Microsoft’sdirectory service Pervasive within enterprise environments Organizes everyday items • Devices • Users • Volumes • Printers • Groups Lightweight Directory Access Protocol Open, vendor-neutral,industry standard Access and maintaindirectory service data Active Directory LDAP Active Directory and LDAP
  • 14. Confidential │ ©2021VMware,Inc. 14 • URL for Directory Server • Service account for your application • It is key to use a service account as you may likelylock out this account during developmentand if you are using your own account or a shared services account this will impact other users of that account Your System Admin will Likely Provide you “some” information
  • 15. Confidential │ ©2021VMware,Inc. 15 Here is what your Admin Uses
  • 16. Confidential │ ©2021VMware,Inc. 16 Application Configuration
  • 17. Confidential │ ©2021VMware,Inc. 17 • What is the organizationhierarchy? • Are all the intended users in one OU or are they spread out? • Sometimes organizationsput users all in the same OU • Other times they are separatedby geography, or originalcompany, or business unit • Are ”elevated privilege” accountsin different OUs than standardaccounts • How about groups? • What OU are groups in? Are they in several OUs? • Is there a single group that represents your “admin” team for this integration? • Do you have access to create new groups specific to the app as opposed to existing groups? Get Familiar with the Active Directory Structure
  • 18. Confidential │ ©2021VMware,Inc. 18 What configuration values do we need to find Config Item Value / Description URI ldap://162.168.7.116:389 Bind Dn servicebind@winterfell.local Bind Password SuperSecretPassword1! Domain winterfell.local User Search Base DN Where in directory to start searching for users User Search Filter How to know if an entry is an user User Name Attribute Which attributeof user represents the “username” Group Search Base DN Where in directory to start searching for groups Group Search Filter How to know if an entry is a group Group Search Group Attribute Which attributein group entry references group members Group Search Name Attribute Which attributeof user represents the “group name”
  • 19. Confidential │ ©2021VMware,Inc. 19 • Use data provided by admin, to construct a query and limit the results • Then find someone you are familiar with, yourself • Now capture key information:base dn, search filter, username field • Check out group information • Now capture key information:base dn, search filter, name attribute,member attribute LDAPSearch To the Rescue usage: ldapsearch [options] [filter [attributes...]] where: filter RFC 4515 compliant LDAP search filter attributes whitespace-separated list of attribute descriptions which may include: * all user attributes Search options: -b basedn base dn for search Common options: -D binddn bind DN -H URI LDAP Uniform Resource Identifier(s) -W prompt for bind password -w passwd bind password (for simple authentication) -z limit size limit (in entries, or "none" or "max") for search
  • 20. Confidential │ ©2021VMware,Inc. 20 • DC = DomainComponent • OU = OrganizationalUnit • DN = DistinguishedName • Entry has Attributes • DN is the Unique Identifier for the entry • CN = CommonName Definitions # Naomi Smith, Users, acmeco, winterfell.local dn: CN=Naomi Smith,OU=Users,OU=acmeco,DC=winterfell,DC=local objectClass: top objectClass: person objectClass: organizationalPerson objectClass: user cn: Naomi Smith sn: Smith givenName: Naomi distinguishedName: CN=Naomi Smith,OU=Users,OU=acmeco,DC=winterfell,DC=local instanceType: 4 whenCreated: 20210812183850.0Z whenChanged: 20210812183850.0Z displayName: Naomi Smith uSNCreated: 12924 memberOf: CN=acme-fitness-devs,OU=Groups,OU=acmeco,DC=winterfell,DC=local uSNChanged: 12929 name: Naomi Smith objectGUID:: pKYfEdZsp0m5UX0wIoELAQ== userAccountControl: 66048 badPwdCount: 0 codePage: 0 countryCode: 0 badPasswordTime: 0 lastLogoff: 0 lastLogon: 0 pwdLastSet: 132732671304104091 primaryGroupID: 513 objectSid:: AQUAAAAAAAUVAAAAgTblzsM9OxpusH/tUQQAAA== accountExpires: 9223372036854775807 logonCount: 0 sAMAccountName: naomi sAMAccountType: 805306368 userPrincipalName: naomi@winterfell.local objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=winterfell,DC=local dSCorePropagationData: 20210812183850.0Z dSCorePropagationData: 16010101000000.0Z mail: naomi@winterfell.local
  • 21. Confidential │ ©2021VMware,Inc. 21 Demo: LDAPSearch Place screenshot here 21
  • 22. Confidential │ ©2021VMware,Inc. 22 What configuration values do we need to find Config Item Value / Description URI ldap://162.168.7.116:389 Bind Dn servicebind@winterfell.local Bind Password SuperSecretPassword1! Domain winterfell.local User Search Base DN OU=Users,OU=acmeco,DC=winterfell,DC=local User Search Filter object=user User Name Attribute sAMAccountName Group Search Base DN OU=Groups,OU=acmeco,DC=winterfell,DC=local Group Search Filter object=group Group Search Group Attribute sAMAccountName Group Search Name Attribute member
  • 23. Confidential │ ©2021VMware,Inc. 23 Demo: Dex Configuration Place screenshot here 23 • TKG deploys Dex under the covers • I’ve already deployed a Kubernetes cluster using TKG • Let’s test login and see what Dex sees
  • 24. Confidential │ ©2021VMware,Inc. 24 • Spring LDAP Getting Started Guide • Grab your ldapsearch output, and update the sample ldif file • Now you can mock your active directory! Mocking Active Directory Quick Aside
  • 25. 25 Confidential │ ©2021VMware,Inc. OIDC Client Registration Integrate Spring Cloud Gateway and Dex Dex Spring Cloud Gateway
  • 26. Confidential │ ©2021VMware,Inc. 26 Framework for AuthN/AuthZ protocols Provides variety of standardized messaging flows based upon JSON and HTTP JWT (JSON Web Tokens) support claimsbetween two parties Uses OAuth 2.0 to provide identity services • IDP: Identity Provider offers AuthN as a service • RP: Relying Party outsources user auth to IDP Google, Microsoft, Ping Identity, Okta and others provide OIDC services JWT token assert identityand claims “group” membership OAuth OIDC OIDC: OpenID Connect Source: https://openid.net/connect/faq/
  • 27. Confidential │ ©2021VMware,Inc. 27 Standard Discovery URI How do clients Know How to interact with IDP (Dex) https://dex.castleblack.tkg-vsphere- lab.winterfell.life/.well-known/openid-configuration
  • 31. Confidential │ ©2021VMware,Inc. 31 What are are common OIDC configuration parameters
  • 32. Confidential │ ©2021VMware,Inc. 32 1. Register Spring Cloud Gateway as a client within dex config 2. Create a secret containing the client credentials, issuer-uri, and requested scopes 3. Configure gatewayfor sso by identifying the secret that contains configuration values 4. Identify which attribute in the token SCG should consider for roles GatewaySetup Spring Cloud Gateway apiVersion: "tanzu.vmware.com/v1" kind: SpringCloudGateway metadata: name: my-gateway spec: sso: secret: my-sso-credentials roles-attribute-name: "groups" scope=openid,profile,email,groups client-id=gateway client-secret=superSecretSecret issuer-uri=https://dex.acme.co config: staticClients: - name: spring-cloud-gateway id: gateway secret: superSecretSecret redirectURIs: - https://gateway.acme.co/login/oauth2/code/sso
  • 33. Confidential │ ©2021VMware,Inc. 33 Demo: Configuration Place screenshot here 33
  • 34. 34 Confidential │ ©2021VMware,Inc. App to gateway Integrate App to Spring Cloud Gateway Spring Cloud Gateway
  • 35. Confidential │ ©2021VMware,Inc. 35 Demo App - Requirements https://github.com/spring-cloud-services-samples/animal-rescue 1. All access to front end should not require authentication 2. Adopting animals requires authentication and membership to animal-rescue-adopters group
  • 36. Confidential │ ©2021VMware,Inc. 36 1. Set the ssoEnabled attribute on a route to require authenticated access 2. Add the Roles filter to indicate a user must be in the requested group in order to access to route 3. Pass the id token to the downstream service using tokenRelay attribute Route Configuration apiVersion: "tanzu.vmware.com/v1" kind: SpringCloudGatewayRouteConfig metadata: name: my-gateway-routes spec: service: namespace: animal-rescue port: 80 name: animal-rescue-backend routes: - ssoEnabled: true tokenRelay: true predicates: - Path=/api/** filters: - StripPrefix=1 - Roles=animial-rescue-adoptors
  • 37. Confidential │ ©2021VMware,Inc. 37 Demo: Let’s configure the app Place screenshot here 37
  • 38. Confidential │ ©2021VMware,Inc. 38 In Review Active Directory Dex Spring Cloud Gateway