SlideShare uma empresa Scribd logo
1 de 20
Enterprise access control patterns for REST
and Web APIs
Francois Lascelles
Director, Solutions Engineering
Today’s enterprise integration API drivers
                                                                SAAS
           distributed enterprise SOA
                           Integration                                  partner
                              APIs!
  IAAS/PAAS
                                         Cloud
                                         APIs!


             enterprise boundary                     B2B
                                                     APIs!

         Access
        control?




                                                 B2C
                                                 APIs!
      • Sensitive data, apps
      • Mission critical
      • ID authority
      • Legacy
                                                                       developer

                                                             mobile
Controlling access to web apis, RESTful web services



 WS-* web services have rich security standards and authentication/authorization
  mechanisms
 Web API, RESTful web services tend to use proprietary tokens, point-to-point
  solutions
 What are the common patterns in use?
 Which standards are emerging?
 How to use specialized infrastructure to implement access control?
 How to accommodate requesting party technical capabilities?
API Keys in URI parameters


https://host/api/resource?keyid=foo&keysecret=bar
…



    Simplest thing, common practice
    Shared secret in a URL parameter based authentication, no signature involved
    Equivalent to https://host/api/resource?username=franco&password=mysecret
    Why not use HTTP Basic instead?
HMAC

PUT /api/resource
…
Authorization: AWS keyid:fr0t5AzM6qT3S40pBPmfrTLJwMuZurA8=
…

   Use the key to actually sign something
   Shared secret not sent
   Payload covered by signature -> message integrity
   Timestamp covered by signature -> less susceptible to replay
   Used by AWS, Azure
   Implementations are proprietary, not compatible




                                         5
Sessions

 Web app => login followed by cookies, session ids
 APIs, services => login methods followed tokens, session ids
 Server state is not restful
 Session high jacking threat
 Token are useful for federated authentication (endpoint disconnected
  from id authority)



                                                    Login



                                           Get back token or cookie



                                   Use token or cookie on subsequent calls
OAuth

                                  Retrieve resource with
                                   owner authorization
                                    (REST exchange)
                                                                           Resource
         Application
                                                                            provider



                        Do something                 Yes, I authorize it
                       with my resource


                                          Resource
                                           owner


GET /somewhere/someresource
…
Authorization: OAUTH fr0t5AzM6qT3S40pBPmfrTLJwMuZurA8=
…
OAuth applicability


 OAuth is resource-oriented => relevant to REST
 OAuth 2.0 is a protocol; it does not specify a token format
 In practice, there are various interpretation of what an OAuth token looks like
  - OAuth 1.0, OAuth WRAP
  - Does the signature cover the payload or not?
  - Which attributes are included?
  - Signed with HMAC/RSA?
  - SAML
  - Etc…
OAuth portal + API pattern

                                 Portal accesses API
                                  on behalf of user
                                                                                API
   Web Portal



                                                                  OAuth style
                                                       redirect to authorize?


                                     Web Portal user
                                         AND
                                     Resource owner



                 OAuth needed here if portal and API are „independent‟
                 If both the portal and the API authorize the same identity,
                  you can use id propagation and trust management instead
Enterprise SaaS composition with OAuth
 SaaS/PaaS composition pattern
 - Enterprise subscribes to multiple SaaS and needs them to integrate
 - Addresses critical challenge related to enterprise cloud adoption


                            SaaS A and B integrate on
                             behalf of enterprise user
                             through OAuth + REST
  SaaS A                                                                     SaaS B


                 Do something
                with my resource                       Yes, I authorize it
                    at SaaS B


                                  Enterprise user
                               subscribing to SaaS A
                                       and B
Cloud callback pattern with OAuth
 Authorize access to enterprise resource
 - OAuth-enabled SaaS/PaaS can also retrieve resources hosted by enterprise
 - Alternatively, authorize SaaS instance directly and define an access policy



                Call back enterprise
                                                        Enterprise OAuth
                 retrieves resource,                    authorization server
              through OAuth + REST
SaaS
PaaS
                                                                           Protected
                                                                           resource



                    Do something with                Yes, I authorize it
                      my resource at
                    http://myenterprise

                                                                 Enterprise boundary
