SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
MAY 13 2021
Moscow MuleSoft Meetup Group
4
● Introductions
● MuleSoft updates
● Building secure financial APIs
○ Demo “Building Secure financial API”
○ Quiz & Q&A
● 5 minutes break
● Revealing OData Capabilities
○ Demo “How to compile OData on Mulesoft & connect it to Salesforce and mobile apps”
○ Quiz and Q&A session
● Networking time
Agenda
5
Introductions
A SHOW OF HANDS:
Who is new to this Meetup?
Dmitry Fundak
Leadex Systems
MuleSoft Architect
Georgy Khomchenko
Customertimes
Senior MuleSoft Developer
Updates from MuleSoft
MuleSoft Certification Maintenance
https://training.mulesoft.com/certification-maintenance
Prerequisite: Current certification:
MULESOFT CERTIFIED
Developer
Format: Proctored, 45 minutes, 25 questions
Attempts: 2 attempts, then must take full exam
Cost: $62.50 USD or ¼ FTC
Validity: 2 years
7
LEVEL
1
MULESOFT CERTIFIED
Developer
MULESOFT CERTIFIED
Platform Architect
LEVEL
1
MULESOFT CERTIFIED
Integration Architect
LEVEL
1
Free
till May 31st
2021
Dmitry Fundak
HOW TO BUILD SECURE
FINANCIAL APIs with MULESOFT
9
● Business case - secure financial API
● Anypoint Platform - security features overview
● Demo
● Quiz
Agenda
Business case —
Securely expose financial* API
Business case
11
A financial institution already has an internal Cards API and decided to
issue whitelabel / co-branding cards with business partners.
Goal - expose existing Cards API for partners (fintech, retail, airlines, …):
1. Securely
2. Fast
3. With minimum development efforts
API-led architecture of business case
12
System
APIs
Cards API
Card
Process API
Core
System API
Core
Banking
CC
System API
Card
System
Partner
Process
APIs
Experience
APIs
Scope of Demo Use Case
Out of scope
Anypoint Platform
security features overview
14
Policies enable you to enforce regulations to
help manage security, control traffic, and
improve adaptability of your APIs.
You can implement all these regulations with
no modification to the code
implementation.
Security Policies available in API Manager:
● Client ID enforcement
● Cross-Origin resource sharing
● OAuth 2.0 access token enforcement
using Mule OAuth provider
● JWT Validation
● IP blacklist
● IP whitelist
● XML threat protection
● JSON threat protection
● Tokenization
● Detokenization
Policies
DLB enable you to:
* Handle load balancing among the different
CloudHub workers that run your application.
* Define SSL configurations to provide custom
certificates and optionally enforce two-way SSL
client authentication.
* Configure proxy rules that map your applications
to custom domains.
* This enables you to host your applications under a
single domain.
15
Dedicated Load Balancer
16
* SSL Endpoint Configuration
Define SSL configurations to provide custom
certificates
* Two-way SSL client authentication
Optionally enforce two-way SSL client
authentication
Dedicated Load Balancer - SSL / TLS
17
Anypoint Security (add-on)
* Edge Policies
Anypoint Security policies then act as a
default firewall/router capability through
which all traffic traverses.
* Secrets Manager
Anypoint Security provides a secure vault
for you to store the TLS certificates and
keystores used by your deployments.
* Tokenization Service
Anypoint Security’s tokenization service
protects sensitive data from unwanted
exposure by replacing key values, such as
a credit card number, with a token.
18
Anypoint Security - Edge Policies
● DoS Policy
DoS policies are designed to protect your network nodes against malicious clients trying to flood your
network to prevent legitimate traffic to your APIs.
● IP Whitelist Policy
Create an IP address whitelist policy to configure an explicit list of IP addresses that can access your
deployed endpoints.
● HTTP Limits Policy
HTTP limits policies prevent attacks from clients that send large messages that can consume all of your
processing bandwidth.
● WAF Policy
WAF policies provide the Open Web Application Security Project (OWASP) Core Rule Set (CRS) for
checking requests and responses to detect common web application attacks.
19
Anypoint Security - Web Application Firewall
20
Anypoint Security - Tokenization
* Format-Preserving Tokens
The output tokens have the same format as
the sensitive data input. Generated tokens
conform to the existing data structure and
validations.
* Masking
Configurable mask character is returned
which hides the identity of the sensitive
data
21
Anypoint Security - Tokenization
* Format-Preserving Tokens
The output tokens have the same format as
the sensitive data input. Generated tokens
conform to the existing data structure and
validations.
* Masking
Configurable mask character is returned
which hides the identity of the sensitive
data
22
Anypoint Security - Secret Manager
* Use secrets manager to write and
manage your secrets, keys, and
Transport Layer Security (TLS) artifacts
Secrets manager is designed to store and
manage secrets for supported Anypoint
Platform services. It is not a
general-purpose storage for secrets. Only
trusted services within Anypoint Platform
have access to the contents of the secret.
* Supported Secret Types
TLS Context
Keystore
Truststore
Certificates
Certificate Pin Set
CRL Distributor
Demo
Component Architecture
24
This case only about client credentials flow -
machine-to-machine (M2M)
* If interested, we can demonstrate (on another
meetup) a B2C case, where an end-customer gives
his/her consent to Application based on PSD2 /
OBIE v3
Demo
25
Enough slides, and let the demo begin!
API secured with...
26
OAuth client credentials flow — Okta* & MuleSoft OAuth Policy
IP Whitelist policy — in case we need to restrict access by IP
SSL company certificate & Mutual TLS — trusted client certificate
0 lines of code written
28
● Share:
○ Tweet using the hashtag #MuleSoftMeetups
○ Invite your network to join: https://meetups.mulesoft.com/moscow/
● Feedback:
○ Fill out the survey feedback and suggest topics for upcoming events
○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program
What’s next?
Thank you
OData API with MuleSoft
What is OData?
OData stands for Open Data Protocol and
was designed to fill the “web” gap between
Databases and Database consumers
• Provides access to database through HTTP
• Unified request and response structures allow
seamless integrations
• DB Query are passed as a query parameter
• HTTP Verbs mimic DB operations:
• GET ➔ SELECT
• PUT ➔ UPDATE
• POST ➔ INSERT
• DELETE ➔ DELETE
https://services.odata.org/OData/OData.svc/Category(1)/Products?$top=2&$orderby=name
Service Root URI Resource Path Query Options
OData and MuleSoft
MuleSoft provides OData plug-in for Odata
API development
1. Go to “Help -> Install new software” and
install most recent version of “APIkit for
ODATA Update Site”
2. Create Odata.raml file in
src/main/resources/api with datatypes
available in source database
3. Right click on Odata.raml and select “Mule ->
Generate Odata API from RAML types”
src/main/resources/api/Odata.raml
Similar to generating flows from RAML,
after these steps APIkit will generate stubs
for each Odata endpoint in api.xml
Implementing OData endpoints
Unlike plain REST endpoints there are few
rules that we must follow:
1. All endpoints should return data in one
specific way:
{ “entries” : payload }
2. Except “format” query parameter all other
parameters should be manually processed
and transformed to SQL query (DW script is
available with OData MuleSoft example)
3. OData information like keys (fields of entity)
or entity name itself is available at startup in
vars.odata object
4. POST response requires created entity to be
returned, unlike REST where either ID is
returned or empty payload with 201 code
Demo Scenario
OData as an External Data Source
By following these steps, you can bind your
Mule OData service to SF’s external data
source. It will immediately display all data
in custom tab
1. Navigate to Setup -> External Data Sources ->
New External Data Source
2. Enter name of the Data Source and select type
“Salesforce OData Connect: OData 2.0”
3. In URL provide URL of your OData.svc file like
following:
https://services.odata.org/OData/OData.svc
4. Click “New” under external object and select
Object that was detected from .svc file
5. Navigate to “Tabs” in Setup, click “New” next to
“Custom Object Tabs”
6. Select corresponding Object from step #4, select
any Theme and click save
7. Now you can view your data in newly created tab
Connecting to OData with OData4j library
By following these steps, you can establish
connection with OData service through
OData4j client.
1. ODataConsumer consumer = ODataConsumers.create(serviceUrl);
2. Enumerable<OEntity> = consumer.getEntities("customers").execute()
3. OEntity customer = consumer.getEntity("customers", customerId).execute();
4. OEntity customer = consumer.createEntity("customers")
.properties(OProperties.string("email",
"example@example.com"))
.execute();
5. consumer.updateEntity(customer)
.properties(OProperties.string("email", "new@example.com"))
.execute();
6. consumer.deleteEntity("customers", customerId).execute();
Working with REST vs OData in Java
OData vs REST
PROS CONS
Inability to modify RAML and publish
to exchange
Some 400 “Bad request” errors will
just say “invalid format”
SF currently sends POST for entity
update and therefore full integration
with OData is not possible
Fast and easy connectivity from
external systems
Ability to seamlessly switch between
JSON and xml
Ability to modify response data
without any code changes in the API
Exposes metadata containing info
about all data models and operations
Thank you!

