SlideShare a Scribd company logo
MULE –Security-SAMLMULE –Security-SAML
2
SAML Module
As of version 2.2.3, Mule enterprise offers support for the Security
Assertion Markup Language (SAML), which is a standard for exchange of
security information between federated systems. For more information on
SAML, see http://saml.xml.org/wiki/saml-wiki-knowledgebase.
3
SAML Module
Current support in Mule is limited to SAML 1.1 and CXF web services only.
Future versions of Mule will support the use of SAML with other transports.
The supported SAML module is only available in the enterprise edition of
Mule, although an unsupported version is available on the MuleForge.
4
Using the SAML Module
This section describes how to configure the SAML module in your Mule
configuration.
Adding the SAML Module JAR
The use the SAML module, the mule-module-saml JAR file must be in a
location on the classpath of your application.
5
Configuring the Security Manager
<mule xmlns:saml="http://www.mulesource.org/schema/mule/saml"
xsi:schemaLocation="http://www.mulesource.org/schema/mule/saml
http://www.mulesource.org/schema/mule/saml/current/mule-saml.xsd">
<!-- Rest of your mule configuration -->
</mule>
6
Next, you configure the SAML security manager as shown below. The
following example starts off with the definition of the SAML security
manager and its accompanying security provider. The security provider
specifies the default security realm to use by security filters if none is
specified. This is especially useful in case you have only one security
realm.
7
<saml:security-manager>
<saml:saml-security-provider name="samlSecurityProvider" default-
realm="senderVouches">
<saml:keystore-provider name="default-key-provider"
key-store-file="classpath:saml.ks"
key-store-type="JKS"
key-store-password="changeit"/>
<saml:sender-vouches-realm name="senderVouches" sign-key-
alias="mulesaml"
sign-key-password="changeit" key-provider-ref="default-key-provider"
resign-assertions="true"/>
<saml:holder-of-key-realm name="holderOfKey" key-provider-
ref="default-key-provider" />
</saml:saml-security-provider>
</saml:security-manager>
8
Within the security provider, you define a key provider, which reads keys
and certificates from a standard Java keystore file. You configure this file
using the normal Spring options to define resources. In this case, the
keystore is read from the classpath.
In this example, two security realms are defined. One uses the sender
vouches SAML scheme and is also the default realm. The other is a holder
of key realm. Both use the same key provider as defined above. For more
information on these realms, see MULE3USER:Choosing a SAML Profile
below.
9
Configuring Security on an Endpoint
Once you've defined a security manager, you can configure security filters
on CXF endpoints as shown in the examples below. The first example does
not specify a security realm, so the default realm is used. Both filters
specify the same certificate that is used to verify the SAML assertions as
issued by the assertion provider.
<saml:cxf-security-filter certificate-alias="mulesaml"/>
<saml:cxf-security-filter certificate-alias="mulesaml" security-realm="non-
default"/>
10
Choosing a SAML Profile
SAML defines two different profiles: Sender-vouches (SV) and Holder-of-
key (HOK).
The Sender Vouches profile means that the sender of a message is
authorized to act for one of its users towards another system. In this case,
the sender of the message vouches its correctness. If both systems trust
each other, this profile is appropriate.
Holder-of-key means that the user himself is authorized to perform the
actions. In this case, the owner (holder) of the key is acting. If your target
system trusts the token issuer (and therefore the user) you'll use Holder-of-
key.
Mule security saml

More Related Content

What's hot (13)

Mule security-jaas
Mule security-jaasMule security-jaas
Mule security-jaas
 
Mule security - spring security manager
Mule  security - spring security managerMule  security - spring security manager
Mule security - spring security manager
 
Mule security - ldap for spring security
Mule  security - ldap for spring securityMule  security - ldap for spring security
Mule security - ldap for spring security
 
Mule Message Chunk Splitter
Mule Message Chunk SplitterMule Message Chunk Splitter
Mule Message Chunk Splitter
 
Mule introduction
Mule introductionMule introduction
Mule introduction
 
Filter expression in mule demo
Filter expression in mule demoFilter expression in mule demo
Filter expression in mule demo
 
Message properties component in mule demo
Message properties component in mule demoMessage properties component in mule demo
Message properties component in mule demo
 
Runing batch job in mule
Runing batch job in muleRuning batch job in mule
Runing batch job in mule
 
Mule batch job
Mule batch jobMule batch job
Mule batch job
 
Scatter gather flow in mule
Scatter gather flow in muleScatter gather flow in mule
Scatter gather flow in mule
 
Mule with spring security manager
Mule with spring security managerMule with spring security manager
Mule with spring security manager
 
Mule properties
Mule propertiesMule properties
Mule properties
 
Mule properties
Mule propertiesMule properties
Mule properties
 

Viewers also liked

Electricos hibridos feb2014_ok
Electricos hibridos feb2014_okElectricos hibridos feb2014_ok
Electricos hibridos feb2014_ok
ANIACAM_PRENSA
 