SAML

          is SAML appropriate for REST and Web APIs?
 A rich and established standard for making various claims regarding an identity
  (authentication statements, authorizations statements, attribute statements)
  - SAML is well supported by existing enterprise infrastructure
 SAML is verbose
  - 8KB is too big a token for an authorization header or a query parameter
  - You can gzip + base 64 encode the token to make it fit
 SAML is based on XML
  - My API uses JSON, not API
  - It does not matter, the two should be decoupled
 Binding specifications for Web browser SSO, SOAP+WSS, but no formal binding for
  REST, web APIs
Example SAML binding for RESTful web service


                 GET /token/joe
                 Authorization: …
                                         200 OK
                                         <saml:Assertion …
                                         />


                 GET /someresource
                 Authorization: SAML PmfrTLJwMuZurA8=


        200 OK
        …




                                    13
JSON Web Token (JWT)



 IETF Draft from March 2011
 Compact token format meant to be used in authorization headers and URI
 parameters
 Three base64url encoded JSON segments : JWT Header . JWT Claim . JWT Crypto
 Crypto segment relies on another proposed specification: JSON Web Signature
SSL

 Hide shared secrets
  - API keys, tokens, http basic
  - Bearer tokens
 Even with payload signatures, you may be subject to replay attacks
 Use SSL correctly (hint: server-side authentication)
 SSL mutual great for two way authentication
 SSL does not provide “at rest” security nor addresses repudiation
Key Web API Management Infrastructure
                                   API portal
                                    - Developer on-boarding
                                    - Contract management, billing
                                    - API discovery, documentation




 API proxy (PEP)
 - API traffic proxying
 - Authentication/Authorization
                                   Reporting, monitoring
 - Contract enforcement
 - Threat protection
Perimeter PEP Gateway/Proxy


 A PEP at the perimeter a service zone to handle
  authentication, authorization
 Token validation, token issuing
 OAuth authorization server
 Interface with IAM infrastructure
 Coordinate trust between service zones
  - On premise, off premise
 API threat protection
 SLA enforcement (per identity, per contract)
Developer Portal and PEP coordination
   Signup, registration, email verification
   Key issuing
   Be an ID provider*
   Contract assignment*
   Billing*

                                Shared or coupled provisioning
                                      Trust relationship




                                                          Runtime Authentication
                                                          Runtime Contract Enforcement
                                                          API protection
                                                          Runtime feeds to reporting, billing,
                                                           monitoring
Coordinating service zones
 Central control of PEPs across service zones
 Centralized design time governance authority
  defines access control rules, contracts
 Policies provisioned to relevant service zone
  PEP



                    Governance
                Authority or PDP


 PEP deployed on public cloud, private cloud,
  on-premise/off-premise (form factors)
 Cross-domain trust handled at perimeter
Thank you

 Visit us at table #10 -> win an iPad2!
 Check out: http://www.layer7tech.com/api-management-and-security

Mais conteúdo relacionado

Mais procurados

Oauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 supportOauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 supportGaurav Sharma
 
The Ultimate Guide to Mobile API Security
The Ultimate Guide to Mobile API SecurityThe Ultimate Guide to Mobile API Security
The Ultimate Guide to Mobile API SecurityStormpath
 
Token Authentication for Java Applications
Token Authentication for Java ApplicationsToken Authentication for Java Applications
Token Authentication for Java ApplicationsStormpath
 
Mohanraj - Securing Your Web Api With OAuth
Mohanraj - Securing Your Web Api With OAuthMohanraj - Securing Your Web Api With OAuth
Mohanraj - Securing Your Web Api With OAuthfossmy
 
Securing RESTful APIs using OAuth 2 and OpenID Connect
Securing RESTful APIs using OAuth 2 and OpenID ConnectSecuring RESTful APIs using OAuth 2 and OpenID Connect
Securing RESTful APIs using OAuth 2 and OpenID ConnectJonathan LeBlanc
 
OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authenticationleahculver
 
REST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTsREST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTsJon Todd
 
Best Practices in Building an API Security Ecosystem
Best Practices in Building an API Security EcosystemBest Practices in Building an API Security Ecosystem
Best Practices in Building an API Security EcosystemPrabath Siriwardena
 
