SlideShare uma empresa Scribd logo
1 de 60
Baixar para ler offline
Ten steps for
Token based API Security
Senthilkumar Gopal
@sengopal | IndexConf2018
ACME Fort Knox Web Application
Browser
Traffic Limiter
Bot Check
CSRF
INPUT
SANITIZER
MODEL
TRANSFORM
APPLICATION
LOGIC
@sengopal | IndexConf2018
A Hero’s (‘real’) story
Expose APIs
for 3rd Parties
@sengopal | IndexConf2018
ACME (Not) Fort Knox Web Application
API Server
Browser Traffic
Limiter
Bot Check
CSRF
Input
Sanitizer
Model
Transform
Application
Logic
CRUD
Operations
@sengopal | IndexConf2018
@sengopal | IndexConf2018
A Hero’s (‘real’) story
@sengopal | IndexConf2018
Web Application vs. APIs
“But no one else
knew about the
API server
“
@sengopal | IndexConf2018
First Principles
APIs are …
Intended to serve
machines instead of
real users
Closer to Object
Data Model
@sengopal | IndexConf2018
Example of Web Application vs. APIs
@sengopal | IndexConf2018
Example of Web Application vs. APIs
https://developer.ebay.com/api-docs/buy/order/resources/checkout_session/methods/placeOrder#_samples
@sengopal | IndexConf2018
I need an
‘expert’
@sengopal | IndexConf2018
Delegated Authentication
Delegated Authorization
Client Revocability
User Control
Code @ http://bit.ly/ebay-oauth
How to protect them?
By Chris Messina, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=7188066
STEP 1
Embrace the standards
@sengopal | IndexConf2018
Typical API Security Workflow
ResourceAuthentication
Authorization
Rate Limiting
Proxy Resource Cache
Request
@sengopal | IndexConf2018
Why “Authentication" is important?
@PreAuthorize("hasPermission(#contact, 'admin')")
public void deletePermission(Contact contact, Sid
recipient, Permission permission);
Authorization
Rate Limiting
fs.setPath(“/hi")
.requestRateLimiter(RedisRateLimiter.args(2, 4))
https://docs.spring.io/spring-security/site/docs/3.0.x/reference/el-access.html
STEP 2
Maintain an extensible token
architecture
@sengopal | IndexConf2018
“If you decide to go and
create your own token
system,
you had best be really
smart.”
- Stack Overflow
source
@sengopal | IndexConf2018
What is a token?
“A token is a piece of data which only a
specific authentication server could possibly
have created & contains enough information
to identify a particular entity/entities. They
are created using various techniques from
the field of cryptography.”
@sengopal | IndexConf2018
“A token is a piece of data which only a
specific authentication server could possibly
have created & contains enough information
to identify a particular entity/entities. They
are created using various techniques from
the field of cryptography.”
What is a token?
@sengopal | IndexConf2018
Entities
User
Entity
Application
Entity
@sengopal | IndexConf2018
“A token is a piece of data which only a
specific authentication server could possibly
have created & contains enough information
to identify a particular entity/entities. They
are created using various techniques from
the field of cryptography.”
What is a token?
@sengopal | IndexConf2018
Cryptography 101
server
private
e32d140bc54d
public
client
STEP 3
Learn the nuances of
Cryptography
@sengopal | IndexConf2018
“A token is a piece of data which only a
specific authentication server could
possibly have created & contains enough
data to identify a particular entity. They are
created using various techniques from the
field of cryptography.”
What is a token?
@sengopal | IndexConf2018
Life Cycle Structure
Authentication Server - a time tested strategy
Photo by Patrick Lindenberg on Unsplash
Persistence
@sengopal | IndexConf2018
Life Cycle Structure
Authentication Server - a time tested strategy
Photo by Patrick Lindenberg on Unsplash
Persistence
@sengopal | IndexConf2018
LifeCycle - Application
Registered
App
Developer
Active
Blocked
Retired
Generate
tokens
@sengopal | IndexConf2018
LifeCycle - Tokens
User
Consent
App
Developer
Refresh
Token
Access
token
Resource
API
Access Token
Consent
Revoked
Tokens
Revoked
@sengopal | IndexConf2018
Fitting it all together
Resource
/cart
client
OAuth
/token
Access Token
Access-token
Secure
Token
Server
Access Token
auth
Access-token
@sengopal | IndexConf2018
LifeCycle - Purpose
Refresh Token Access Token
To Generate
new Access Token
To Access
protected Resource
Long Lived Short Lived
STEP 4
Learn Live the nomenclature
@sengopal | IndexConf2018
Life Cycle Structure
Authentication Server - a time tested strategy
Photo by Patrick Lindenberg on Unsplash
Persistence
@sengopal | IndexConf2018
Structure
ebay
AgAAAA**AQAAAA**aAAAAA**E6+EWg**nY+sHZ2PrBmdj6wVnY+sEZ2PrA2dj6wMkIGkCJCGoA
2dj6x9nY+seQ+/5wK1dskM5/3EOEY7BDg7VHK/CmDimCvVPbtJankHhzJUF8rU876Qzjs
ya29.GltiBRICgroWhf0XJ-
e4nYpzc9UG0Fn_Ghq06_yg3BDZ4EHM_X8rIirEnFUJVb9uawqW2tE9yqfT0KwcaEXLKp7VFpde5v
google
facebook
EAACEdEose0cBAJyrAOqIWCAPVobbylB7mZB7X3L0x5BLBosAAm2BDdUnhYKSp7VM9Tpyi8Ehr
AD6ZBYZBtymYC5ZBxNv1XrCBngEi0gEWLejezZb0gkArZBkJWcFiVjGcKYy44EY8ZD
https://developers.google.com/oauthplaygroundhttps://developers.facebook.com/tools/explorer/
* Tokens edited for brewity
@sengopal | IndexConf2018
Structure
https://developers.google.com/oauthplaygroundhttps://developers.facebook.com/tools/explorer/
JWT
Are there any
standards?
Is it just a
random string?
SAML
@sengopal | IndexConf2018
Structure - JWT
https://jwt.io/
STEP 5
Choose the token format wisely
(standards)
@sengopal | IndexConf2018
Structure - JWT
https://jwt.io/
What goes in
the claim?
@sengopal | IndexConf2018
Structure - What goes in the claim?
Resource
/cart
client
OAuth
/token
Access Token
Access-token
Secure Token
Server
Access Token
auth
Access-token
Everything!
@sengopal | IndexConf2018
Structure - Why everything?
User entity
App entity
issuer
issueAt
Photo by Jennifer Pallian on Unsplash
Service
APIs
tokens
Web
Apps
cookies
IS
SAME
AS
expiresAt
deviceIdentifier
trackingId
…
@sengopal | IndexConf2018
Structure - Versioning
User entity
App entity
issuer
issueAt
version
expiresAt
deviceIdentifier
trackingId
…
We add new attributes everyday.
Versioning
v1, v1.1, v1.2, v1.3, v2.0, ….
STEP 6
Capture every identifier
possible and use versions
@sengopal | IndexConf2018
Master!
Am I ready
yet ?
No!
One more
important
step
Photo by DeviantArt
@sengopal | IndexConf2018
Life Cycle Structure
Authentication Server - a time tested strategy
Photo by Patrick Lindenberg on Unsplash
Persistence
@sengopal | IndexConf2018
Security
Photo by Samuel Zeller on Unsplash
Integrity Verified
{
"sub": "110169484474386276334",
"name": "John Doe",
"iss": "https://www.ebay.com",
"iat": "1433978353",
"exp": "1433981953",
"email": "testuser@gmail.com",
"email_verified": "true",
"given_name": "Test",
"family_name": "User",
"locale": "en"
}
JWT - Claim
Missing
Confidentiality
Revocation
@sengopal | IndexConf2018
Security
By Reference
{
"sub": "110169484474386276334",
"name": "John Doe",
"iss": "https://www.ebay.com",
"iat": "1433978353",
"exp": "1433981953",
"email": "testuser@gmail.com",
"email_verified": "true",
"given_name": "Test",
"family_name": "User",
"locale": "en"
}
By Value
{
“ref”:”
AgAAAA**AQAAAA**aAAAAA**E6+EWg*
*nY+sHZ2PrBmdj6wVnY+sEZ2PrA2dj6
wMkIGkCJCGoA2dj6x9nY+seQ+/
5wK1dskM5/3EOEY7BDg7VHK/
CmDimCvVPbtJankHhzJUF8rU876Qzjs
”
}
@sengopal | IndexConf2018
Security
Integrity Verified Integrity Verified
Confidential
Custom format *
Persisted
By ReferenceBy Value
@sengopal | IndexConf2018
Fitting them together
Resource
/cart
client
OAuth
/token
Access Token
Access-token
Secure Token
Server
Access Token
auth
Access-token
RDBMS
AUDIT
async
App Metadata
Server
@sengopal | IndexConf2018
Persistence - Considerations
Atomic & Strong Consistency
New Token Generation of new token
Token Revocation *
@sengopal | IndexConf2018
Persistence - Considerations
Eventually Consistent
User - token Association
Cache duplication
STEP 7
Identify transactional needs
@sengopal | IndexConf2018
Performance
“Premature optimization
is the root of all evil”
- Donald Knuth
Identify Hot spots
Caching in Couchbase
@sengopal | IndexConf2018
Fitting them together
Resource
/cart
client
OAuth
/token
Access Token
Access-token
Secure Token
Server
Access Token
auth
Access-token
RDBMS
CACHE
AUDIT
async
App Metadata
Server
STEP 8
Use caching to get optimal
performance
@sengopal | IndexConf2018
OWASP
Open Web Application Security Project
A2 – Broken Authentication and Session Management
A10 – Underprotected APIs
Reference
@sengopal | IndexConf2018
Fitting them together
Resource
/cart
client
OAuth
/token
Access Token
Access-token
Secure Token
Server
Access Token
auth
Access-token
RDBMS
CACHE
AUDIT
async
User
&
Risk
Systems
App Metadata
Server
STEP 9
Audit all access patterns
@sengopal | IndexConf2018
Managing the whole show
Application Lifecycle
Token lifecycle
Cryptography artifacts rotation
Authorizations registry
….
STEP 10
Automate Everything
@sengopal | IndexConf2018
And the 10 steps are ….
Embrace the standards
Extensible token architecture
Nuances of Cryptography
Learn the nomenclature
Correct token format
All identifiers & versioning
Identify transactional needs
Use caching
Audit all access patterns
Automate Everything
Thank You!
http://sengopal.me
Tweets @sengopal
Experimental Code @ http://bit.ly/ebay-oauth

Mais conteúdo relacionado

Semelhante a IBM Index Conference - 10 steps to build token based API Security

HowYourAPIBeMyAPI
HowYourAPIBeMyAPIHowYourAPIBeMyAPI
HowYourAPIBeMyAPIJie Liau
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating DatadipityClickslide
 
C# Cookware - presented at CukeUp! 2014
C# Cookware - presented at CukeUp! 2014C# Cookware - presented at CukeUp! 2014
C# Cookware - presented at CukeUp! 2014Manuel Pais
 
Using Cisco pxGrid for Security Platform Integration: a deep dive
Using Cisco pxGrid for Security Platform Integration: a deep diveUsing Cisco pxGrid for Security Platform Integration: a deep dive
Using Cisco pxGrid for Security Platform Integration: a deep diveCisco DevNet
 
DEVNET-1010 Using Cisco pxGrid for Security Platform Integration
DEVNET-1010	Using Cisco pxGrid for Security Platform IntegrationDEVNET-1010	Using Cisco pxGrid for Security Platform Integration
DEVNET-1010 Using Cisco pxGrid for Security Platform IntegrationCisco DevNet
 
Client & Virtual User Experience Monitoring mit Splunk
Client & Virtual User Experience Monitoring mit SplunkClient & Virtual User Experience Monitoring mit Splunk
Client & Virtual User Experience Monitoring mit SplunkGeorg Knon
 
Client & Virtual User Experience Monitoring mit Splunk
Client & Virtual User Experience Monitoring mit SplunkClient & Virtual User Experience Monitoring mit Splunk
Client & Virtual User Experience Monitoring mit SplunkGeorg Knon
 
Locking the Doors -7 Pernicious Pitfalls to avoid with Java
Locking the Doors -7 Pernicious Pitfalls to avoid with JavaLocking the Doors -7 Pernicious Pitfalls to avoid with Java
Locking the Doors -7 Pernicious Pitfalls to avoid with JavaSteve Poole
 
PredictionIO - Building Applications That Predict User Behavior Through Big D...
PredictionIO - Building Applications That Predict User Behavior Through Big D...PredictionIO - Building Applications That Predict User Behavior Through Big D...
PredictionIO - Building Applications That Predict User Behavior Through Big D...predictionio
 
Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022
Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022
Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022InfluxData
 
Creating an MVP with Oracle
Creating an MVP with OracleCreating an MVP with Oracle
Creating an MVP with OracleFranco Ucci
 
Integrating Splunk into your Spring Applications
Integrating Splunk into your Spring ApplicationsIntegrating Splunk into your Spring Applications
Integrating Splunk into your Spring ApplicationsDamien Dallimore
 
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7Rapid7
 
Delivering New Visibility and Analytics for IT Operations
Delivering New Visibility and Analytics for IT OperationsDelivering New Visibility and Analytics for IT Operations
Delivering New Visibility and Analytics for IT OperationsGabrielle Knowles
 
SplunkLive Auckland - Operational Intelligence
SplunkLive Auckland - Operational IntelligenceSplunkLive Auckland - Operational Intelligence
SplunkLive Auckland - Operational IntelligenceSplunk
 
SplunkLive Wellington 2015 - Operational Intelligence
SplunkLive Wellington 2015 - Operational IntelligenceSplunkLive Wellington 2015 - Operational Intelligence
SplunkLive Wellington 2015 - Operational IntelligenceSplunk
 
Picos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting ThingsPicos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting ThingsPhil Windley
 
Using APIs to Program Disparate IoT Devices
Using APIs to Program Disparate IoT DevicesUsing APIs to Program Disparate IoT Devices
Using APIs to Program Disparate IoT DevicesApigee | Google Cloud
 
Bypass Security Checking with Frida
Bypass Security Checking with FridaBypass Security Checking with Frida
Bypass Security Checking with FridaSatria Ady Pradana
 

Semelhante a IBM Index Conference - 10 steps to build token based API Security (20)

HowYourAPIBeMyAPI
HowYourAPIBeMyAPIHowYourAPIBeMyAPI
HowYourAPIBeMyAPI
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating Datadipity
 
Swift meetup22june2015
Swift meetup22june2015Swift meetup22june2015
Swift meetup22june2015
 
C# Cookware - presented at CukeUp! 2014
C# Cookware - presented at CukeUp! 2014C# Cookware - presented at CukeUp! 2014
C# Cookware - presented at CukeUp! 2014
 
Using Cisco pxGrid for Security Platform Integration: a deep dive
Using Cisco pxGrid for Security Platform Integration: a deep diveUsing Cisco pxGrid for Security Platform Integration: a deep dive
Using Cisco pxGrid for Security Platform Integration: a deep dive
 
DEVNET-1010 Using Cisco pxGrid for Security Platform Integration
DEVNET-1010	Using Cisco pxGrid for Security Platform IntegrationDEVNET-1010	Using Cisco pxGrid for Security Platform Integration
DEVNET-1010 Using Cisco pxGrid for Security Platform Integration
 
Client & Virtual User Experience Monitoring mit Splunk
Client & Virtual User Experience Monitoring mit SplunkClient & Virtual User Experience Monitoring mit Splunk
Client & Virtual User Experience Monitoring mit Splunk
 
Client & Virtual User Experience Monitoring mit Splunk
Client & Virtual User Experience Monitoring mit SplunkClient & Virtual User Experience Monitoring mit Splunk
Client & Virtual User Experience Monitoring mit Splunk
 
Locking the Doors -7 Pernicious Pitfalls to avoid with Java
Locking the Doors -7 Pernicious Pitfalls to avoid with JavaLocking the Doors -7 Pernicious Pitfalls to avoid with Java
Locking the Doors -7 Pernicious Pitfalls to avoid with Java
 
PredictionIO - Building Applications That Predict User Behavior Through Big D...
PredictionIO - Building Applications That Predict User Behavior Through Big D...PredictionIO - Building Applications That Predict User Behavior Through Big D...
PredictionIO - Building Applications That Predict User Behavior Through Big D...
 
Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022
Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022
Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022
 
Creating an MVP with Oracle
Creating an MVP with OracleCreating an MVP with Oracle
Creating an MVP with Oracle
 
Integrating Splunk into your Spring Applications
Integrating Splunk into your Spring ApplicationsIntegrating Splunk into your Spring Applications
Integrating Splunk into your Spring Applications
 
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
 
Delivering New Visibility and Analytics for IT Operations
Delivering New Visibility and Analytics for IT OperationsDelivering New Visibility and Analytics for IT Operations
Delivering New Visibility and Analytics for IT Operations
 
SplunkLive Auckland - Operational Intelligence
SplunkLive Auckland - Operational IntelligenceSplunkLive Auckland - Operational Intelligence
SplunkLive Auckland - Operational Intelligence
 
SplunkLive Wellington 2015 - Operational Intelligence
SplunkLive Wellington 2015 - Operational IntelligenceSplunkLive Wellington 2015 - Operational Intelligence
SplunkLive Wellington 2015 - Operational Intelligence
 
Picos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting ThingsPicos, CloudOS, and Connecting Things
Picos, CloudOS, and Connecting Things
 
Using APIs to Program Disparate IoT Devices
Using APIs to Program Disparate IoT DevicesUsing APIs to Program Disparate IoT Devices
Using APIs to Program Disparate IoT Devices
 
Bypass Security Checking with Frida
Bypass Security Checking with FridaBypass Security Checking with Frida
Bypass Security Checking with Frida
 

Mais de Senthilkumar Gopal

Portfolio for CS 6475 Computational Photography
Portfolio for CS 6475 Computational PhotographyPortfolio for CS 6475 Computational Photography
Portfolio for CS 6475 Computational PhotographySenthilkumar Gopal
 
How developers write documentation
How developers write documentationHow developers write documentation
How developers write documentationSenthilkumar Gopal
 
Application resiliency using netflix hystrix
Application resiliency using netflix hystrixApplication resiliency using netflix hystrix
Application resiliency using netflix hystrixSenthilkumar Gopal
 

Mais de Senthilkumar Gopal (6)

Portfolio for CS 6475 Computational Photography
Portfolio for CS 6475 Computational PhotographyPortfolio for CS 6475 Computational Photography
Portfolio for CS 6475 Computational Photography
 
How developers write documentation
How developers write documentationHow developers write documentation
How developers write documentation
 
Bdd using Cucumber
Bdd using CucumberBdd using Cucumber
Bdd using Cucumber
 
Application resiliency using netflix hystrix
Application resiliency using netflix hystrixApplication resiliency using netflix hystrix
Application resiliency using netflix hystrix
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 

Último

Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 

Último (20)

Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 

IBM Index Conference - 10 steps to build token based API Security