$ oc edit <hosted_cluster_name> -n <hosted_cluster_namespace>
The OpenShift Container Platform control plane includes a built-in OAuth server. You can obtain OAuth access tokens to authenticate to the OpenShift Container Platform API. After you create your hosted cluster, you can configure OAuth by specifying an identity provider.
You can configure the internal OAuth server for your hosted cluster by using an OpenID Connect identity provider (oidc
). You can also configure OAuth for the other supported identity providers such as htpasswd
, keystone
, ldap
, basic-authentication
, request-header
, github
, gitlab
, and google
. Adding any identity provider in the OAuth configuration removes the default kubeadmin
user provider.
You created your hosted cluster.
Edit the HostedCluster
custom resource (CR) on the hosting cluster by running the following command:
$ oc edit <hosted_cluster_name> -n <hosted_cluster_namespace>
Add the OAuth configuration in the HostedCluster
CR by using the following example:
apiVersion: hypershift.openshift.io/v1alpha1
kind: HostedCluster
metadata:
name: <hosted_cluster_name> (1)
namespace: <hosted_cluster_namespace> (2)
spec:
configuration:
oauth:
identityProviders:
- openID: (3)
claims:
email: (4)
- <email_address>
name: (5)
- <display_name>
preferredUsername:
- <preferred_username> (6)
clientID: <client_id> (7)
clientSecret:
name: <client_id_secret_name> (8)
issuer: https://example.com/identity (9)
mappingMethod: lookup (10)
name: IAM
type: OpenID
1 | Specifies your hosted cluster name. |
2 | Specifies your hosted cluster namespace. |
3 | This provider name is prefixed to the value of the identity claim to form an identity name. The provider name is also used to build the redirect URL. |
4 | Defines a list of attributes to use as the email address. |
5 | Defines a list of attributes to use as a display name. |
6 | Defines a list of attributes to use as a preferred user name. |
7 | Defines the ID of a client registered with the OpenID provider. You must allow the client to redirect to the https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name> URL. |
8 | Defines a secret of a client registered with the OpenID provider. |
9 | The Issuer Identifier described in the OpenID spec. You must use https without query or fragment component. |
10 | Defines a mapping method that controls how mappings are established between identities of this provider and User objects. |
Save the file to apply the changes.
To know more about supported identity providers, see "Understanding identity provider configuration" in Authentication and authorization.