Bluemix API Management, secure the API implementation

79 Views Asked by At

I want to expose a REST-ful service as an API to the outside world on Bluemix Public. Therefore I have a liberty app, containing a REST service implemented in JAX-RS.

Additionally I leverage the "API Management Service" to secure that app, via Plans, Authentication etc. So thanks to the API Management Gateway I have a secure proxy to my service exposed.

Yet, the app that provides my service remains accessible to the outside via the Bluemix route. So, it can be called without any credentials or whatsoever.

Is there a way, to only have my API Management gateway access the service implementation app?

One approach would be to delete the route of the service implementing app, but how would you then bind the API Management to the service?

Happy to hear your thoughts or alternative solutions.

1

There are 1 best solutions below

0
On BEST ANSWER

If your API is running on Bluemix Public as a Cloud Foundry application, there is currently not a way to create a route such that it is only accessible by the API management service, but not the the outside world. You should implement security within your jax-rs application (easy to with web.xml security-constraint) and add those credentials to APIm service if you still want to use APIm to get monitoring, throttling, discovery, etc.

Another option would be to deploy the application in a VM and then use Secure Gateway to connect to it: https://github.com/IBM-Bluemix/onprem-integration-demo