Accesso agli atti prevenzione e corruzione
Accesso agli atti prevenzione e corruzioneAccesso agli atti prevenzione e corruzione
Accesso agli atti prevenzione e corruzione
Giuseppe Ciampolillo
 

Viewers also liked (13)

100 Herramientas para Community Managers
100 Herramientas para Community Managers100 Herramientas para Community Managers
100 Herramientas para Community Managers
 
Boletín de novidades. Sección infantil-xuvenil. Marzo-abril de 2016
Boletín de novidades. Sección infantil-xuvenil. Marzo-abril de 2016Boletín de novidades. Sección infantil-xuvenil. Marzo-abril de 2016
Boletín de novidades. Sección infantil-xuvenil. Marzo-abril de 2016
 
Métodos de medición de resistencias
Métodos de medición de resistenciasMétodos de medición de resistencias
Métodos de medición de resistencias
 
Validating soap request in mule
Validating soap request in mule Validating soap request in mule
Validating soap request in mule
 
Boletín de novidades. Sección adultos. Xaneiro-febreiro 2016
Boletín de novidades. Sección adultos. Xaneiro-febreiro 2016Boletín de novidades. Sección adultos. Xaneiro-febreiro 2016
Boletín de novidades. Sección adultos. Xaneiro-febreiro 2016
 
Revoluce nebo evoluce - jak na redesigny
Revoluce nebo evoluce - jak na redesignyRevoluce nebo evoluce - jak na redesigny
Revoluce nebo evoluce - jak na redesigny
 
Electricos hibridos feb2014_ok
Electricos hibridos feb2014_okElectricos hibridos feb2014_ok
Electricos hibridos feb2014_ok
 
Accesso agli atti prevenzione e corruzione
Accesso agli atti prevenzione e corruzioneAccesso agli atti prevenzione e corruzione
Accesso agli atti prevenzione e corruzione
 
Presentacion bitacora
Presentacion bitacoraPresentacion bitacora
Presentacion bitacora
 
L06 stemmer and edit distance
L06 stemmer and edit distanceL06 stemmer and edit distance
L06 stemmer and edit distance
 
An overview of Hidden Markov Models (HMM)
An overview of Hidden Markov Models (HMM)An overview of Hidden Markov Models (HMM)
An overview of Hidden Markov Models (HMM)
 
Fluentd vs. Logstash for OpenStack Log Management
Fluentd vs. Logstash for OpenStack Log ManagementFluentd vs. Logstash for OpenStack Log Management
Fluentd vs. Logstash for OpenStack Log Management
 
DFSO 3-D 1ER PARCIAL Team90Pro
DFSO 3-D 1ER PARCIAL Team90ProDFSO 3-D 1ER PARCIAL Team90Pro
DFSO 3-D 1ER PARCIAL Team90Pro
 

Similar to Mule security saml

CENTERA_MIGRATOR_PPT_NOTES
CENTERA_MIGRATOR_PPT_NOTESCENTERA_MIGRATOR_PPT_NOTES
CENTERA_MIGRATOR_PPT_NOTES
Daniel Moshief
 

Similar to Mule security saml (20)

Mule security - saml
Mule  security - samlMule  security - saml
Mule security - saml
 
Mule security
Mule  securityMule  security
Mule security
 
Mule security
Mule  securityMule  security
Mule security
 
Mule security
Mule  securityMule  security
Mule security
 
Mule security
Mule  securityMule  security
Mule security
 
Mule security - pgp
Mule  security - pgpMule  security - pgp
Mule security - pgp
 
Security spring security manager
Security   spring security managerSecurity   spring security manager
Security spring security manager
 
Security spring security manager
Security   spring security managerSecurity   spring security manager
Security spring security manager
 
Security springsecuritymanager-sathyaraj
Security springsecuritymanager-sathyarajSecurity springsecuritymanager-sathyaraj
Security springsecuritymanager-sathyaraj
 
Flows in mule
Flows in muleFlows in mule
Flows in mule
 
Flows in mule
Flows in muleFlows in mule
Flows in mule
 
Flowsinmule 160517130818
Flowsinmule 160517130818Flowsinmule 160517130818
Flowsinmule 160517130818
 
Spring security integrate with mule
Spring security integrate with muleSpring security integrate with mule
Spring security integrate with mule
 
Securing mule
Securing   muleSecuring   mule
Securing mule
 
Manual of the CSS Alarm Handler (Beast)
Manual of the CSS Alarm Handler (Beast)Manual of the CSS Alarm Handler (Beast)
Manual of the CSS Alarm Handler (Beast)
 
CENTERA_MIGRATOR_PPT_NOTES
CENTERA_MIGRATOR_PPT_NOTESCENTERA_MIGRATOR_PPT_NOTES
CENTERA_MIGRATOR_PPT_NOTES
 
IBM WebSphere MQ for z/OS - Security
IBM WebSphere MQ for z/OS - SecurityIBM WebSphere MQ for z/OS - Security
IBM WebSphere MQ for z/OS - Security
 
Mule architecture
Mule   architectureMule   architecture
Mule architecture
 
Mule architecture
Mule   architectureMule   architecture
Mule architecture
 