Build A Killer Client For Your REST+JSON API
Build A Killer Client For Your REST+JSON APIBuild A Killer Client For Your REST+JSON API
Build A Killer Client For Your REST+JSON APIStormpath
 
Using & Abusing APIs: An Examination of the API Attack Surface
Using & Abusing APIs: An Examination of the API Attack SurfaceUsing & Abusing APIs: An Examination of the API Attack Surface
Using & Abusing APIs: An Examination of the API Attack SurfaceCA API Management
 
Rest Security with JAX-RS
Rest Security with JAX-RSRest Security with JAX-RS
Rest Security with JAX-RSFrank Kim
 
Securing your APIs with OAuth, OpenID, and OpenID Connect
Securing your APIs with OAuth, OpenID, and OpenID ConnectSecuring your APIs with OAuth, OpenID, and OpenID Connect
Securing your APIs with OAuth, OpenID, and OpenID ConnectManish Pandit
 
Securing RESTful Payment APIs Using OAuth 2
Securing RESTful Payment APIs Using OAuth 2Securing RESTful Payment APIs Using OAuth 2
Securing RESTful Payment APIs Using OAuth 2Jonathan LeBlanc
 
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...Brian Campbell
 
Stateless authentication for microservices - GR8Conf 2015
Stateless authentication for microservices - GR8Conf 2015Stateless authentication for microservices - GR8Conf 2015
Stateless authentication for microservices - GR8Conf 2015Alvaro Sanchez-Mariscal
 
OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring SecurityOrest Ivasiv
 

Mais procurados (20)

Oauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 supportOauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 support
 
The Ultimate Guide to Mobile API Security
The Ultimate Guide to Mobile API SecurityThe Ultimate Guide to Mobile API Security
The Ultimate Guide to Mobile API Security
 
Token Authentication for Java Applications
Token Authentication for Java ApplicationsToken Authentication for Java Applications
Token Authentication for Java Applications
 
Mohanraj - Securing Your Web Api With OAuth
Mohanraj - Securing Your Web Api With OAuthMohanraj - Securing Your Web Api With OAuth
Mohanraj - Securing Your Web Api With OAuth
 
Securing RESTful APIs using OAuth 2 and OpenID Connect
Securing RESTful APIs using OAuth 2 and OpenID ConnectSecuring RESTful APIs using OAuth 2 and OpenID Connect
Securing RESTful APIs using OAuth 2 and OpenID Connect
 
OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authentication
 
REST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTsREST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTs
 
Best Practices in Building an API Security Ecosystem
Best Practices in Building an API Security EcosystemBest Practices in Building an API Security Ecosystem
Best Practices in Building an API Security Ecosystem
 
Api security
Api security Api security
Api security
 
Build A Killer Client For Your REST+JSON API
Build A Killer Client For Your REST+JSON APIBuild A Killer Client For Your REST+JSON API
Build A Killer Client For Your REST+JSON API
 
Using & Abusing APIs: An Examination of the API Attack Surface
Using & Abusing APIs: An Examination of the API Attack SurfaceUsing & Abusing APIs: An Examination of the API Attack Surface
Using & Abusing APIs: An Examination of the API Attack Surface
 
Rest Security with JAX-RS
Rest Security with JAX-RSRest Security with JAX-RS
Rest Security with JAX-RS
 
Securing your APIs with OAuth, OpenID, and OpenID Connect
Securing your APIs with OAuth, OpenID, and OpenID ConnectSecuring your APIs with OAuth, OpenID, and OpenID Connect
Securing your APIs with OAuth, OpenID, and OpenID Connect
 
Demystifying OAuth 2.0
Demystifying OAuth 2.0Demystifying OAuth 2.0
Demystifying OAuth 2.0
 
OAuth2 + API Security
OAuth2 + API SecurityOAuth2 + API Security
OAuth2 + API Security
 
Securing RESTful Payment APIs Using OAuth 2
Securing RESTful Payment APIs Using OAuth 2Securing RESTful Payment APIs Using OAuth 2
Securing RESTful Payment APIs Using OAuth 2
 
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
 
OAuth 2.0
OAuth 2.0OAuth 2.0
OAuth 2.0
 
