Added a comment about allowing the http authorization headers to upstream, necessary in an istio meshConfig if there are proxy providers which inject http basic auth headers. Signed-off-by: Wessel Valkenburg (prevue.ch) <116259817+valkenburg-prevue-ch@users.noreply.github.com>
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
Set the following settings on the _IstioOperator_ resource:
 | 
						|
 | 
						|
```yaml
 | 
						|
apiVersion: install.istio.io/v1alpha1
 | 
						|
kind: IstioOperator
 | 
						|
metadata:
 | 
						|
    name: istio
 | 
						|
    namespace: istio-system
 | 
						|
spec:
 | 
						|
    meshConfig:
 | 
						|
        extensionProviders:
 | 
						|
            - name: "authentik"
 | 
						|
              envoyExtAuthzHttp:
 | 
						|
                  # Replace with <service-name>.<namespace>.svc.cluster.local
 | 
						|
                  service: "ak-outpost-authentik-embedded-outpost.authentik.svc.cluster.local"
 | 
						|
                  port: "9000"
 | 
						|
                  pathPrefix: "/outpost.goauthentik.io/auth/envoy"
 | 
						|
                  headersToDownstreamOnAllow:
 | 
						|
                      - cookie
 | 
						|
                  headersToUpstreamOnAllow:
 | 
						|
                      - set-cookie
 | 
						|
                      - x-authentik-*
 | 
						|
                      # Add authorization headers to the allow list if you need proxy providers which
 | 
						|
                      # send a custom HTTP-Basic Authentication header based on values from authentik
 | 
						|
                      # - authorization
 | 
						|
                  includeRequestHeadersInCheck:
 | 
						|
                      - cookie
 | 
						|
```
 | 
						|
 | 
						|
Afterwards, you can create _AuthorizationPolicy_ resources to protect your applications like this:
 | 
						|
 | 
						|
```yaml
 | 
						|
apiVersion: security.istio.io/v1beta1
 | 
						|
kind: AuthorizationPolicy
 | 
						|
metadata:
 | 
						|
    name: authentik-policy
 | 
						|
    namespace: istio-system
 | 
						|
spec:
 | 
						|
    selector:
 | 
						|
        matchLabels:
 | 
						|
            istio: ingressgateway
 | 
						|
    action: CUSTOM
 | 
						|
    provider:
 | 
						|
        name: "authentik"
 | 
						|
    rules:
 | 
						|
        - to:
 | 
						|
              - operation:
 | 
						|
                    hosts:
 | 
						|
                        # You can create a single resource and list all Domain names here, or create multiple resources
 | 
						|
                        - "app.company"
 | 
						|
```
 |