With Apigee, A typical technical use case is to enforce authorization policies for inbound calls, before proxying to an upstream system. A good pattern is:
1. Externalize the authorization decisions, perhaps in an external authorization database table, service, or rules engine.
- Each rule can be modeled as a tuple of {subject, object, action}, related to a binary allow/deny decision. In an HTTP REST API, the subject is the client and the end user (if any); the object is the resource, represented by the url path; and the action is the HTTP verb: GET, PUT, POST, DELETE.
- applying the rules is as simple as finding a match for the tuple, and selecting the allow/deny result.
2. Configure the Apigee API Proxy to call out to that external system to obtain the authorization decision.
3. Enforce the authorization decision within the API Proxy.
This is really straightforward to do, with Apigee, relying on such capabilities as:
I put together a quick screencast showing you how to do this, using a Google sheet as a store for the authorization rules. Check it out!
github repo: https://github.com/DinoChiesa/Apigee-External-Authorization-1
How to add members to a private space if you are a Group Administrator
SAML2 vs JWT: Understanding JSON Web Token (JWT)
SQL Injection attacks in BaaS and prevention tips
SAML2 vs JWT: Apigee & Azure Active Directory Integration — A JWT Story
Removing Users from Edge Support Portal
SAML 2.0 VS. JWT: UNDERSTANDING FEDERATED IDENTITY AND SAML
API Vulnerabilites and their mitigation in Apigee Edge
Changes to the Apigee Single Sign On and Login infrastructure