Jump To Close Expand all Collapse all Table of contents Administering the API Gateway Preface I. The API gateway Expand section "I. The API gateway" Collapse section "I. The API gateway" 1. Operating APIcast Expand section "1. Operating APIcast" Collapse section "1. Operating APIcast" 1.1. Public Base URL 1.2. Mapping rules Expand section "1.2. Mapping rules" Collapse section "1.2. Mapping rules" 1.2.1. Mapping rules in products and backends 1.2.2. Matching of mapping rules 1.2.3. Mapping rules workflow 1.3. Host header 1.4. Protecting your API backend 1.5. Using APIcast with private APIs 1.6. Configuring APIcast with OpenTracing Expand section "1.6. Configuring APIcast with OpenTracing" Collapse section "1.6. Configuring APIcast with OpenTracing" 1.6.1. Prerequisites 1.6.2. Procedure 1.6.3. Additional information 1.6.4. Installing Jaeger on your OpenShift instance 2. Operating Docker-containerized environments Expand section "2. Operating Docker-containerized environments" Collapse section "2. Operating Docker-containerized environments" 2.1. Troubleshooting APIcast on the Docker-containerized environment Expand section "2.1. Troubleshooting APIcast on the Docker-containerized environment" Collapse section "2.1. Troubleshooting APIcast on the Docker-containerized environment" 2.1.1. Cannot connect to the Docker daemon error 2.1.2. Basic Docker command-line interface commands 3. Advanced APIcast configuration Expand section "3. Advanced APIcast configuration" Collapse section "3. Advanced APIcast configuration" 3.1. Define a secret token 3.2. Credentials 3.3. Configuring error messages 3.4. Configuration history 3.5. Debugging 3.6. Path routing 4. APIcast policies Expand section "4. APIcast policies" Collapse section "4. APIcast policies" 4.1. APIcast standard policies Expand section "4.1. APIcast standard policies" Collapse section "4.1. APIcast standard policies" 4.1.1. 3scale Auth Caching 4.1.2. 3scale Batcher 4.1.3. 3scale Referrer 4.1.4. Anonymous Access 4.1.5. Conditional Policy Expand section "4.1.5. Conditional Policy" Collapse section "4.1.5. Conditional Policy" 4.1.5.1. Conditions Expand section "4.1.5.1. Conditions" Collapse section "4.1.5.1. Conditions" 4.1.5.1.1. Supported variables in liquid 4.1.6. CORS Request Handling 4.1.7. Echo 4.1.8. Edge Limiting Expand section "4.1.8. Edge Limiting" Collapse section "4.1.8. Edge Limiting" 4.1.8.1. Types of limits 4.1.8.2. Limit definition 4.1.8.3. Liquid templating 4.1.8.4. Applying conditions 4.1.8.5. Configuring the store 4.1.8.6. Error handling 4.1.9. Header Modification 4.1.10. IP Check 4.1.11. JWT Claim Check Expand section "4.1.11. JWT Claim Check" Collapse section "4.1.11. JWT Claim Check" 4.1.11.1. About JWT Claim Check policy 4.1.11.2. Configuring JWT Claim Check policy in your policy chain Expand section "4.1.11.2. Configuring JWT Claim Check policy in your policy chain" Collapse section "4.1.11.2. Configuring JWT Claim Check policy in your policy chain" 4.1.11.2.1. Configuring the policy 4.1.12. Liquid Context Debug 4.1.13. Logging Expand section "4.1.13. Logging" Collapse section "4.1.13. Logging" 4.1.13.1. Global configuration for all APIs 4.1.13.2. Examples 4.1.13.3. Additional information about custom logging 4.1.14. Maintenance Mode 4.1.15. OAuth 2.0 Mutual TLS Client Authentication 4.1.16. OAuth 2.0 Token Introspection 4.1.17. Proxy Service Expand section "4.1.17. Proxy Service" Collapse section "4.1.17. Proxy Service" 4.1.17.1. Configuration Expand section "4.1.17.1. Configuration" Collapse section "4.1.17.1. Configuration" 4.1.17.1.1. Caveats 4.1.17.1.2. Example use case 4.1.18. Retry 4.1.19. RH-SSO/Keycloak Role Check 4.1.20. Routing Expand section "4.1.20. Routing" Collapse section "4.1.20. Routing" 4.1.20.1. Routing rules 4.1.20.2. Request path rule 4.1.20.3. Header rule 4.1.20.4. Query argument rule 4.1.20.5. JWT claim rule 4.1.20.6. Multiple operations rule 4.1.20.7. Combining rules 4.1.20.8. Catch-all rules 4.1.20.9. Supported operations 4.1.20.10. Liquid templating 4.1.20.11. Set the host used in the host_header 4.1.21. SOAP 4.1.22. TLS Client Certificate Validation Expand section "4.1.22. TLS Client Certificate Validation" Collapse section "4.1.22. TLS Client Certificate Validation" 4.1.22.1. Setting up APIcast to work with TLS Client Certificate Validation Expand section "4.1.22.1. Setting up APIcast to work with TLS Client Certificate Validation" Collapse section "4.1.22.1. Setting up APIcast to work with TLS Client Certificate Validation" 4.1.22.1.1. Setting up APIcast to work with the policy 4.1.22.2. Configuring TLS Client Certificate Validation in your policy chain Expand section "4.1.22.2. Configuring TLS Client Certificate Validation in your policy chain" Collapse section "4.1.22.2. Configuring TLS Client Certificate Validation in your policy chain" 4.1.22.2.1. Configuring the policy 4.1.22.3. Verifying functionality of the TLS Client Certificate Validation policy Expand section "4.1.22.3. Verifying functionality of the TLS Client Certificate Validation policy" Collapse section "4.1.22.3. Verifying functionality of the TLS Client Certificate Validation policy" 4.1.22.3.1. Verifying policy functionality 4.1.22.4. Removing a certificate from the whitelist Expand section "4.1.22.4. Removing a certificate from the whitelist" Collapse section "4.1.22.4. Removing a certificate from the whitelist" 4.1.22.4.1. Removing a certificate 4.1.22.5. Reference material 4.1.23. TLS Termination Expand section "4.1.23. TLS Termination" Collapse section "4.1.23. TLS Termination" 4.1.23.1. Configuring TLS Termination in your policy chain Expand section "4.1.23.1. Configuring TLS Termination in your policy chain" Collapse section "4.1.23.1. Configuring TLS Termination in your policy chain" 4.1.23.1.1. Configuring the policy 4.1.23.2. Verifying functionality of the TLS Termination policy Expand section "4.1.23.2. Verifying functionality of the TLS Termination policy" Collapse section "4.1.23.2. Verifying functionality of the TLS Termination policy" 4.1.23.2.1. Verifying policy functionality 4.1.23.3. Removing files from TLS Termination Expand section "4.1.23.3. Removing files from TLS Termination" Collapse section "4.1.23.3. Removing files from TLS Termination" 4.1.23.3.1. Removing a certificate 4.1.24. Upstream 4.1.25. Upstream Connection Expand section "4.1.25. Upstream Connection" Collapse section "4.1.25. Upstream Connection" 4.1.25.1. Configuring Upstream Connection in your policy chain Expand section "4.1.25.1. Configuring Upstream Connection in your policy chain" Collapse section "4.1.25.1. Configuring Upstream Connection in your policy chain" 4.1.25.1.1. Configuring the policy 4.1.26. Upstream Mutual TLS Expand section "4.1.26. Upstream Mutual TLS" Collapse section "4.1.26. Upstream Mutual TLS" 4.1.26.1. Configuring Upstream Mutual TLS in your policy chain 4.1.27. URL Rewriting Expand section "4.1.27. URL Rewriting" Collapse section "4.1.27. URL Rewriting" 4.1.27.1. Commands for rewriting the path 4.1.27.2. Commands for rewriting the query string 4.1.28. URL Rewriting with Captures 4.2. Enabling a policy in the Admin Portal 4.3. Creating custom APIcast policies 4.4. Adding custom policies to APIcast Expand section "4.4. Adding custom policies to APIcast" Collapse section "4.4. Adding custom policies to APIcast" 4.4.1. Adding custom policies to the APIcast deployments 4.4.2. Adding custom policies to the embedded APIcast 4.4.3. Adding custom policies to APIcast on another OpenShift Container Platform 4.5. Creating a policy chain in 3scale 4.6. Creating a policy chain JSON configuration file 5. Integrating a policy chain with APIcast native deployments Expand section "5. Integrating a policy chain with APIcast native deployments" Collapse section "5. Integrating a policy chain with APIcast native deployments" 5.1. Using variables and filters in policies 6. Transforming 3scale message content using policy extensions in Fuse Expand section "6. Transforming 3scale message content using policy extensions in Fuse" Collapse section "6. Transforming 3scale message content using policy extensions in Fuse" 6.1. Integrating APIcast with Apache Camel transformations in Fuse 6.2. Configuring an APIcast policy extension created using Apache Camel in Fuse on OpenShift 7. APIcast environment variables 8. Configuring APIcast for better performance Expand section "8. Configuring APIcast for better performance" Collapse section "8. Configuring APIcast for better performance" 8.1. General guidelines 8.2. Default caching 8.3. Asynchronous reporting threads 8.4. 3scale Batcher policy 9. Exposing 3scale APIcast Metrics to Prometheus Expand section "9. Exposing 3scale APIcast Metrics to Prometheus" Collapse section "9. Exposing 3scale APIcast Metrics to Prometheus" 9.1. About Prometheus Expand section "9.1. About Prometheus" Collapse section "9.1. About Prometheus" 9.1.1. Prometheus queries 9.2. APIcast integration with Prometheus Expand section "9.2. APIcast integration with Prometheus" Collapse section "9.2. APIcast integration with Prometheus" 9.2.1. Additional options 9.3. OpenShift environment variables for 3scale APIcast 9.4. 3scale APIcast metrics exposed to Prometheus II. API versioning Expand section "II. API versioning" Collapse section "II. API versioning" 10. API Versioning Expand section "10. API Versioning" Collapse section "10. API Versioning" 10.1. Goal 10.2. Prerequisites 10.3. URL versioning 10.4. Endpoint versioning 10.5. Custom header versioning III. API authentication Expand section "III. API authentication" Collapse section "III. API authentication" 11. Authentication patterns Expand section "11. Authentication patterns" Collapse section "11. Authentication patterns" 11.1. Supported authentication patterns 11.2. Setting up authentication patterns Expand section "11.2. Setting up authentication patterns" Collapse section "11.2. Setting up authentication patterns" 11.2.1. Select the authentication mode for your service 11.2.2. Select the Authentication mode you want to use 11.2.3. Ensure your API accepts the correct types of credentials 11.2.4. Create an application to test credentials 11.3. Standard authentication patterns Expand section "11.3. Standard authentication patterns" Collapse section "11.3. Standard authentication patterns" 11.3.1. API key 11.3.2. App_ID and App_Key pair 11.3.3. OpenID Connect 11.4. Referrer filtering 12. OpenID Connect integration Expand section "12. OpenID Connect integration" Collapse section "12. OpenID Connect integration" 12.1. JWT verification and parsing by APIcast 12.2. Client credentials synchronization by zync-que 12.3. Configure Red Hat Single Sign-On integration Expand section "12.3. Configure Red Hat Single Sign-On integration" Collapse section "12.3. Configure Red Hat Single Sign-On integration" 12.3.1. Configuring zync-que to use custom CA certificates 12.3.2. Configure Red Hat Single Sign-On 12.3.3. Configure 3scale 12.4. Configure HTTP integration with third-party Identity Providers Expand section "12.4. Configure HTTP integration with third-party Identity Providers" Collapse section "12.4. Configure HTTP integration with third-party Identity Providers" 12.4.1. Prerequisites 12.4.2. Procedure 12.4.3. Zync REST API example Expand section "12.4.3. Zync REST API example" Collapse section "12.4.3. Zync REST API example" 12.4.3.1. Prerequisites 12.4.3.2. Creating, updating and deleting clients 12.4.3.3. Payload 12.4.3.4. Using OAuth2 authentication 12.5. OAuth 2.0 supported flows Expand section "12.5. OAuth 2.0 supported flows" Collapse section "12.5. OAuth 2.0 supported flows" 12.5.1. How OAuth 2.0 supported flows work 12.5.2. Configuring OAuth 2.0 supported flows 12.6. Test the integration Expand section "12.6. Test the integration" Collapse section "12.6. Test the integration" 12.6.1. Test the client synchronization 12.6.2. Test the API authorization flow 12.7. Example of the integration Legal Notice Settings Close Language: 简体中文 日本語 English Language: 简体中文 日本語 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF Language and Page Formatting Options Language: 简体中文 日本語 English Language: 简体中文 日本語 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF Part I. The API gateway Previous Next