Contenu connexe

Tendances

MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021Nicholas Bowman
 
Meetup milano #3 all you need to know before creating your vpc
Meetup milano #3   all you need to know before creating your vpcMeetup milano #3   all you need to know before creating your vpc
Meetup milano #3 all you need to know before creating your vpcGonzalo Marcos Ansoain
 
Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12Akshata Sawant
 
Mumbai MuleSoft Meetup #15
Mumbai MuleSoft Meetup #15Mumbai MuleSoft Meetup #15
Mumbai MuleSoft Meetup #15Akshata Sawant
 
Nagpur Mulesoft Meetup on CICD using Jenkins
Nagpur Mulesoft Meetup on CICD using JenkinsNagpur Mulesoft Meetup on CICD using Jenkins
Nagpur Mulesoft Meetup on CICD using Jenkinspqrs1234
 
Mumbai MuleSoft Meetup 11
Mumbai MuleSoft Meetup 11Mumbai MuleSoft Meetup 11
Mumbai MuleSoft Meetup 11Akshata Sawant
 
Mumbai MuleSoft Meetup 13
Mumbai MuleSoft Meetup 13Mumbai MuleSoft Meetup 13
Mumbai MuleSoft Meetup 13Akshata Sawant
 
[Final] best practices for access management (mule soft meetups riyadh) - j...
[Final] best practices for access management (mule soft meetups   riyadh) - j...[Final] best practices for access management (mule soft meetups   riyadh) - j...
[Final] best practices for access management (mule soft meetups riyadh) - j...satyasekhar123
 