Stateless authentication for microservices - GR8Conf 2015
Stateless authentication for microservices - GR8Conf 2015Stateless authentication for microservices - GR8Conf 2015
Stateless authentication for microservices - GR8Conf 2015
 
OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring Security
 

Semelhante a Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Francois Lascelles - Layer 7 -

Layer 7: 2010 RSA Presentation on REST and Oauth Security
Layer 7: 2010 RSA Presentation on REST and Oauth SecurityLayer 7: 2010 RSA Presentation on REST and Oauth Security
Layer 7: 2010 RSA Presentation on REST and Oauth SecurityCA API Management
 
API Management and Mobile App Enablement
API Management and Mobile App EnablementAPI Management and Mobile App Enablement
API Management and Mobile App EnablementCA API Management
 
Embedding Jaspersoft into your PHP application
Embedding Jaspersoft into your PHP applicationEmbedding Jaspersoft into your PHP application
Embedding Jaspersoft into your PHP applicationMariano Luna
 
OAuth in the Real World featuring Webshell
OAuth in the Real World featuring WebshellOAuth in the Real World featuring Webshell
OAuth in the Real World featuring WebshellCA API Management
 
Melbourne API Management Seminar
Melbourne API Management SeminarMelbourne API Management Seminar
Melbourne API Management SeminarCA API Management
 
Saas webinar-dec6-01
Saas webinar-dec6-01Saas webinar-dec6-01
Saas webinar-dec6-01Paul Madsen
 
User Management and App Authentication with Amazon Cognito - SID343 - re:Inve...
User Management and App Authentication with Amazon Cognito - SID343 - re:Inve...User Management and App Authentication with Amazon Cognito - SID343 - re:Inve...
User Management and App Authentication with Amazon Cognito - SID343 - re:Inve...Amazon Web Services
 
4. tmg 2010 e uag 2010
4. tmg 2010 e uag 20104. tmg 2010 e uag 2010
4. tmg 2010 e uag 2010Fabrizio Volpe
 
Serverless identity management, authentication, and authorization - SDD405-R ...
Serverless identity management, authentication, and authorization - SDD405-R ...Serverless identity management, authentication, and authorization - SDD405-R ...
Serverless identity management, authentication, and authorization - SDD405-R ...Amazon Web Services
 
OAuth2 on Ericsson Labs
OAuth2 on Ericsson LabsOAuth2 on Ericsson Labs
OAuth2 on Ericsson LabsEricsson Labs
 
Application Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomApplication Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomQConLondon2008
 
Dave Carroll Application Services Salesforce
Dave Carroll Application Services SalesforceDave Carroll Application Services Salesforce
Dave Carroll Application Services Salesforcedeimos
 
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...Mastering Modern Authentication and Authorization Techniques for SharePoint, ...
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...Eric Shupps
 
Integration step up session
Integration step up sessionIntegration step up session
Integration step up sessionAmit Behere
 
