[BUG] Windows IIS integrated auth does not work with LoadBalancer
and ClusterIP
services within Rancher
#219
Labels
LoadBalancer
and ClusterIP
services within Rancher
#219
Rancher Server Setup
Information about the Cluster
User Information
Describe the bug
While creating test workloads for the Rancher gMSA CCG Plugin experimental feature based off of existing Microsoft documentation for the AKS CCG solution, I found that IIS integrated windows authentication did not work with service types other than
NodePort
.IIS (Internet Information Services) is a Windows application that is used as a base layer for web services running on Windows servers. It offers integrated authentication with Active Directory allowing users to use a single set of credentials to login to any IIS application connected to an Active Directory Domain.
It was found during testing that logging into an IIS application exposed by a
ClusterIP
orLoadBalancer
service type would result in the integrated authentication login process failing to communicate with the Active Directory domain controller. This is likely due to NTLM headers being stripped from the request. This issue resulted in the login process exiting before the user provided any credentials.This issue does not reproduce when using a
NodePort
service (i.e. directory connecting to the workload)To Reproduce
windows/terraform/azure_rke2_cluster/examples/gmsa.tfvars
example to automatically Install the Rancher gMSA CCG Plugin feature onto the downstream clusternamespace
,spec.template.securityContext.windowsOptions.gmsaCredentialSpecName
are properly configuredTest manifest
Result
Accessing the
LoadBalancer
service results in the UI appearing, and a login prompt appearing, but will never properly authenticate with ADExpected Result
Proper login when using the proper username and password
Additional context
This issue does not appear when using a
NodePort
service, so it seems some properties of the login request are being stripped when routed through Rancher.There may be workarounds or configurations which allow this process to work as expected, and if so the product of this issue should be documentation
The text was updated successfully, but these errors were encountered: