SlideShare ist ein Scribd-Unternehmen logo
1 von 40
OGh Oracle Fusion Middleware Experience 2016 bij FIGI Zeist
Maarten Smeets, 16-02-2016
Debugging WebLogic authentication
Introduction
• About AMIS
– Located in the Netherlands
– Oracle Award winning partner
• About me
– Senior Oracle Integration Consultant
– Experience with Oracle SOA Suite since 2007
– Well certified (SOA, BPM, Java, SQL,
PL/SQL among others)
– Author more than 100 blog articles
(http://javaoraclesoa.blogspot.com)
@MaartenSmeetsNL
https://nl.linkedin.com/in/smeetsm
4
Oracle Virtual Technology Summit
http://www.oracle.com/technetwork/community/developer-day/index.html
March 8, 2016, 18:30:00 CET
• Database Application Development
• Oracle DB12c Performance
• MySQL
• Java EE, Microservices and JPA
• All about Java 8!
• The Internet of Things
• WebLogic 12.2.1 and Java EE
• Operating Systems and Virtualization
• Storage,SPARC, and Software
Development
Agenda
• Oracle Identity Stores
• Introduction Oracle Platform Security Services (OPSS)
• What to debug
• How to debug WebLogic authentication
• How to debug application authentication
6
Why use an external Identity Store?
Application
WLS SOA
WLS OSB
WLS ADF
WLS WCC
• An application uses company internal users
• Often internal users are already present in an Identity Store
• Management organization in place
• Single environment to manage users
• Single account per user
7
Introduction OPSS
Oracle Identity Store solutions
• Oracle Unified Directory
– Embedded Berkeley Database
– LDAP proxy
– Much faster read/write than ODSEE
– Provides LDAP virtualization
– Elastic scaling
– Strategic Directory Server product
– Designed to address current and future
on-premise, mobile, and cloud needs
• Oracle Directory Server Enterprise
Edition
– ODSEE 5.2 and 6.3 are in Sustaining Support
– No new fixes will be created
• Oracle Virtual Directory
– Provides virtualization of different sources
– OUD does not replace OVD
• Oracle Internet Directory
– Uses external Oracle DB
– Used with Fusion Applications
https://blogs.oracle.com/OracleIDM/entry/why_customers_should_upgrade_directory
Agenda
• Oracle Identity Stores
• Introduction Oracle Platform Security Services (OPSS)
• What to debug
• How to debug WebLogic authentication
• How to debug application authentication
Introduction OPSS
Identity
Store
Providers
Authentication Authorization
Credential Store
Framework
User / Role
Service Provider Interface Layer
OPSS APIs
WebLogic Server
JavaEE application Java SE application
Agenda
• Oracle Identity Stores
• Introduction Oracle Platform Security Services (OPSS)
• What to debug
• How to debug WebLogic authentication
• How to debug application authentication
What to debug
Identity
Store
WebLogic Console
Application
Authentication
API
Virtualization
Platform security
jps-config.xml
jps-config-jse.xml
system-jazn-data.xml
config.xml web.xml
weblogic.xml
LDAP queries
SSL/TLS
Role mappings
Organizational Units
Authentication
provider
Agenda
• Oracle Identity Stores
• Introduction Oracle Platform Security Services (OPSS)
• What to debug
• How to debug WebLogic authentication
• How to debug application authentication
13
Debug Weblogic authentication
using an external client
• Using an external client
Apache Directory Studio
14
Debug WebLogic authentication
Embedded LDAP
15
Debug WebLogic authentication
Embedded LDAP
• Login using:
Bind DN / User: cn=Admin
• Running by default on the
AdminServer port
• Check out cn=Config for
LDAP server properties
16
Debug WebLogic authentication
Embedded LDAP
• Notice the use of dynamic
groups
17
Debug WebLogic authentication
Embedded LDAP
• Notice the use of dynamic
groups
18
Debug WebLogic authentication
Authentication provider configuration
• Select the authentication provider (as specific as possible)
• JAAS Control flags
• LDAP connection details
• LDAP search behavior
– Users
– Static groups
– Dynamic groups
• Cache settings
19
Debug WebLogic authentication
using Weblogic Console
• JAAS Control flags
– SUFFICIENT: if authentication is passed, no other authentication
providers are evaluated. If it fails, they are
– REQUIRED: the authentication provider is always called and
authentication must succeed
– OPTIONAL: passing authentication of this provider
is optional. If all providers are optional, one needs to pass
– REQUISITE: authentication has to succeed on
this provider. After that providers of lower priority are evaluated
20
Debug Weblogic authentication
Cache settings
• How to uniquely identify an LDAP entry. The GUID Attribute
• The GUID Attribute is used as cache key
• Provider specific
– OUD, OpenLDAP, ApacheDS: entryuuid
– Active Directory: objectguid
– OVD, OID: orclguid
• Misconfiguration can lead to first login fail, second login success (cache issues)
21
Debug Weblogic authentication
using Weblogic Console
• Connection to external
provider works
• Server trust is
established
• User query works
• Validating
authentication details
works
22
Debug Weblogic authentication
using Weblogic Console
• Dynamic group object class works
• Group Base DN works
• User Dynamic Group DN Attribute works
• Dynamic Group Name Attribute works
23
Debug Weblogic authentication
using log files
LDAP connections
LDAP queries
24
Demo
• Embedded LDAP
• How to create a user in an LDAP server
• How to configure WebLogic server to use the server
• Debug authentication using the console
• Debug the authentication using the log files
Agenda
• Oracle Identity Stores
• Introduction Oracle Platform Security Services (OPSS)
• What to debug
• How to debug WebLogic authentication
• How to debug application authentication
Debug application authentication
Identity
Store
WebLogic Console
Application
Authentication
API
Authentication
provider
Virtualization
Platform security
jps-config.xml
jps-config-jse.xml
system-jazn-data.xml
config.xml web.xml
weblogic.xml
LDAP queries
SSL/TLS
Role mappings
Organizational Units
27
OPSS configuration files
in $DOMAIN_HOME/config/fmwconfig
• Java Platform Security: jps-config.xml (Java EE), jps-config.jse.xml (Java SE) login modules,
authentication providers, authorization policy providers, credential stores and auditing services
• jazn-data.xml, system-jazn-data.xml
– users, groups and authorization policies
• cwallet.sso
– credentials used by the application
• adapters.os_xml
– LibOVD plugin configuration
28
Debug application authentication
LibOVD
• Present since 11.1.1.4. Seen several patches since then. Lightweight OVD alternative supplied with
WebLogic Server.
• FMW components which use OPSS can only use the first LDAP authentication provider
LibOVD provides virtualization
• Configuration
Edit <DOMAINDIR>/config/fmwconfig/jps-config.xml manually or from Enterprise Manager
Plugin configuration in <DOMAINDIR>configfmwconfigovddefaultadapters.os_xml
http://fusionsecurity.blogspot.nl/2012/06/libovd-when-and-how.html
29
Debug application authentication
LibOVD configuration
• <DOMAINDIR>/config/fmwconfig/jps-config.xml
Provides login modules, authentication providers, credential stores
30
Debug application authentication
LibOVD configuration
• The OPSS API only queries static groups by default. Not dynamic groups.
• Use the LibOVD dynamic group plugin to present dynamic groups like static groups
(configuration in <DOMAINDIR>configfmwconfigovddefaultadapters.os_xml)
• Requires that the dynamic group has both the GroupOfUniqueNames and GroupOfURL
objectclasses
• Only one structural class is allowed per LDAP object
• Fix by setting the superclass of GroupOfURLs to GroupOfUniqueNames
http://www.ateam-oracle.com/oracle-webcenter-and-dynamic-groups-from-an-external-ldap-server-part-1-of-2/
31
Debug application authentication
LibOVD debugging
• Can be used when ADFLogger is
used in application
• Can be used for specific Weblogic
Server component debugging such
as oracle.ods.virtualization for
LibOVD
32
Debug application authentication
ADF Security
• Application configuration files
– web.xml
Defines authorization constraints (valid-users)
and set-up OPSS policy provider (JpsFilter)
– weblogic.xml
Maps valid-users to OPSS principal users
33
Demo
• Use basic authentication in an ADF application
34
Debug application authentication
ADF Security
• Application configuration files
– jazn-data.xml
Contains development users / roles
Application roles are granted to enterprise roles / users (from the OPSS API which uses the authorization provider).
Resource permissions are granted to application roles or enterprise roles.
– Test with:
Java: ADFContext.getCurrent().getSecurityContext().isUserInRole(“role”)
EL: #{securityContext.userInRole[‘role']}
Users
Enterprise
roles
Application
roles
Permissions
Grants
weblogic.xml jazn-data.xml
35
Debug application authentication
ADF Security
• <DOMAINDIR>/config/fmwconfig/
system-jazn-data.xml
– OOTB file based policy store
– Users, groups, authorization policies
– CredentialAccessPermission
– Change while WebLogic is down or from
EM!
36
Debug application authentication
JVM parameters
• JVM parameters:
– -Djps.auth.debug=true to get AccessControlException among other useful messages
– -Djps.auth.debug.verbose=true to get a lot of debug messages
http://docs.oracle.com/cd/E23943_01/core.1111/e10043/jpsprops.htm#JISEC2229
37
Debug application authentication
Business Process Management
• Authenticate with a user
• User is member of (authentication provider)
groups
• Groups are granted (application) roles
and organization units
• Business Process Management uses application
roles and organization units
38
Debug application authentication
The Identity Service
• Can I authenticate the user?
– authenticateUser
• Can I determine groups?
– getGroups
http://HOST:PORT/integration/services/IdentityService/identity?WSDL
<ORACLE_HOME>/soa/soa/modules/oracle.soa.workflow_11.1.1/bpm-services.jar
• Can I determine granted roles?
– getGrantedRolesToUser
• Can I determine organizational units?
– use the Java API
39
Conclusion
• Many debugging options available
– Looking at WebLogic Console or application behavior
– Using an external client for your authentication provider
– Debug logging in WebLogic Server console
– Log configuration in Enterprise Manager Fusion Middleware Control
– Isolated tests such as IdentityService calls or Java API’s
• It is important to know what is between your application and your authentication provider to structure
your debugging efforts and trace at which layer things go wrong
• WebLogic Console is relatively easy to debug compared to for example LibOVD. Application side
debugging is often also not very difficult.
WebLogic authentication debugging

Weitere ähnliche Inhalte

Was ist angesagt?

HiveServer2 for Apache Hive
HiveServer2 for Apache HiveHiveServer2 for Apache Hive
HiveServer2 for Apache Hive
Carl Steinbach
 
Understanding Presto - Presto meetup @ Tokyo #1
Understanding Presto - Presto meetup @ Tokyo #1Understanding Presto - Presto meetup @ Tokyo #1
Understanding Presto - Presto meetup @ Tokyo #1
Sadayuki Furuhashi
 

Was ist angesagt? (20)

[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
 
Introduction to Spring Boot
Introduction to Spring BootIntroduction to Spring Boot
Introduction to Spring Boot
 
Building large scale transactional data lake using apache hudi
Building large scale transactional data lake using apache hudiBuilding large scale transactional data lake using apache hudi
Building large scale transactional data lake using apache hudi
 
Spring Framework - MVC
Spring Framework - MVCSpring Framework - MVC
Spring Framework - MVC
 
Jpa 잘 (하는 척) 하기
Jpa 잘 (하는 척) 하기Jpa 잘 (하는 척) 하기
Jpa 잘 (하는 척) 하기
 
Spring data jpa
Spring data jpaSpring data jpa
Spring data jpa
 
HiveServer2 for Apache Hive
HiveServer2 for Apache HiveHiveServer2 for Apache Hive
HiveServer2 for Apache Hive
 
Spring beans
Spring beansSpring beans
Spring beans
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
 
Understanding Presto - Presto meetup @ Tokyo #1
Understanding Presto - Presto meetup @ Tokyo #1Understanding Presto - Presto meetup @ Tokyo #1
Understanding Presto - Presto meetup @ Tokyo #1
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practices
 
Spring Framework - Spring Security
Spring Framework - Spring SecuritySpring Framework - Spring Security
Spring Framework - Spring Security
 
React workshop
React workshopReact workshop
React workshop
 
Practical Elasticsearch - real world use cases
Practical Elasticsearch - real world use casesPractical Elasticsearch - real world use cases
Practical Elasticsearch - real world use cases
 
Rest api with Python
Rest api with PythonRest api with Python
Rest api with Python
 
Understanding LINQ in C#
Understanding LINQ in C# Understanding LINQ in C#
Understanding LINQ in C#
 
Machine Learning Model Serving with Backend.AI
Machine Learning Model Serving with Backend.AIMachine Learning Model Serving with Backend.AI
Machine Learning Model Serving with Backend.AI
 
Using Angular JS in APEX
Using Angular JS in APEXUsing Angular JS in APEX
Using Angular JS in APEX
 
Database Performance Tuning Introduction
Database  Performance Tuning IntroductionDatabase  Performance Tuning Introduction
Database Performance Tuning Introduction
 
Airflow presentation
Airflow presentationAirflow presentation
Airflow presentation
 

Andere mochten auch

Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with Less
Ed Burns
 
End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...
End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...
End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...
andrejusb
 

Andere mochten auch (20)

What should I do now?! JCS for WebLogic Admins
What should I do now?! JCS for WebLogic AdminsWhat should I do now?! JCS for WebLogic Admins
What should I do now?! JCS for WebLogic Admins
 
OAM Install & Config
OAM Install & ConfigOAM Install & Config
OAM Install & Config
 
Easy oracle & weblogic provisioning and deployment
Easy oracle & weblogic provisioning and deploymentEasy oracle & weblogic provisioning and deployment
Easy oracle & weblogic provisioning and deployment
 
REST mit ADF
REST mit ADFREST mit ADF
REST mit ADF
 
Dynamicly Scale Weblogic in the private Cloud clusters
Dynamicly Scale Weblogic in the private Cloud clusters   Dynamicly Scale Weblogic in the private Cloud clusters
Dynamicly Scale Weblogic in the private Cloud clusters
 
Oracle WebLogic 12.2.1.1 Kurulum, Domain Oluşturma, Upgrade Notları
Oracle WebLogic 12.2.1.1 Kurulum, Domain Oluşturma, Upgrade NotlarıOracle WebLogic 12.2.1.1 Kurulum, Domain Oluşturma, Upgrade Notları
Oracle WebLogic 12.2.1.1 Kurulum, Domain Oluşturma, Upgrade Notları
 
Weblogic configuration
Weblogic configurationWeblogic configuration
Weblogic configuration
 
Learn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationLearn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c Administration
 
AMIS Beyond the Horizon - High density deployments using weblogic multitenancy
AMIS Beyond the Horizon - High density deployments using weblogic multitenancyAMIS Beyond the Horizon - High density deployments using weblogic multitenancy
AMIS Beyond the Horizon - High density deployments using weblogic multitenancy
 
Advanced WebLogic Monitoring: JMX and WLSDM Automation
Advanced WebLogic Monitoring: JMX and WLSDM AutomationAdvanced WebLogic Monitoring: JMX and WLSDM Automation
Advanced WebLogic Monitoring: JMX and WLSDM Automation
 
Upgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project Experiences
Upgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project ExperiencesUpgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project Experiences
Upgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project Experiences
 
Oracle Traffic Director - a vital part of your Oracle infrastructure
Oracle Traffic Director - a vital part of your Oracle infrastructureOracle Traffic Director - a vital part of your Oracle infrastructure
Oracle Traffic Director - a vital part of your Oracle infrastructure
 
Oow2016 review-iaas-paas-13th-18thoctober
Oow2016 review-iaas-paas-13th-18thoctoberOow2016 review-iaas-paas-13th-18thoctober
Oow2016 review-iaas-paas-13th-18thoctober
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with Less
 
End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...
End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...
End-to-End Cloud: Oracle Java Cloud, Oracle Mobile Cloud Service, Oracle MAF,...
 
Oracle WebLogic Server: Remote Monitoring and Management
Oracle WebLogic Server: Remote Monitoring and ManagementOracle WebLogic Server: Remote Monitoring and Management
Oracle WebLogic Server: Remote Monitoring and Management
 
What's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and BeyondWhat's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and Beyond
 
Performance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12cPerformance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12c
 
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
 
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
 

Ähnlich wie WebLogic authentication debugging

Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Alfredo Krieg
 

Ähnlich wie WebLogic authentication debugging (20)

AMIS Oracle OpenWorld 2013 Review Part 2 - Platform Middleware Publication
AMIS Oracle OpenWorld 2013 Review Part 2 - Platform Middleware PublicationAMIS Oracle OpenWorld 2013 Review Part 2 - Platform Middleware Publication
AMIS Oracle OpenWorld 2013 Review Part 2 - Platform Middleware Publication
 
Multiple ldap implementation with ebs using oid
Multiple ldap implementation with ebs using oidMultiple ldap implementation with ebs using oid
Multiple ldap implementation with ebs using oid
 
OIM11g R2PS2 Architecture
OIM11g R2PS2 ArchitectureOIM11g R2PS2 Architecture
OIM11g R2PS2 Architecture
 
Oracle Identity and access management overview
Oracle Identity and access management overviewOracle Identity and access management overview
Oracle Identity and access management overview
 
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
 
Case Study: Plus Retail - Moving from the Old World to the New World
Case Study: Plus Retail - Moving from the Old World to the New WorldCase Study: Plus Retail - Moving from the Old World to the New World
Case Study: Plus Retail - Moving from the Old World to the New World
 
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
 
Plantilla oracle
Plantilla oraclePlantilla oracle
Plantilla oracle
 
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Oracle Cloud Native Application Development (Meetup, 20th January 2020)Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
 
Rajnish singh(presentation on oracle )
Rajnish singh(presentation on  oracle )Rajnish singh(presentation on  oracle )
Rajnish singh(presentation on oracle )
 
Oracle database connection with the .net developers
Oracle database connection with the .net developersOracle database connection with the .net developers
Oracle database connection with the .net developers
 
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
 
KoprowskiT_SQLSatMoscow_WASDforBeginners
KoprowskiT_SQLSatMoscow_WASDforBeginnersKoprowskiT_SQLSatMoscow_WASDforBeginners
KoprowskiT_SQLSatMoscow_WASDforBeginners
 
Part 1 of the REAL Webinars on Oracle Cloud Native Application Development
Part 1 of the REAL Webinars on Oracle Cloud Native Application DevelopmentPart 1 of the REAL Webinars on Oracle Cloud Native Application Development
Part 1 of the REAL Webinars on Oracle Cloud Native Application Development
 
ITB2017 - Keynote
ITB2017 - KeynoteITB2017 - Keynote
ITB2017 - Keynote
 
Part 5 of the REAL Webinars on Oracle Cloud Native Application Development - ...
Part 5 of the REAL Webinars on Oracle Cloud Native Application Development - ...Part 5 of the REAL Webinars on Oracle Cloud Native Application Development - ...
Part 5 of the REAL Webinars on Oracle Cloud Native Application Development - ...
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
Ow
OwOw
Ow
 
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise UsersApache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
 

Mehr von Maarten Smeets

R2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database ConnectivityR2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database Connectivity
Maarten Smeets
 
Performance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMsPerformance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMs
Maarten Smeets
 
Performance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsPerformance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMs
Maarten Smeets
 

Mehr von Maarten Smeets (16)

Google jib: Building Java containers without Docker
Google jib: Building Java containers without DockerGoogle jib: Building Java containers without Docker
Google jib: Building Java containers without Docker
 
Introduction to Anchore Engine
Introduction to Anchore EngineIntroduction to Anchore Engine
Introduction to Anchore Engine
 
R2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database ConnectivityR2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database Connectivity
 
Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!
 
Performance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMsPerformance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMs
 
Performance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsPerformance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMs
 
VirtualBox networking explained
VirtualBox networking explainedVirtualBox networking explained
VirtualBox networking explained
 
Microservices on Application Container Cloud Service
Microservices on Application Container Cloud ServiceMicroservices on Application Container Cloud Service
Microservices on Application Container Cloud Service
 
WebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck ThreadsWebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck Threads
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
All you need to know about transport layer security
All you need to know about transport layer securityAll you need to know about transport layer security
All you need to know about transport layer security
 
Webservice security considerations and measures
Webservice security considerations and measuresWebservice security considerations and measures
Webservice security considerations and measures
 
Machine learning with R
Machine learning with RMachine learning with R
Machine learning with R
 
WebLogic Scripting Tool made Cool!
WebLogic Scripting Tool made Cool!WebLogic Scripting Tool made Cool!
WebLogic Scripting Tool made Cool!
 
Oracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new featuresOracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new features
 
How to build a cloud adapter
How to build a cloud adapterHow to build a cloud adapter
How to build a cloud adapter
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 

WebLogic authentication debugging

  • 1. OGh Oracle Fusion Middleware Experience 2016 bij FIGI Zeist Maarten Smeets, 16-02-2016 Debugging WebLogic authentication
  • 2.
  • 3. Introduction • About AMIS – Located in the Netherlands – Oracle Award winning partner • About me – Senior Oracle Integration Consultant – Experience with Oracle SOA Suite since 2007 – Well certified (SOA, BPM, Java, SQL, PL/SQL among others) – Author more than 100 blog articles (http://javaoraclesoa.blogspot.com) @MaartenSmeetsNL https://nl.linkedin.com/in/smeetsm
  • 4. 4 Oracle Virtual Technology Summit http://www.oracle.com/technetwork/community/developer-day/index.html March 8, 2016, 18:30:00 CET • Database Application Development • Oracle DB12c Performance • MySQL • Java EE, Microservices and JPA • All about Java 8! • The Internet of Things • WebLogic 12.2.1 and Java EE • Operating Systems and Virtualization • Storage,SPARC, and Software Development
  • 5. Agenda • Oracle Identity Stores • Introduction Oracle Platform Security Services (OPSS) • What to debug • How to debug WebLogic authentication • How to debug application authentication
  • 6. 6 Why use an external Identity Store? Application WLS SOA WLS OSB WLS ADF WLS WCC • An application uses company internal users • Often internal users are already present in an Identity Store • Management organization in place • Single environment to manage users • Single account per user
  • 7. 7 Introduction OPSS Oracle Identity Store solutions • Oracle Unified Directory – Embedded Berkeley Database – LDAP proxy – Much faster read/write than ODSEE – Provides LDAP virtualization – Elastic scaling – Strategic Directory Server product – Designed to address current and future on-premise, mobile, and cloud needs • Oracle Directory Server Enterprise Edition – ODSEE 5.2 and 6.3 are in Sustaining Support – No new fixes will be created • Oracle Virtual Directory – Provides virtualization of different sources – OUD does not replace OVD • Oracle Internet Directory – Uses external Oracle DB – Used with Fusion Applications https://blogs.oracle.com/OracleIDM/entry/why_customers_should_upgrade_directory
  • 8. Agenda • Oracle Identity Stores • Introduction Oracle Platform Security Services (OPSS) • What to debug • How to debug WebLogic authentication • How to debug application authentication
  • 9. Introduction OPSS Identity Store Providers Authentication Authorization Credential Store Framework User / Role Service Provider Interface Layer OPSS APIs WebLogic Server JavaEE application Java SE application
  • 10. Agenda • Oracle Identity Stores • Introduction Oracle Platform Security Services (OPSS) • What to debug • How to debug WebLogic authentication • How to debug application authentication
  • 11. What to debug Identity Store WebLogic Console Application Authentication API Virtualization Platform security jps-config.xml jps-config-jse.xml system-jazn-data.xml config.xml web.xml weblogic.xml LDAP queries SSL/TLS Role mappings Organizational Units Authentication provider
  • 12. Agenda • Oracle Identity Stores • Introduction Oracle Platform Security Services (OPSS) • What to debug • How to debug WebLogic authentication • How to debug application authentication
  • 13. 13 Debug Weblogic authentication using an external client • Using an external client Apache Directory Studio
  • 15. 15 Debug WebLogic authentication Embedded LDAP • Login using: Bind DN / User: cn=Admin • Running by default on the AdminServer port • Check out cn=Config for LDAP server properties
  • 16. 16 Debug WebLogic authentication Embedded LDAP • Notice the use of dynamic groups
  • 17. 17 Debug WebLogic authentication Embedded LDAP • Notice the use of dynamic groups
  • 18. 18 Debug WebLogic authentication Authentication provider configuration • Select the authentication provider (as specific as possible) • JAAS Control flags • LDAP connection details • LDAP search behavior – Users – Static groups – Dynamic groups • Cache settings
  • 19. 19 Debug WebLogic authentication using Weblogic Console • JAAS Control flags – SUFFICIENT: if authentication is passed, no other authentication providers are evaluated. If it fails, they are – REQUIRED: the authentication provider is always called and authentication must succeed – OPTIONAL: passing authentication of this provider is optional. If all providers are optional, one needs to pass – REQUISITE: authentication has to succeed on this provider. After that providers of lower priority are evaluated
  • 20. 20 Debug Weblogic authentication Cache settings • How to uniquely identify an LDAP entry. The GUID Attribute • The GUID Attribute is used as cache key • Provider specific – OUD, OpenLDAP, ApacheDS: entryuuid – Active Directory: objectguid – OVD, OID: orclguid • Misconfiguration can lead to first login fail, second login success (cache issues)
  • 21. 21 Debug Weblogic authentication using Weblogic Console • Connection to external provider works • Server trust is established • User query works • Validating authentication details works
  • 22. 22 Debug Weblogic authentication using Weblogic Console • Dynamic group object class works • Group Base DN works • User Dynamic Group DN Attribute works • Dynamic Group Name Attribute works
  • 23. 23 Debug Weblogic authentication using log files LDAP connections LDAP queries
  • 24. 24 Demo • Embedded LDAP • How to create a user in an LDAP server • How to configure WebLogic server to use the server • Debug authentication using the console • Debug the authentication using the log files
  • 25. Agenda • Oracle Identity Stores • Introduction Oracle Platform Security Services (OPSS) • What to debug • How to debug WebLogic authentication • How to debug application authentication
  • 26. Debug application authentication Identity Store WebLogic Console Application Authentication API Authentication provider Virtualization Platform security jps-config.xml jps-config-jse.xml system-jazn-data.xml config.xml web.xml weblogic.xml LDAP queries SSL/TLS Role mappings Organizational Units
  • 27. 27 OPSS configuration files in $DOMAIN_HOME/config/fmwconfig • Java Platform Security: jps-config.xml (Java EE), jps-config.jse.xml (Java SE) login modules, authentication providers, authorization policy providers, credential stores and auditing services • jazn-data.xml, system-jazn-data.xml – users, groups and authorization policies • cwallet.sso – credentials used by the application • adapters.os_xml – LibOVD plugin configuration
  • 28. 28 Debug application authentication LibOVD • Present since 11.1.1.4. Seen several patches since then. Lightweight OVD alternative supplied with WebLogic Server. • FMW components which use OPSS can only use the first LDAP authentication provider LibOVD provides virtualization • Configuration Edit <DOMAINDIR>/config/fmwconfig/jps-config.xml manually or from Enterprise Manager Plugin configuration in <DOMAINDIR>configfmwconfigovddefaultadapters.os_xml http://fusionsecurity.blogspot.nl/2012/06/libovd-when-and-how.html
  • 29. 29 Debug application authentication LibOVD configuration • <DOMAINDIR>/config/fmwconfig/jps-config.xml Provides login modules, authentication providers, credential stores
  • 30. 30 Debug application authentication LibOVD configuration • The OPSS API only queries static groups by default. Not dynamic groups. • Use the LibOVD dynamic group plugin to present dynamic groups like static groups (configuration in <DOMAINDIR>configfmwconfigovddefaultadapters.os_xml) • Requires that the dynamic group has both the GroupOfUniqueNames and GroupOfURL objectclasses • Only one structural class is allowed per LDAP object • Fix by setting the superclass of GroupOfURLs to GroupOfUniqueNames http://www.ateam-oracle.com/oracle-webcenter-and-dynamic-groups-from-an-external-ldap-server-part-1-of-2/
  • 31. 31 Debug application authentication LibOVD debugging • Can be used when ADFLogger is used in application • Can be used for specific Weblogic Server component debugging such as oracle.ods.virtualization for LibOVD
  • 32. 32 Debug application authentication ADF Security • Application configuration files – web.xml Defines authorization constraints (valid-users) and set-up OPSS policy provider (JpsFilter) – weblogic.xml Maps valid-users to OPSS principal users
  • 33. 33 Demo • Use basic authentication in an ADF application
  • 34. 34 Debug application authentication ADF Security • Application configuration files – jazn-data.xml Contains development users / roles Application roles are granted to enterprise roles / users (from the OPSS API which uses the authorization provider). Resource permissions are granted to application roles or enterprise roles. – Test with: Java: ADFContext.getCurrent().getSecurityContext().isUserInRole(“role”) EL: #{securityContext.userInRole[‘role']} Users Enterprise roles Application roles Permissions Grants weblogic.xml jazn-data.xml
  • 35. 35 Debug application authentication ADF Security • <DOMAINDIR>/config/fmwconfig/ system-jazn-data.xml – OOTB file based policy store – Users, groups, authorization policies – CredentialAccessPermission – Change while WebLogic is down or from EM!
  • 36. 36 Debug application authentication JVM parameters • JVM parameters: – -Djps.auth.debug=true to get AccessControlException among other useful messages – -Djps.auth.debug.verbose=true to get a lot of debug messages http://docs.oracle.com/cd/E23943_01/core.1111/e10043/jpsprops.htm#JISEC2229
  • 37. 37 Debug application authentication Business Process Management • Authenticate with a user • User is member of (authentication provider) groups • Groups are granted (application) roles and organization units • Business Process Management uses application roles and organization units
  • 38. 38 Debug application authentication The Identity Service • Can I authenticate the user? – authenticateUser • Can I determine groups? – getGroups http://HOST:PORT/integration/services/IdentityService/identity?WSDL <ORACLE_HOME>/soa/soa/modules/oracle.soa.workflow_11.1.1/bpm-services.jar • Can I determine granted roles? – getGrantedRolesToUser • Can I determine organizational units? – use the Java API
  • 39. 39 Conclusion • Many debugging options available – Looking at WebLogic Console or application behavior – Using an external client for your authentication provider – Debug logging in WebLogic Server console – Log configuration in Enterprise Manager Fusion Middleware Control – Isolated tests such as IdentityService calls or Java API’s • It is important to know what is between your application and your authentication provider to structure your debugging efforts and trace at which layer things go wrong • WebLogic Console is relatively easy to debug compared to for example LibOVD. Application side debugging is often also not very difficult.

Hinweis der Redaktion

  1. Recent awards: Oracle EMEA Middleware Partner of the Year, 3 times Oracle Netherlands Middleware partner of the year. One of the rare moments in the Netherlands when it isn’t raining.
  2. What to debug; understand the configuration required
  3. https://blogs.oracle.com/OracleIDM/entry/why_customers_should_upgrade_directory
  4. What to debug; understand the configuration required
  5. OPSS provides an abstraction layer application programming interfaces (APIs) that insulate developers from security and identity management implementation details (a developer does need to know and implement LDAP to use users and groups in his application)
  6. What to debug; understand the configuration required
  7. First part of the presentation is about the WebLogic Console to LDAP. Second part of about API to application. JPS, Java Platform Security and LibOVD virtualization. More specific what the configuration files do.
  8. What to debug; understand the configuration required
  9. Creating LDAP queries is errorprone and after most changes in authentication provider configuration, the server needs a restart
  10. Set the password of the Embedded LDAP in order to allow connecting to it. Great source of inspiration for configuring your own LDAP.
  11. Recommend using an external LDAP client. WebLogic Server requires restarts after changing authentication provider configuration. External client can be used to easily test queries. Apache Directory Studio is nice. Replace image
  12. Recommend using an external LDAP client. WebLogic Server requires restarts after changing authentication provider configuration. External client can be used to easily test queries. Apache Directory Studio is nice. Replace image
  13. A specific authentication provider because the generic LDAPAuthenticationProvider has some limitations. Cannot be the first authentication provider. Not supported in LibOVD. Changing configuration (such as LDAP queries) requires restart of the server -> config.xml. Testing the LDAP Connection During Configuration (12.2.1!) Similar to the JDBC connection testing, WebLogic Server tests the connection between the Authentication provider and the LDAP server. On the Provider Specific page, after you configure a new LDAP Authentication provider or make changes to an existing one, when you save your configuration changes, WebLogic Server tests the connection between this provider and the corresponding LDAP server. If the test succeeds, the configuration settings are saved and you may activate them. If the test fails, an error message is displayed indicating a problem. No configuration settings are saved.
  14. JAAS control flags. See http://docs.oracle.com/cd/E17904_01/web.1111/e13707/atn.htm#SECMG171. It is usual to have weblogic in the embedded LDAP, control flag set to sufficient and an external LDAP also set to sufficient. Components using the OPSS API without LibOVD only look at the first LDAP server (and only at static groups) so order is also important. When the user is not found, check if authentication provider containing the user is queried in the log. The order matters!
  15. Can be confirmed that the GUID Attribute is the cache key? Weblogic LDAPAuthenticator configuration; the GUID Attribute: http://javaoraclesoa.blogspot.nl/2014/12/weblogic-ldapauthenticator.html.
  16. Just by clicking around in the Weblogic Console, you can already detect several problems if present.
  17. If you can’t see users/groups, maybe the current user is not an Administrator but Monitor. Working does not mean it performs!
  18. You can see the LDAP server connection
  19. What to debug; understand the configuration required
  20. First LibOVD, then application security for ADF and BPM
  21. http://docs.oracle.com/cd/E25178_01/core.1111/e10043/idstoreadm.htm#JISEC9360 specifies LDAP idstore params. Not all work (JarScan + JD-GUI on WlsLdapIdStoreConfigProvider). Edit adapters.os_xml while WebLogic is down! OPSS API’s do not query dynamic groups by default: http://www.ateam-oracle.com/oracle-webcenter-and-dynamic-groups-from-an-external-ldap-server-part-2-of-2/. You can virtualize using LibOVD or OVD.
  22. Image from http://www.oracle.com/technetwork/issue-archive/2012/12-jan/o12adf-1364748.html. Application roles are granted to users or enterprise roles. Resource permissions are granted to application roles. Take care jazn-data.xml is merged into system-jazn-data.xml (but not testusers/roles) by ojdeploy. Ojdeploy can be called from Ant, Maven
  23. Also credential store access. This is the runtime policy store. http://secureandgo.blogspot.nl/2010/09/opss-artifacts-life-cycle-in-adf.html. If you want to use DB policy store instead of system-jazn-data.xml; https://redstack.wordpress.com/2011/10/29/soa11g-database-as-a-policy-store/
  24. http://www.redheap.com/2013/06/secure-credentials-in-adf-application.html
  25. Usually ADF and SOA/BPM run on individual servers. A good usecase to use the same authentication provider. SalesRep and BusinessPractices are
  26. Several other interesting API’s under soa-infra application. IdentityService (or FMW apps such as WCC)