Skip to content

Need option for Converting user's ID to uppercase/lowercase in group LDAP Sync #12169

@mgjadoul

Description

@mgjadoul

In an Classical Enterprise using Active Directory + ADAM for authentication and authorization, login are case insensitive. In Unix / openshift the UID are case sensitive apparently. In AD, there is no guarantee if the ID will be upper case, lower case or a mix. There is also no guarantee that it won't change later. We implemented an Apache config for authentication in Kerberos and including normalizing the login to uppercase. This resolved the issue for authentication.

Now we would like to implement group syncronization and the issue is basically the same issue. The UID we retrieve (from ADAM) is case insensitive and there are no guarantee the the case match the case in AD and in any case it is not always uppercase.
We need an option in oc adm group sync ... to allow converting uid to uppercase.

The output is currently:

apiVersion: v1
items:
- apiVersion: v1
  kind: Group
  metadata:
    annotations:
      openshift.io/ldap.sync-time: 2016-12-06T15:20:5900100
      openshift.io/ldap.uid: CN=G1,OU=myapp,OU=Apps,O=xxx
      openshift.io/ldap.url: ldapvip.xxx.corp:636
    creationTimestamp: null
    labels:
      openshift.io/ldap.host: ldapvip.xxx.corp
    name: G1
  users:
  - USER1
- apiVersion: v1
  kind: Group
  metadata:
    annotations:
      openshift.io/ldap.sync-time: 2016-12-06T15:20:5900100
      openshift.io/ldap.uid: CN=G2,OU=myapp,OU=Apps,O=xxx
      openshift.io/ldap.url: ldapvip.xxx.corp:636
    creationTimestamp: null
    labels:
      openshift.io/ldap.host: ldapvip.xxx.corp
    name: G2
  users:
  - USER2
  - user3
- kind: List
metadata: {}

Notice the user "user3" in lower case. We need an option to get the same output but with all users in upper case.

The lower case user does not exists in openshift:

$ oc get user USER3
NAME      UID                                    FULL NAME   IDENTITIES
USER3   5f9487ba-b716-11e6-9a1c-68b5996b6fee               requestheader:USER3
$ oc get user user3
Error from server: users "user3" not found

Where are you experiencing the behavior? What environment?

PROD in enterprise with ActiveDirectory Authentication and AD LDS authorisation.

Version
oc v3.2.1.17
kubernetes v1.2.0-36-g4a3f9c5

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions