Today we don't have any security engine OOTB with Kogito. The idea of this research is to verify a possibility to have a custom ingress controller deployed in the cluster that will authenticate and authorize external user calls (via routes). The token should be given by Openshift/Kubernetes authenticated users. The following diagram illustrates this idea:
External Calls Calls without Auth Calls without Auth
With Kube/OpenShift
Token +--------------+ +---------------+ +--------------+
| | | | | |
+-----------> | custom +------------->+ service A +----------->+ service B |
| ingress | | | | |
| | | | | |
+--------------+ +---------------+ +--------------+
|
|
|
|
| +--------------+
| Authenticate/Authorize| |
+---------------------->+ Kube API |
| |
+--------------+
The Operator will also deploy a custom role like kogito-service-role to authorize users.
So we could implement this small feature to at least have a security mechanism within the architecture for 0.3. Inner service calls won't use the custom ingress, so won't be authenticated. Users within the cluster network could call those services.