[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...
[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...
[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...Amazon Web Services
 
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015Stuart
 

Semelhante a Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Francois Lascelles - Layer 7 - (20)

Layer 7: 2010 RSA Presentation on REST and Oauth Security
Layer 7: 2010 RSA Presentation on REST and Oauth SecurityLayer 7: 2010 RSA Presentation on REST and Oauth Security
Layer 7: 2010 RSA Presentation on REST and Oauth Security
 
API Management and Mobile App Enablement
API Management and Mobile App EnablementAPI Management and Mobile App Enablement
API Management and Mobile App Enablement
 
Embedding Jaspersoft into your PHP application
Embedding Jaspersoft into your PHP applicationEmbedding Jaspersoft into your PHP application
Embedding Jaspersoft into your PHP application
 
OAuth in the Real World featuring Webshell
OAuth in the Real World featuring WebshellOAuth in the Real World featuring Webshell
OAuth in the Real World featuring Webshell
 
Oauth2.0
Oauth2.0Oauth2.0
Oauth2.0
 
Melbourne API Management Seminar
Melbourne API Management SeminarMelbourne API Management Seminar
Melbourne API Management Seminar
 
Restful api
Restful apiRestful api
Restful api
 
Saas webinar-dec6-01
Saas webinar-dec6-01Saas webinar-dec6-01
Saas webinar-dec6-01
 
User Management and App Authentication with Amazon Cognito - SID343 - re:Inve...
User Management and App Authentication with Amazon Cognito - SID343 - re:Inve...User Management and App Authentication with Amazon Cognito - SID343 - re:Inve...
User Management and App Authentication with Amazon Cognito - SID343 - re:Inve...
 
4. tmg 2010 e uag 2010
4. tmg 2010 e uag 20104. tmg 2010 e uag 2010
4. tmg 2010 e uag 2010
 
Serverless identity management, authentication, and authorization - SDD405-R ...
Serverless identity management, authentication, and authorization - SDD405-R ...Serverless identity management, authentication, and authorization - SDD405-R ...
Serverless identity management, authentication, and authorization - SDD405-R ...
 
Securing RESTful API
Securing RESTful APISecuring RESTful API
Securing RESTful API
 
OAuth2 on Ericsson Labs
OAuth2 on Ericsson LabsOAuth2 on Ericsson Labs
OAuth2 on Ericsson Labs
 
Application Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomApplication Services On The Web Sales Forcecom
Application Services On The Web Sales Forcecom
 
Dave Carroll Application Services Salesforce
Dave Carroll Application Services SalesforceDave Carroll Application Services Salesforce
Dave Carroll Application Services Salesforce
 
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...Mastering Modern Authentication and Authorization Techniques for SharePoint, ...
Mastering Modern Authentication and Authorization Techniques for SharePoint, ...
 
Integration step up session
Integration step up sessionIntegration step up session
Integration step up session
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...
[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...
[REPEAT 1] Managing Identity Management, Authentication, & Authorization for ...
 
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
OAuth with AngularJS and WebAPI - SoCal Code Camp 2015
 

Mais de CA API Management

Api architectures for the modern enterprise
Api architectures for the modern enterpriseApi architectures for the modern enterprise
Api architectures for the modern enterpriseCA API Management
 
Mastering Digital Channels with APIs
Mastering Digital Channels with APIsMastering Digital Channels with APIs
Mastering Digital Channels with APIsCA API Management
 
Takeaways from API Security Breaches Webinar
Takeaways from API Security Breaches WebinarTakeaways from API Security Breaches Webinar
Takeaways from API Security Breaches WebinarCA API Management
 
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...CA API Management
 
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...CA API Management
 
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...CA API Management
 
API Monetization: Unlock the Value of Your Data
API Monetization: Unlock the Value of Your DataAPI Monetization: Unlock the Value of Your Data
API Monetization: Unlock the Value of Your DataCA API Management
 
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...CA API Management
 
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...CA API Management
 
Enabling the Multi-Device Universe
Enabling the Multi-Device UniverseEnabling the Multi-Device Universe
Enabling the Multi-Device UniverseCA API Management
 
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...CA API Management
 
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...CA API Management
 
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...CA API Management
 
Adapting to Digital Change: Use APIs to Delight Customers & Win
Adapting to Digital Change: Use APIs to Delight Customers & WinAdapting to Digital Change: Use APIs to Delight Customers & Win
Adapting to Digital Change: Use APIs to Delight Customers & WinCA API Management
 
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...CA API Management
 
5 steps end to end security consumer apps
5 steps end to end security consumer apps5 steps end to end security consumer apps
5 steps end to end security consumer appsCA API Management
 
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...CA API Management
 
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...CA API Management
 
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...
Gartner AADI Summit Sydney 2014   Implementing the Layer 7 API Management Pla...Gartner AADI Summit Sydney 2014   Implementing the Layer 7 API Management Pla...
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...CA API Management
 
Using APIs to Create an Omni-Channel Retail Experience
Using APIs to Create an Omni-Channel Retail ExperienceUsing APIs to Create an Omni-Channel Retail Experience
Using APIs to Create an Omni-Channel Retail ExperienceCA API Management
 

Mais de CA API Management (20)

Api architectures for the modern enterprise
Api architectures for the modern enterpriseApi architectures for the modern enterprise
Api architectures for the modern enterprise
 
Mastering Digital Channels with APIs
Mastering Digital Channels with APIsMastering Digital Channels with APIs
Mastering Digital Channels with APIs
 
Takeaways from API Security Breaches Webinar
Takeaways from API Security Breaches WebinarTakeaways from API Security Breaches Webinar
Takeaways from API Security Breaches Webinar
 
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
 
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
Liberating the API Economy with Scale-Free Networks - Mike Amundsen, Director...
 
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
 
API Monetization: Unlock the Value of Your Data
API Monetization: Unlock the Value of Your DataAPI Monetization: Unlock the Value of Your Data
API Monetization: Unlock the Value of Your Data
 
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
Revisiting Geddes' Outlook Tower - Mike Amundsen, Director of API Architectur...
 
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
 
Enabling the Multi-Device Universe
Enabling the Multi-Device UniverseEnabling the Multi-Device Universe
Enabling the Multi-Device Universe
 
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...
Building APIs That Last for Decades - Irakli Nadareishvili, Director of API S...
 
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
The Art of API Design - Ronnie Mitra, Director of API Design, API Academy at ...
 
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
 
Adapting to Digital Change: Use APIs to Delight Customers & Win
Adapting to Digital Change: Use APIs to Delight Customers & WinAdapting to Digital Change: Use APIs to Delight Customers & Win
Adapting to Digital Change: Use APIs to Delight Customers & Win
 
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
Balancing Security & Developer Enablement in Enterprise Mobility - Jaime Ryan...
 
5 steps end to end security consumer apps
5 steps end to end security consumer apps5 steps end to end security consumer apps
5 steps end to end security consumer apps
 
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...
Best Practices You Must Apply to Secure Your APIs - Scott Morrison, SVP & Dis...
 
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
Drones, Phones & Pwns the Promise & Dangers of IoT APIs: Use APIs to Securely...
 
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...
Gartner AADI Summit Sydney 2014   Implementing the Layer 7 API Management Pla...Gartner AADI Summit Sydney 2014   Implementing the Layer 7 API Management Pla...
Gartner AADI Summit Sydney 2014 Implementing the Layer 7 API Management Pla...
 
Using APIs to Create an Omni-Channel Retail Experience
Using APIs to Create an Omni-Channel Retail ExperienceUsing APIs to Create an Omni-Channel Retail Experience
Using APIs to Create an Omni-Channel Retail Experience
 

Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Francois Lascelles - Layer 7 -

  • 1. Enterprise access control patterns for REST and Web APIs Francois Lascelles Director, Solutions Engineering
  • 2. Today’s enterprise integration API drivers SAAS distributed enterprise SOA Integration partner APIs! IAAS/PAAS Cloud APIs! enterprise boundary B2B APIs! Access control? B2C APIs! • Sensitive data, apps • Mission critical • ID authority • Legacy developer mobile
  • 3. Controlling access to web apis, RESTful web services  WS-* web services have rich security standards and authentication/authorization mechanisms  Web API, RESTful web services tend to use proprietary tokens, point-to-point solutions  What are the common patterns in use?  Which standards are emerging?  How to use specialized infrastructure to implement access control?  How to accommodate requesting party technical capabilities?
  • 4. API Keys in URI parameters https://host/api/resource?keyid=foo&keysecret=bar …  Simplest thing, common practice  Shared secret in a URL parameter based authentication, no signature involved  Equivalent to https://host/api/resource?username=franco&password=mysecret  Why not use HTTP Basic instead?
  • 5. HMAC PUT /api/resource … Authorization: AWS keyid:fr0t5AzM6qT3S40pBPmfrTLJwMuZurA8= …  Use the key to actually sign something  Shared secret not sent  Payload covered by signature -> message integrity  Timestamp covered by signature -> less susceptible to replay  Used by AWS, Azure  Implementations are proprietary, not compatible 5
  • 6. Sessions  Web app => login followed by cookies, session ids  APIs, services => login methods followed tokens, session ids  Server state is not restful  Session high jacking threat  Token are useful for federated authentication (endpoint disconnected from id authority) Login Get back token or cookie Use token or cookie on subsequent calls
  • 7. OAuth Retrieve resource with owner authorization (REST exchange) Resource Application provider Do something Yes, I authorize it with my resource Resource owner GET /somewhere/someresource … Authorization: OAUTH fr0t5AzM6qT3S40pBPmfrTLJwMuZurA8= …
  • 8. OAuth applicability  OAuth is resource-oriented => relevant to REST  OAuth 2.0 is a protocol; it does not specify a token format  In practice, there are various interpretation of what an OAuth token looks like - OAuth 1.0, OAuth WRAP - Does the signature cover the payload or not? - Which attributes are included? - Signed with HMAC/RSA? - SAML - Etc…
  • 9. OAuth portal + API pattern Portal accesses API on behalf of user API Web Portal OAuth style redirect to authorize? Web Portal user AND Resource owner  OAuth needed here if portal and API are „independent‟  If both the portal and the API authorize the same identity, you can use id propagation and trust management instead
  • 10. Enterprise SaaS composition with OAuth  SaaS/PaaS composition pattern - Enterprise subscribes to multiple SaaS and needs them to integrate - Addresses critical challenge related to enterprise cloud adoption SaaS A and B integrate on behalf of enterprise user through OAuth + REST SaaS A SaaS B Do something with my resource Yes, I authorize it at SaaS B Enterprise user subscribing to SaaS A and B
  • 11. Cloud callback pattern with OAuth  Authorize access to enterprise resource - OAuth-enabled SaaS/PaaS can also retrieve resources hosted by enterprise - Alternatively, authorize SaaS instance directly and define an access policy Call back enterprise Enterprise OAuth retrieves resource, authorization server through OAuth + REST SaaS PaaS Protected resource Do something with Yes, I authorize it my resource at http://myenterprise Enterprise boundary
  • 12. SAML is SAML appropriate for REST and Web APIs?  A rich and established standard for making various claims regarding an identity (authentication statements, authorizations statements, attribute statements) - SAML is well supported by existing enterprise infrastructure  SAML is verbose - 8KB is too big a token for an authorization header or a query parameter - You can gzip + base 64 encode the token to make it fit  SAML is based on XML - My API uses JSON, not API - It does not matter, the two should be decoupled  Binding specifications for Web browser SSO, SOAP+WSS, but no formal binding for REST, web APIs
  • 13. Example SAML binding for RESTful web service GET /token/joe Authorization: … 200 OK <saml:Assertion … /> GET /someresource Authorization: SAML PmfrTLJwMuZurA8= 200 OK … 13
  • 14. JSON Web Token (JWT)  IETF Draft from March 2011  Compact token format meant to be used in authorization headers and URI parameters  Three base64url encoded JSON segments : JWT Header . JWT Claim . JWT Crypto  Crypto segment relies on another proposed specification: JSON Web Signature
  • 15. SSL  Hide shared secrets - API keys, tokens, http basic - Bearer tokens  Even with payload signatures, you may be subject to replay attacks  Use SSL correctly (hint: server-side authentication)  SSL mutual great for two way authentication  SSL does not provide “at rest” security nor addresses repudiation
  • 16. Key Web API Management Infrastructure  API portal - Developer on-boarding - Contract management, billing - API discovery, documentation  API proxy (PEP) - API traffic proxying - Authentication/Authorization  Reporting, monitoring - Contract enforcement - Threat protection
  • 17. Perimeter PEP Gateway/Proxy  A PEP at the perimeter a service zone to handle authentication, authorization  Token validation, token issuing  OAuth authorization server  Interface with IAM infrastructure  Coordinate trust between service zones - On premise, off premise  API threat protection  SLA enforcement (per identity, per contract)
  • 18. Developer Portal and PEP coordination  Signup, registration, email verification  Key issuing  Be an ID provider*  Contract assignment*  Billing* Shared or coupled provisioning Trust relationship  Runtime Authentication  Runtime Contract Enforcement  API protection  Runtime feeds to reporting, billing, monitoring
  • 19. Coordinating service zones  Central control of PEPs across service zones  Centralized design time governance authority defines access control rules, contracts  Policies provisioned to relevant service zone PEP Governance Authority or PDP  PEP deployed on public cloud, private cloud, on-premise/off-premise (form factors)  Cross-domain trust handled at perimeter
  • 20. Thank you  Visit us at table #10 -> win an iPad2!  Check out: http://www.layer7tech.com/api-management-and-security