CI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetupCI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetupAmit Singh
 
Meet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_finalMeet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_finalAkshata Sawant
 
Learn mulesoft from scratch
Learn mulesoft from scratchLearn mulesoft from scratch
Learn mulesoft from scratchNikhil More
 
Mumbai MuleSoft Meetup #17 - GraphQL
Mumbai MuleSoft Meetup #17 - GraphQLMumbai MuleSoft Meetup #17 - GraphQL
Mumbai MuleSoft Meetup #17 - GraphQLAkshata Sawant
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63Angel Alberici
 
MuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLB
MuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLBMuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLB
MuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLBJitendra Bafna
 
MuleSoft Surat Virtual Meetup#7 - JSON Logger and Common Error Handling With ...
MuleSoft Surat Virtual Meetup#7 - JSON Logger and Common Error Handling With ...MuleSoft Surat Virtual Meetup#7 - JSON Logger and Common Error Handling With ...
MuleSoft Surat Virtual Meetup#7 - JSON Logger and Common Error Handling With ...Jitendra Bafna
 
Mumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ Integrations
Mumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ IntegrationsMumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ Integrations
Mumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ IntegrationsAkshata Sawant
 
Warsaw MuleSoft Meetup #6 - CI/CD
Warsaw MuleSoft Meetup  #6 - CI/CDWarsaw MuleSoft Meetup  #6 - CI/CD
Warsaw MuleSoft Meetup #6 - CI/CDPatryk Bandurski
 
Meetup - Automate your project lifecycle using MuleSoft and Azure DevOps
Meetup - Automate your project lifecycle using MuleSoft and Azure DevOpsMeetup - Automate your project lifecycle using MuleSoft and Azure DevOps
Meetup - Automate your project lifecycle using MuleSoft and Azure DevOpsRenato de Oliveira
 
