From e1bc82d2faa6a45dd935e7f0b52fc067a49e256d Mon Sep 17 00:00:00 2001 From: Dean Lewis <22192242+saintdle@users.noreply.github.com> Date: Thu, 30 Mar 2023 16:08:29 +0100 Subject: [PATCH] Day 61 - authorization content --- 2023/day61.md | 57 +++++++++++++++++- .../oc login.jpg | Bin 0 -> 40208 bytes 2 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 2023/images/Day61 - Authentication - Role-Based Access Control and Auditing in Red Hat OpenShift/oc login.jpg diff --git a/2023/day61.md b/2023/day61.md index ab126bf..201d64f 100644 --- a/2023/day61.md +++ b/2023/day61.md @@ -33,11 +33,64 @@ In short, when a user logs in to the OpenShift cluster, OpenShift will contact t - LDAP server URL (e.g., ldap://ldap.example.com:389) - Bind DN and password for the LDAP server (e.g., cn=admin,dc=example,dc=com and password) - - The password needs to be [base64](https://en.wikipedia.org/wiki/Base64) encoded + - This password will be [base64](https://en.wikipedia.org/wiki/Base64) encoded in the secret. - User search base and filter (e.g., ou=users,dc=example,dc=com and (uid=%u)) - Group search base and filter (e.g., ou=groups,dc=example,dc=com and (member=%u)) -2. Create a secret that contains the ```bindPassword```, i.e the password of the domain account used to connect to the LDAP server for the user lookups. +2. Create a secret that contains the ```bindPassword```, i.e the password of the domain account used to connect to the LDAP server for the user lookups. + +````sh +$ oc create secret generic ldap-secret --from-literal=bindPassword= -n openshift-config + +# my example +oc create secret generic ldap-secret --from-literal=bindPassword=VMware1! -n openshift-config +```` + +3. Now we apply the configuration that tells the OAuth service about our LDAP server and how to connect to it. I have not performed the extra steps to save the CA cert from the LDAP Server, as I am using the insecure LDAP port 389. + +Save the below file as ```ldap-provider.yaml```, change for your user details, and apply to your cluster using ```oc apply -f ldap-provider.yaml```. + +````yaml +apiVersion: config.openshift.io/v1 +kind: OAuth +metadata: + name: cluster +spec: + identityProviders: + - name: ldapidp + mappingMethod: claim + type: LDAP + ldap: + attributes: + id: + - name + name: + - cn + preferredUsername: + - sAMAccountName + bindDN: "CN=svc_openshift,OU=Services,OU=Accounts,DC=simon,DC=local" + bindPassword: + name: ldap-secret + insecure: true + url: "ldap://sc-step-01.simon.local:389/CN=Users,DC=simon,DC=local?sAMAccountName" +```` + +Some notes about the above configuration; +- attributes - A first non-empty attribute is used. At least one attribute is required. If none of the listed attribute have a value, authentication fails. Defined attributes are retrieved as raw, allowing for binary values to be used. + - Ensure the values provided appear as attributes in your domain controller, this is usually a cause of failures. +- bindDN - DN to use to bind during the search phase. Must be set if bindPassword is defined. +- insecure - When true, no TLS connection is made to the server. When false, ldaps:// URLs connect using TLS, and ldap:// URLs are upgraded to TLS. +- url - ensure you add the port, and that your search OU/CN path is correct, as well as the [search filter attribute](https://docs.openshift.com/container-platform/4.12/authentication/identity_providers/configuring-ldap-identity-provider.html#identity-provider-about-ldap_configuring-ldap-identity-provider), in this example it is ```sAMAccountName``` + +> If a CR does not exist, oc apply creates a new CR and might trigger the following warning: Warning: oc apply should be used on resources created by either oc create --save-config or oc apply. In this case you can safely ignore this warning. + + +4. Now you can login to the OpenShift cluster as an LDAP user either via the ```oc login``` CLI command, or via the Console UI. You can logout with ```oc logout``` + +![oc login](/2023/images/Day61%20-%20Authentication%20-%20Role-Based%20Access%20Control%20and%20Auditing%20in%20Red%20Hat%20OpenShift/oc%20login.jpg) + +Final note on this subject which caught me out. Once you log out, you will remain in the ```oc context``` of that user you've logged in, and if you view your ```KUBECONFIG``` file, you will see that user's context has now been added. So for me, I wanted to get back to using my kubeadmin account, but I had to run ```oc config use-context admin``` command. + ## What is Role-Based Access Control (RBAC)? RBAC is a method of managing permissions by assigning roles to users, groups, or service accounts. In OpenShift, roles are sets of rules that define the actions (verbs) allowed on specific resources (API objects). By granting roles to users or groups, you control their access to cluster resources based on the principle of least privilege, ensuring that users have only the necessary permissions to perform their tasks. Here, Red Hat OpenShift is just consuming the native features of Kubernetes, concerning RBAC. However, it's important to understand this area, as it then features in the enterprise features OpenShift brings, such as Projects and pipelines to name but a few. diff --git a/2023/images/Day61 - Authentication - Role-Based Access Control and Auditing in Red Hat OpenShift/oc login.jpg b/2023/images/Day61 - Authentication - Role-Based Access Control and Auditing in Red Hat OpenShift/oc login.jpg new file mode 100644 index 0000000000000000000000000000000000000000..43db9eeceba1e20c485c61801b121760927e9caf GIT binary patch literal 40208 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