Mule securing
Mule   securingMule   securing
Mule securing
 

More from Phaniu (20)

Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Data weave
Data weave Data weave
Data weave
 
How to use expression filter
How to use expression filterHow to use expression filter
How to use expression filter
 
How to use message properties component
How to use message properties componentHow to use message properties component
How to use message properties component
 
Mapping and listing with mule
Mapping and listing with muleMapping and listing with mule
Mapping and listing with mule
 
Mmc rest api user groups
Mmc rest api user groupsMmc rest api user groups
Mmc rest api user groups
 
Mmc
MmcMmc
Mmc
 
Mmc 2
Mmc 2Mmc 2
Mmc 2
 
Mule esb stripe
Mule esb stripeMule esb stripe
Mule esb stripe
 
Mule for each scope headerc ollection
Mule for each scope headerc ollectionMule for each scope headerc ollection
Mule for each scope headerc ollection
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule for each scope headerc ollection
Mule for each scope headerc ollectionMule for each scope headerc ollection
Mule for each scope headerc ollection
 
Mule for each scope headerc ollection
Mule for each scope headerc ollectionMule for each scope headerc ollection
Mule for each scope headerc ollection
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule for each scope headerc ollection
Mule for each scope headerc ollectionMule for each scope headerc ollection
Mule for each scope headerc ollection
 
Mule security jaas
Mule security jaasMule security jaas
Mule security jaas
 
Mule security jaas
Mule security jaasMule security jaas
Mule security jaas
 
Mule soa
Mule soaMule soa
Mule soa
 
Mule soap
Mule soapMule soap
Mule soap
 
Mule soap
Mule soapMule soap
Mule soap
 

Recently uploaded

Recently uploaded (20)

Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 

Mule security saml

  • 2. 2 SAML Module As of version 2.2.3, Mule enterprise offers support for the Security Assertion Markup Language (SAML), which is a standard for exchange of security information between federated systems. For more information on SAML, see http://saml.xml.org/wiki/saml-wiki-knowledgebase.
  • 3. 3 SAML Module Current support in Mule is limited to SAML 1.1 and CXF web services only. Future versions of Mule will support the use of SAML with other transports. The supported SAML module is only available in the enterprise edition of Mule, although an unsupported version is available on the MuleForge.
  • 4. 4 Using the SAML Module This section describes how to configure the SAML module in your Mule configuration. Adding the SAML Module JAR The use the SAML module, the mule-module-saml JAR file must be in a location on the classpath of your application.
  • 5. 5 Configuring the Security Manager <mule xmlns:saml="http://www.mulesource.org/schema/mule/saml" xsi:schemaLocation="http://www.mulesource.org/schema/mule/saml http://www.mulesource.org/schema/mule/saml/current/mule-saml.xsd"> <!-- Rest of your mule configuration --> </mule>
  • 6. 6 Next, you configure the SAML security manager as shown below. The following example starts off with the definition of the SAML security manager and its accompanying security provider. The security provider specifies the default security realm to use by security filters if none is specified. This is especially useful in case you have only one security realm.
  • 7. 7 <saml:security-manager> <saml:saml-security-provider name="samlSecurityProvider" default- realm="senderVouches"> <saml:keystore-provider name="default-key-provider" key-store-file="classpath:saml.ks" key-store-type="JKS" key-store-password="changeit"/> <saml:sender-vouches-realm name="senderVouches" sign-key- alias="mulesaml" sign-key-password="changeit" key-provider-ref="default-key-provider" resign-assertions="true"/> <saml:holder-of-key-realm name="holderOfKey" key-provider- ref="default-key-provider" /> </saml:saml-security-provider> </saml:security-manager>
  • 8. 8 Within the security provider, you define a key provider, which reads keys and certificates from a standard Java keystore file. You configure this file using the normal Spring options to define resources. In this case, the keystore is read from the classpath. In this example, two security realms are defined. One uses the sender vouches SAML scheme and is also the default realm. The other is a holder of key realm. Both use the same key provider as defined above. For more information on these realms, see MULE3USER:Choosing a SAML Profile below.
  • 9. 9 Configuring Security on an Endpoint Once you've defined a security manager, you can configure security filters on CXF endpoints as shown in the examples below. The first example does not specify a security realm, so the default realm is used. Both filters specify the same certificate that is used to verify the SAML assertions as issued by the assertion provider. <saml:cxf-security-filter certificate-alias="mulesaml"/> <saml:cxf-security-filter certificate-alias="mulesaml" security-realm="non- default"/>
  • 10. 10 Choosing a SAML Profile SAML defines two different profiles: Sender-vouches (SV) and Holder-of- key (HOK). The Sender Vouches profile means that the sender of a message is authorized to act for one of its users towards another system. In this case, the sender of the message vouches its correctness. If both systems trust each other, this profile is appropriate. Holder-of-key means that the user himself is authorized to perform the actions. In this case, the owner (holder) of the key is acting. If your target system trusts the token issuer (and therefore the user) you'll use Holder-of- key.