MuleSoft meetup__houston #13
MuleSoft meetup__houston #13MuleSoft meetup__houston #13
MuleSoft meetup__houston #13Jim Andrews
 
#3 calicut meetup - understanding slb, dlb and web sockets
#3   calicut meetup - understanding slb, dlb and web sockets#3   calicut meetup - understanding slb, dlb and web sockets
#3 calicut meetup - understanding slb, dlb and web socketsJohnMathewPhilip
 

Tendances (20)

MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021
 
Meetup milano #3 all you need to know before creating your vpc
Meetup milano #3   all you need to know before creating your vpcMeetup milano #3   all you need to know before creating your vpc
Meetup milano #3 all you need to know before creating your vpc
 
Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12
 
Mumbai MuleSoft Meetup #15
Mumbai MuleSoft Meetup #15Mumbai MuleSoft Meetup #15
Mumbai MuleSoft Meetup #15
 
Nagpur Mulesoft Meetup on CICD using Jenkins
Nagpur Mulesoft Meetup on CICD using JenkinsNagpur Mulesoft Meetup on CICD using Jenkins
Nagpur Mulesoft Meetup on CICD using Jenkins
 
Mumbai MuleSoft Meetup 11
Mumbai MuleSoft Meetup 11Mumbai MuleSoft Meetup 11
Mumbai MuleSoft Meetup 11
 
Mumbai MuleSoft Meetup 13
Mumbai MuleSoft Meetup 13Mumbai MuleSoft Meetup 13
Mumbai MuleSoft Meetup 13
 
[Final] best practices for access management (mule soft meetups riyadh) - j...
[Final] best practices for access management (mule soft meetups   riyadh) - j...[Final] best practices for access management (mule soft meetups   riyadh) - j...
[Final] best practices for access management (mule soft meetups riyadh) - j...
 
CI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetupCI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetup
 
Meet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_finalMeet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_final
 
Learn mulesoft from scratch
Learn mulesoft from scratchLearn mulesoft from scratch
Learn mulesoft from scratch
 
Mumbai MuleSoft Meetup #17 - GraphQL
Mumbai MuleSoft Meetup #17 - GraphQLMumbai MuleSoft Meetup #17 - GraphQL
Mumbai MuleSoft Meetup #17 - GraphQL
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
 
MuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLB
MuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLBMuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLB
MuleSoft Surat Live Demonstration Virtual Meetup#1 - Anypoint VPC VPN and DLB
 
MuleSoft Surat Virtual Meetup#7 - JSON Logger and Common Error Handling With ...
MuleSoft Surat Virtual Meetup#7 - JSON Logger and Common Error Handling With ...MuleSoft Surat Virtual Meetup#7 - JSON Logger and Common Error Handling With ...
MuleSoft Surat Virtual Meetup#7 - JSON Logger and Common Error Handling With ...
 
Mumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ Integrations
Mumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ IntegrationsMumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ Integrations
Mumbai MuleSoft Meetup #19 - Anypoint monitoring and MQ Integrations
 
Warsaw MuleSoft Meetup #6 - CI/CD
Warsaw MuleSoft Meetup  #6 - CI/CDWarsaw MuleSoft Meetup  #6 - CI/CD
Warsaw MuleSoft Meetup #6 - CI/CD
 
Meetup - Automate your project lifecycle using MuleSoft and Azure DevOps
Meetup - Automate your project lifecycle using MuleSoft and Azure DevOpsMeetup - Automate your project lifecycle using MuleSoft and Azure DevOps
Meetup - Automate your project lifecycle using MuleSoft and Azure DevOps
 
MuleSoft meetup__houston #13
MuleSoft meetup__houston #13MuleSoft meetup__houston #13
MuleSoft meetup__houston #13
 
#3 calicut meetup - understanding slb, dlb and web sockets
#3   calicut meetup - understanding slb, dlb and web sockets#3   calicut meetup - understanding slb, dlb and web sockets
#3 calicut meetup - understanding slb, dlb and web sockets
 

