Your policies are customizable rules or logic that the Gateway executes during an API transaction. Policies generally fall into security, transformation, performance, routing, or monitoring and testing categories. They are added to flows to enforce security, reliability, and proper data transfer. Examples of policies include traffic shaping, authentication/authorization, rate limiting, and dynamic routing. You can use dozens of policies; see the comprehensive list below. Learn more about the Policy Studio's features.
Celigo's API Management offers two different packages: the Standard Plan and the Advanced Plan. Below is a list of all the policies available to Standard and Advanced Plan subscribers.
Warning
Some policies are only available when you use a v2 or v4 API definition. Learn more about API definitions.
|
Policy name |
Description |
v2 API definition supported |
v4 API definition supported |
|---|---|---|---|
|
API Key |
You can use the |
✓ |
✓ |
|
Assign Attributes |
You can use the |
✓ |
✓ |
|
Assign Content |
You can use the |
✓ |
✓ |
|
Basic Authentication |
You can use the To use the policy in an API, you need to configure:
|
✓ |
✓ |
|
Cache |
You can use the |
✓ |
✓ |
|
Dynamic Routing |
The |
✓ |
✓ |
|
Generate HTTP Signature |
HTTP Signature is an authentication method that adds a new level of security. Use this policy to generate an HTTP Signature with a set of headers, a max validity duration, and some other settings. The "Signature" authentication scheme is based on the model that the client must authenticate itself with a digital signature produced by either a private asymmetric key (e.g., RSA) or a shared symmetric key (e.g., HMAC). |
✓ |
✓ |
|
Generate JWT |
You use the |
✓ |
✓ |
|
GeoIP Filtering |
You can use the |
✓ |
✓ |
|
Groovy |
You can use the Groovy policy to run Groovy scripts at any stage of request processing through the gateway. |
✓ |
✓ |
|
HTML to JSON |
You use the |
✓ |
✓ |
|
HTTP Callout |
You can use the |
✓ |
✓ |
|
HTTP Signature |
HTTP Signature is an authentication method that adds a new level of security. Under this policy, the consumer must send a signature using a secret key to temporarily identify the request and ensure that it's coming from the requesting consumer. |
✓ |
✓ |
|
IP Filtering |
You can use the Blacklist mode allows all IP addresses except the addresses included in the blacklist. The blacklist takes precedence, so if an IP address is included in both lists, the policy rejects the request. You can specify a host to be resolved and checked against the remote IP. |
✓ |
✓ |
|
JSON Threat Protection |
You can use the |
✓ |
✓ |
|
JSON to JSON |
You can use the |
✓ |
✓ |
|
JSON to XML |
You can use the |
✓ |
✓ |
|
JSON Validation |
You can use the |
✓ |
✓ |
|
JSON Web Signature |
Before sending the API call to the target backend, you can use the |
✓ |
✓ |
|
JWT |
You can use the JWT policy to validate the token signature and expiration date before sending the API call to the target backend. |
✓ |
✓ |
|
Keyless |
This security policy does not block requests as it considers them valid by default. |
✓ |
✓ |
|
Latency |
You can use the latency policy to add latency to the request or the response. For example, if you configure the policy on the request with a latency of 100ms, the gateway waits 100ms before routing the request to the backend service. This policy is particularly useful in two scenarios:
|
✓ |
✓ |
|
Metrics Reporter |
This policy allows you to push the request metrics to a custom endpoint. Running this policy ensures the complete response is sent to the initial consumer. You can configure the payload to send to the custom endpoint by using the Freemarker template engine. |
✓ |
X |
|
Mock |
Mock policy: |
✓ |
✓ |
|
OAS Validation |
The Learn more about OAS in API Management. |
X |
✓ |
|
OAuth2 |
Using token introspection, you can use the oauth2 policy to check access token validity during request processing. If the access token is valid, the request is allowed to proceed. If not, the process stops and rejects the request. The access token must be supplied in the Authorization HTTP request header. |
✓ |
✓ |
|
OpenID Connect UserInfo |
Use the |
✓ |
✓ |
|
Override HTTP Method |
You can use the |
✓ |
✓ |
|
Rate Limiting |
There are three rate-limit policies:
|
✓ |
✓ |
|
Regex Threat Protection |
You can use the |
✓ |
✓ |
|
Request Content Limit |
You can use the |
✓ |
✓ |
|
Resource Filtering |
You can use the This policy is mainly used in plan configuration to limit subscriber access to specific resources. A typical usage would be to allow access to all paths |
✓ |
✓ |
|
REST to SOAP |
You can use the |
✓ |
✓ |
|
Retry |
You can use the retry policy to replay requests when experiencing backend connection issues or if the response meets a given condition. |
✓ |
✓ |
|
Role Based Access Control |
You can use the The policy can be configured to either:
|
✓ |
✓ |
|
SSL Enforcement |
You can use the |
✓ |
✓ |
|
Traffic Shadowing |
Traffic shadowing allows you to copy traffic to another service asynchronously. This policy duplicates requests and sends them to the target, an endpoint defined at the API level. The request can be enriched with additional headers. |
✓ |
X |
|
Transform Headers |
You can use the
|
✓ |
✓ |
|
Transform Query Parameters |
You can use the
|
✓ |
✓ |
|
URL Rewriting |
You can use the |
✓ |
✓ |
|
Validate Request |
You can use the request-validation policy to validate an incoming HTTP request according to defined rules. A rule is defined for an input value. This input value supports Expression Language expressions and is validated against constraint rules. For example, it can be used after OpenID Connect UserInfo policy to vaidate who is making the request. To perform an advanced request validation, all you have to do is add the following code to the Field value in your API Management console:
|
✓ |
✓ |
|
XML to JSON |
You can use the |
✓ |
✓ |
|
XML Threat Protection |
You can use the |
✓ |
✓ |
|
XML validation |
You can use the |
✓ |
✓ |
|
XSLT Transformation |
If your backend exposes XML content, you can use the XSLT policy based on the Saxon library to apply an XSL transformation to an incoming XML request body or to the response body. |
✓ |
✓ |
All the standard plan policies are available to APIM Advanced plan subscribers, along with these advanced policies.
|
Policy name |
Description |
v2 API definition supported |
v4 API definition supported |
|---|---|---|---|
|
Assign Metrics |
You can use the |
✓ |
✓ |
|
Data Logging Masking |
You can use the |
✓ |
X |