kaldesai commented on code in PR #614:
URL: 
https://github.com/apache/incubator-kie-kogito-docs/pull/614#discussion_r1568818429


##########
serverlessworkflow/modules/ROOT/pages/cloud/custom-ingress-authz.adoc:
##########
@@ -0,0 +1,340 @@
+= Using an Ingress to add Authentication and Authorization to Workflow 
Applications
+:compat-mode!:
+// Metadata:
+:description: Securing workflow applications via a 
+:keywords: cloud, kubernetes, docker, image, podman, openshift, oidc, 
keycloak, apisix
+// links
+:oidc_spec_url: https://openid.net/specs/openid-connect-core-1_0.html
+:kubernetes_svc_url: 
https://kubernetes.io/docs/concepts/services-networking/service/
+:kubernetes_networkpolicy_url: 
https://kubernetes.io/docs/concepts/services-networking/network-policies/
+:sonataflow_apisix_example_url: 
https://github.com/apache/incubator-kie-kogito-examples/tree/stable/serverless-operator-examples/sonataflow-apisix-oidc
+:keycloak_resource_owner_granttype_url: 
https://www.keycloak.org/docs/23.0.7/securing_apps/#_resource_owner_password_credentials_flow
+:apisix_install_url: 
https://apisix.apache.org/docs/ingress-controller/deployments/minikube/
+
+This document describes how you add an Ingress to a {product_name} workflow to 
handle authentication and authorization use cases.
+
+In the approach outlined in this guide, protect your workflows from anonymous 
access outside the cluster with the link:{oidc_spec_url}[OpenID Connect] 
specification. 
+
+Although the example demonstrated in this document is not meant to be used in 
production, you can use it as a reference to create your own architecture.
+
+== Architecture
+
+The following image illustrates a simplified architecture view of the 
recommended approach for protecting {product_name} workflow endpoints.
+
+image::cloud/apisix-keycloak/ingress-apisix-keycloak.png[]
+
+1. User makes a request with their credentials
+2. APISIX do the JWT token introspection in the OIDC Server (Keycloak)
+3. Keycloak validates the token
+4. APISIX forwards the request to the workflow application
+
+This is a simplified approach for OIDC use cases. In production environments, 
you can tailor your gateway and OIDC server to meet your requirements and scope.
+
+[IMPORTANT]
+====
+This approach only protects the communication via Ingress. Direct calls to the 
workflow application link:{kubernetes_svc_url}[internal service] would be 
anonymous.
+For example, another microservice in the cluster making requests to the 
workflow internal service.
+Make sure to set link:{kubernetes_networkpolicy_url}[Kuberbetes 
NetworkPolicies] to your workflow applications if this is not the desired 
behavior.

Review Comment:
   ```suggestion
   Set link:{kubernetes_networkpolicy_url}[Kuberbetes NetworkPolicies] to your 
workflow applications if this is not the desired behavior.
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to