Similaire à Build Secure Financial APIs with MuleSoft

Mule soft Meetup #3
 Mule soft Meetup #3 Mule soft Meetup #3
Mule soft Meetup #3Gaurav Sethi
 
Melbourne Virtual MuleSoft Meetup November 2020
Melbourne Virtual MuleSoft Meetup November 2020Melbourne Virtual MuleSoft Meetup November 2020
Melbourne Virtual MuleSoft Meetup November 2020Daniel Soffner
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gatewayKhasim Saheb
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gatewayMohammed246
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gatewayAnand kalla
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gatewayKhan625
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStackSteve Martinelli
 
Implementing Microservices Security Patterns & Protocols with Spring
Implementing Microservices Security Patterns & Protocols with SpringImplementing Microservices Security Patterns & Protocols with Spring
Implementing Microservices Security Patterns & Protocols with SpringVMware Tanzu
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gatewaycharan teja R
 
Platform configuration on CloudHub 2.0 | MuleSoft Mysore Meetup #29
Platform configuration on CloudHub 2.0 | MuleSoft Mysore Meetup #29Platform configuration on CloudHub 2.0 | MuleSoft Mysore Meetup #29
Platform configuration on CloudHub 2.0 | MuleSoft Mysore Meetup #29MysoreMuleSoftMeetup
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gatewayhimajareddys
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gatewayirfan1008
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gatewayPhaniu
 
Mule anypoint data gateway
Mule  anypoint data gatewayMule  anypoint data gateway
Mule anypoint data gatewayD.Rajesh Kumar
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gatewaymdfkhan625
 
Melbourne Virtual MuleSoft Meetup June 2021
Melbourne Virtual MuleSoft Meetup June 2021Melbourne Virtual MuleSoft Meetup June 2021
Melbourne Virtual MuleSoft Meetup June 2021Daniel Soffner
 
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB ArchitectureToronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB ArchitectureAlexandra N. Martinez
 

Similaire à Build Secure Financial APIs with MuleSoft (20)

Mule soft Meetup #3
 Mule soft Meetup #3 Mule soft Meetup #3
Mule soft Meetup #3
 
Melbourne Virtual MuleSoft Meetup November 2020
Melbourne Virtual MuleSoft Meetup November 2020Melbourne Virtual MuleSoft Meetup November 2020
Melbourne Virtual MuleSoft Meetup November 2020
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
 
Implementing Microservices Security Patterns & Protocols with Spring
Implementing Microservices Security Patterns & Protocols with SpringImplementing Microservices Security Patterns & Protocols with Spring
Implementing Microservices Security Patterns & Protocols with Spring
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Platform configuration on CloudHub 2.0 | MuleSoft Mysore Meetup #29
Platform configuration on CloudHub 2.0 | MuleSoft Mysore Meetup #29Platform configuration on CloudHub 2.0 | MuleSoft Mysore Meetup #29
Platform configuration on CloudHub 2.0 | MuleSoft Mysore Meetup #29
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Mule anypoint data gateway
Mule  anypoint data gatewayMule  anypoint data gateway
Mule anypoint data gateway
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Melbourne Virtual MuleSoft Meetup June 2021
Melbourne Virtual MuleSoft Meetup June 2021Melbourne Virtual MuleSoft Meetup June 2021
Melbourne Virtual MuleSoft Meetup June 2021
 
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB ArchitectureToronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
 

Dernier

why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 

Dernier (20)

why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 

Build Secure Financial APIs with MuleSoft

  • 1. MAY 13 2021 Moscow MuleSoft Meetup Group
  • 2. 4 ● Introductions ● MuleSoft updates ● Building secure financial APIs ○ Demo “Building Secure financial API” ○ Quiz & Q&A ● 5 minutes break ● Revealing OData Capabilities ○ Demo “How to compile OData on Mulesoft & connect it to Salesforce and mobile apps” ○ Quiz and Q&A session ● Networking time Agenda
  • 3. 5 Introductions A SHOW OF HANDS: Who is new to this Meetup? Dmitry Fundak Leadex Systems MuleSoft Architect Georgy Khomchenko Customertimes Senior MuleSoft Developer
  • 5. MuleSoft Certification Maintenance https://training.mulesoft.com/certification-maintenance Prerequisite: Current certification: MULESOFT CERTIFIED Developer Format: Proctored, 45 minutes, 25 questions Attempts: 2 attempts, then must take full exam Cost: $62.50 USD or ¼ FTC Validity: 2 years 7 LEVEL 1 MULESOFT CERTIFIED Developer MULESOFT CERTIFIED Platform Architect LEVEL 1 MULESOFT CERTIFIED Integration Architect LEVEL 1 Free till May 31st 2021
  • 6. Dmitry Fundak HOW TO BUILD SECURE FINANCIAL APIs with MULESOFT
  • 7. 9 ● Business case - secure financial API ● Anypoint Platform - security features overview ● Demo ● Quiz Agenda
  • 8. Business case — Securely expose financial* API
  • 9. Business case 11 A financial institution already has an internal Cards API and decided to issue whitelabel / co-branding cards with business partners. Goal - expose existing Cards API for partners (fintech, retail, airlines, …): 1. Securely 2. Fast 3. With minimum development efforts
  • 10. API-led architecture of business case 12 System APIs Cards API Card Process API Core System API Core Banking CC System API Card System Partner Process APIs Experience APIs Scope of Demo Use Case Out of scope
  • 12. 14 Policies enable you to enforce regulations to help manage security, control traffic, and improve adaptability of your APIs. You can implement all these regulations with no modification to the code implementation. Security Policies available in API Manager: ● Client ID enforcement ● Cross-Origin resource sharing ● OAuth 2.0 access token enforcement using Mule OAuth provider ● JWT Validation ● IP blacklist ● IP whitelist ● XML threat protection ● JSON threat protection ● Tokenization ● Detokenization Policies
  • 13. DLB enable you to: * Handle load balancing among the different CloudHub workers that run your application. * Define SSL configurations to provide custom certificates and optionally enforce two-way SSL client authentication. * Configure proxy rules that map your applications to custom domains. * This enables you to host your applications under a single domain. 15 Dedicated Load Balancer
  • 14. 16 * SSL Endpoint Configuration Define SSL configurations to provide custom certificates * Two-way SSL client authentication Optionally enforce two-way SSL client authentication Dedicated Load Balancer - SSL / TLS
  • 15. 17 Anypoint Security (add-on) * Edge Policies Anypoint Security policies then act as a default firewall/router capability through which all traffic traverses. * Secrets Manager Anypoint Security provides a secure vault for you to store the TLS certificates and keystores used by your deployments. * Tokenization Service Anypoint Security’s tokenization service protects sensitive data from unwanted exposure by replacing key values, such as a credit card number, with a token.
  • 16. 18 Anypoint Security - Edge Policies ● DoS Policy DoS policies are designed to protect your network nodes against malicious clients trying to flood your network to prevent legitimate traffic to your APIs. ● IP Whitelist Policy Create an IP address whitelist policy to configure an explicit list of IP addresses that can access your deployed endpoints. ● HTTP Limits Policy HTTP limits policies prevent attacks from clients that send large messages that can consume all of your processing bandwidth. ● WAF Policy WAF policies provide the Open Web Application Security Project (OWASP) Core Rule Set (CRS) for checking requests and responses to detect common web application attacks.
  • 17. 19 Anypoint Security - Web Application Firewall
  • 18. 20 Anypoint Security - Tokenization * Format-Preserving Tokens The output tokens have the same format as the sensitive data input. Generated tokens conform to the existing data structure and validations. * Masking Configurable mask character is returned which hides the identity of the sensitive data
  • 19. 21 Anypoint Security - Tokenization * Format-Preserving Tokens The output tokens have the same format as the sensitive data input. Generated tokens conform to the existing data structure and validations. * Masking Configurable mask character is returned which hides the identity of the sensitive data
  • 20. 22 Anypoint Security - Secret Manager * Use secrets manager to write and manage your secrets, keys, and Transport Layer Security (TLS) artifacts Secrets manager is designed to store and manage secrets for supported Anypoint Platform services. It is not a general-purpose storage for secrets. Only trusted services within Anypoint Platform have access to the contents of the secret. * Supported Secret Types TLS Context Keystore Truststore Certificates Certificate Pin Set CRL Distributor
  • 21. Demo
  • 22. Component Architecture 24 This case only about client credentials flow - machine-to-machine (M2M) * If interested, we can demonstrate (on another meetup) a B2C case, where an end-customer gives his/her consent to Application based on PSD2 / OBIE v3
  • 23. Demo 25 Enough slides, and let the demo begin!
  • 24. API secured with... 26 OAuth client credentials flow — Okta* & MuleSoft OAuth Policy IP Whitelist policy — in case we need to restrict access by IP SSL company certificate & Mutual TLS — trusted client certificate 0 lines of code written
  • 25. 28 ● Share: ○ Tweet using the hashtag #MuleSoftMeetups ○ Invite your network to join: https://meetups.mulesoft.com/moscow/ ● Feedback: ○ Fill out the survey feedback and suggest topics for upcoming events ○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program What’s next?
  • 27. OData API with MuleSoft
  • 28. What is OData? OData stands for Open Data Protocol and was designed to fill the “web” gap between Databases and Database consumers • Provides access to database through HTTP • Unified request and response structures allow seamless integrations • DB Query are passed as a query parameter • HTTP Verbs mimic DB operations: • GET ➔ SELECT • PUT ➔ UPDATE • POST ➔ INSERT • DELETE ➔ DELETE https://services.odata.org/OData/OData.svc/Category(1)/Products?$top=2&$orderby=name Service Root URI Resource Path Query Options
  • 29. OData and MuleSoft MuleSoft provides OData plug-in for Odata API development 1. Go to “Help -> Install new software” and install most recent version of “APIkit for ODATA Update Site” 2. Create Odata.raml file in src/main/resources/api with datatypes available in source database 3. Right click on Odata.raml and select “Mule -> Generate Odata API from RAML types” src/main/resources/api/Odata.raml Similar to generating flows from RAML, after these steps APIkit will generate stubs for each Odata endpoint in api.xml
  • 30. Implementing OData endpoints Unlike plain REST endpoints there are few rules that we must follow: 1. All endpoints should return data in one specific way: { “entries” : payload } 2. Except “format” query parameter all other parameters should be manually processed and transformed to SQL query (DW script is available with OData MuleSoft example) 3. OData information like keys (fields of entity) or entity name itself is available at startup in vars.odata object 4. POST response requires created entity to be returned, unlike REST where either ID is returned or empty payload with 201 code
  • 32. OData as an External Data Source By following these steps, you can bind your Mule OData service to SF’s external data source. It will immediately display all data in custom tab 1. Navigate to Setup -> External Data Sources -> New External Data Source 2. Enter name of the Data Source and select type “Salesforce OData Connect: OData 2.0” 3. In URL provide URL of your OData.svc file like following: https://services.odata.org/OData/OData.svc 4. Click “New” under external object and select Object that was detected from .svc file 5. Navigate to “Tabs” in Setup, click “New” next to “Custom Object Tabs” 6. Select corresponding Object from step #4, select any Theme and click save 7. Now you can view your data in newly created tab
  • 33. Connecting to OData with OData4j library By following these steps, you can establish connection with OData service through OData4j client. 1. ODataConsumer consumer = ODataConsumers.create(serviceUrl); 2. Enumerable<OEntity> = consumer.getEntities("customers").execute() 3. OEntity customer = consumer.getEntity("customers", customerId).execute(); 4. OEntity customer = consumer.createEntity("customers") .properties(OProperties.string("email", "example@example.com")) .execute(); 5. consumer.updateEntity(customer) .properties(OProperties.string("email", "new@example.com")) .execute(); 6. consumer.deleteEntity("customers", customerId).execute();
  • 34. Working with REST vs OData in Java
  • 35. OData vs REST PROS CONS Inability to modify RAML and publish to exchange Some 400 “Bad request” errors will just say “invalid format” SF currently sends POST for entity update and therefore full integration with OData is not possible Fast and easy connectivity from external systems Ability to seamlessly switch between JSON and xml Ability to modify response data without any code changes in the API Exposes metadata containing info about all data models and operations