Skip to content

Commit 3a7b2ae

Browse files
authored
Merge pull request #39594 from bergerhoffer/OSDOCS-2973
Adding an about module for all IDPs
2 parents e3eeb07 + 50e8043 commit 3a7b2ae

31 files changed

+181
-195
lines changed

_topic_maps/_topic_map.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -926,7 +926,7 @@ Topics:
926926
- Name: Configuring identity providers
927927
Dir: identity_providers
928928
Topics:
929-
- Name: Configuring an HTPasswd identity provider
929+
- Name: Configuring an htpasswd identity provider
930930
File: configuring-htpasswd-identity-provider
931931
Distros: openshift-enterprise,openshift-origin
932932
- Name: Configuring a Keystone identity provider

authentication/identity_providers/configuring-basic-authentication-identity-provider.adoc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ include::_attributes/common-attributes.adoc[]
66

77
toc::[]
88

9-
Configure a `basic-authentication` identity provider for users to log in to
10-
{product-title} with credentials validated against a remote identity provider.
11-
Basic authentication is a generic back-end integration mechanism.
9+
Configure the `basic-authentication` identity provider for users to log in to {product-title} with credentials validated against a remote identity provider. Basic authentication is a generic back-end integration mechanism.
1210

1311
include::modules/identity-provider-overview.adoc[leveloffset=+1]
1412

authentication/identity_providers/configuring-github-identity-provider.adoc

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,21 @@ include::_attributes/common-attributes.adoc[]
66

77
toc::[]
88

9-
Configure a `github` identity provider to validate user names and passwords
10-
against GitHub or GitHub Enterprise's OAuth authentication server. OAuth
11-
facilitates a token exchange flow between
12-
{product-title} and GitHub or GitHub Enterprise.
9+
Configure the `github` identity provider to validate user names and passwords against GitHub or GitHub Enterprise's OAuth authentication server. OAuth facilitates a token exchange flow between {product-title} and GitHub or GitHub Enterprise.
1310

14-
You can use the GitHub integration to connect to either GitHub or GitHub
15-
Enterprise. For GitHub Enterprise integrations, you must provide the `hostname`
16-
of your instance and can optionally provide a `ca` certificate bundle to use in
17-
requests to the server.
11+
You can use the GitHub integration to connect to either GitHub or GitHub Enterprise. For GitHub Enterprise integrations, you must provide the `hostname` of your instance and can optionally provide a `ca` certificate bundle to use in requests to the server.
1812

1913
[NOTE]
2014
====
2115
The following steps apply to both GitHub and GitHub Enterprise unless noted.
2216
====
2317

24-
Configuring GitHub authentication allows users to log in to {product-title} with
25-
their GitHub credentials. To prevent anyone with any GitHub user ID from logging
26-
in to your {product-title} cluster, you can restrict access to only those in
27-
specific GitHub organizations.
28-
2918
ifdef::openshift-origin,openshift-enterprise,openshift-webscale[]
3019
include::modules/identity-provider-overview.adoc[leveloffset=+1]
3120
endif::openshift-origin,openshift-enterprise,openshift-webscale[]
3221

22+
include::modules/identity-provider-github-about.adoc[leveloffset=+1]
23+
3324
include::modules/identity-provider-registering-github.adoc[leveloffset=+1]
3425

3526
ifdef::openshift-enterprise,openshift-webscale,openshift-origin[]

authentication/identity_providers/configuring-gitlab-identity-provider.adoc

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,14 @@ include::_attributes/common-attributes.adoc[]
66

77
toc::[]
88

9-
Configure a `gitlab` identity provider to use
10-
link:https://gitlab.com/[GitLab.com] or any other GitLab instance as an identity
11-
provider. If you use GitLab version 7.7.0 to 11.0, you connect using the
12-
link:http://doc.gitlab.com/ce/integration/oauth_provider.html[OAuth integration].
13-
If you use GitLab version 11.1 or later, you can use
14-
link:https://docs.gitlab.com/ce/integration/openid_connect_provider.html[OpenID Connect] (OIDC)
15-
to connect instead of OAuth.
16-
9+
Configure the `gitlab` identity provider using link:https://gitlab.com/[GitLab.com] or any other GitLab instance as an identity provider.
1710

1811
ifdef::openshift-origin,openshift-enterprise,openshift-webscale[]
1912
include::modules/identity-provider-overview.adoc[leveloffset=+1]
2013
endif::openshift-origin,openshift-enterprise,openshift-webscale[]
2114

15+
include::modules/identity-provider-gitlab-about.adoc[leveloffset=+1]
16+
2217
include::modules/identity-provider-secret.adoc[leveloffset=+1]
2318

2419
include::modules/identity-provider-config-map.adoc[leveloffset=+1]

authentication/identity_providers/configuring-google-identity-provider.adoc

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,14 @@ include::_attributes/common-attributes.adoc[]
66

77
toc::[]
88

9-
Configure a `google` identity provider using
10-
link:https://developers.google.com/identity/protocols/OpenIDConnect[Google's OpenID Connect integration].
11-
12-
[NOTE]
13-
====
14-
Using Google as an identity provider requires users to get a token using
15-
`<master>/oauth/token/request` to use with command-line tools.
16-
====
17-
18-
[WARNING]
19-
====
20-
Using Google as an identity provider allows any Google user to authenticate to your server.
21-
You can limit authentication to members of a specific hosted domain with the
22-
`hostedDomain` configuration attribute.
23-
====
9+
Configure the `google` identity provider using the link:https://developers.google.com/identity/protocols/OpenIDConnect[Google OpenID Connect integration].
2410

2511
ifdef::openshift-origin,openshift-enterprise,openshift-webscale[]
2612
include::modules/identity-provider-overview.adoc[leveloffset=+1]
2713
endif::openshift-origin,openshift-enterprise,openshift-webscale[]
2814

15+
include::modules/identity-provider-google-about.adoc[leveloffset=+1]
16+
2917
ifdef::openshift-enterprise,openshift-webscale,openshift-origin[]
3018
include::modules/identity-provider-secret.adoc[leveloffset=+1]
3119

authentication/identity_providers/configuring-htpasswd-identity-provider.adoc

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,39 @@
11
:_content-type: ASSEMBLY
22
[id="configuring-htpasswd-identity-provider"]
3-
= Configuring an HTPasswd identity provider
3+
= Configuring an htpasswd identity provider
44
include::_attributes/common-attributes.adoc[]
55
:context: configuring-htpasswd-identity-provider
66

77
toc::[]
88

9-
[id="identity-provider-overview_{context}"]
10-
== About identity providers in {product-title}
9+
Configure the `htpasswd` identity provider to allow users to log in to {product-title} with credentials from an htpasswd file.
1110

12-
By default, only a `kubeadmin` user exists on your cluster. To specify an
13-
identity provider, you must create a Custom Resource (CR) that describes
14-
that identity provider and add it to the cluster.
11+
To define an htpasswd identity provider, perform the following tasks:
1512

16-
[NOTE]
17-
====
18-
{product-title} user names containing `/`, `:`, and `%` are not supported.
19-
====
13+
. xref:../../authentication/identity_providers/configuring-htpasswd-identity-provider.adoc#creating-htpasswd-file[Create an `htpasswd` file] to store the user and password information.
14+
. xref:../../authentication/identity_providers/configuring-htpasswd-identity-provider.adoc#identity-provider-creating-htpasswd-secret_{context}[Create
15+
a secret] to represent the `htpasswd` file.
16+
. xref:../../authentication/identity_providers/configuring-htpasswd-identity-provider.adoc#identity-provider-htpasswd-CR_{context}[Define an htpasswd identity provider resource] that references the secret.
17+
. xref:../../authentication/identity_providers/configuring-htpasswd-identity-provider.adoc#add-identity-provider_{context}[Apply the resource] to
18+
the default OAuth configuration to add the identity provider.
2019

21-
To define an HTPasswd identity provider you must perform the
22-
following steps:
20+
ifdef::openshift-origin,openshift-enterprise,openshift-webscale[]
21+
include::modules/identity-provider-overview.adoc[leveloffset=+1]
22+
endif::openshift-origin,openshift-enterprise,openshift-webscale[]
2323

24-
. Create an `htpasswd` file to store the user and password information.
25-
Instructions are provided for
26-
xref:../../authentication/identity_providers/configuring-htpasswd-identity-provider.adoc#identity-provider-creating-htpasswd-file-linux_{context}[Linux]
27-
and
28-
xref:../../authentication/identity_providers/configuring-htpasswd-identity-provider.adoc#identity-provider-creating-htpasswd-file-windows_{context}[Windows].
29-
. xref:../../authentication/identity_providers/configuring-htpasswd-identity-provider.adoc#identity-provider-creating-htpasswd-secret_{context}[Create
30-
an {product-title} secret to represent the `htpasswd` file].
31-
. xref:../../authentication/identity_providers/configuring-htpasswd-identity-provider.adoc#identity-provider-htpasswd-CR_{context}[Define the HTPasswd identity provider resource].
32-
. xref:../../authentication/identity_providers/configuring-htpasswd-identity-provider.adoc#add-identity-provider_{context}[Apply the resource to
33-
the default OAuth configuration].
24+
include::modules/identity-provider-htpasswd-about.adoc[leveloffset=+1]
25+
26+
[id="creating-htpasswd-file"]
27+
== Creating the htpasswd file
28+
29+
See one of the following sections for instructions about how to create the htpasswd file:
30+
31+
* xref:../../authentication/identity_providers/configuring-htpasswd-identity-provider.adoc#identity-provider-creating-htpasswd-file-linux_configuring-htpasswd-identity-provider[Creating an htpasswd file using Linux]
32+
* xref:../../authentication/identity_providers/configuring-htpasswd-identity-provider.adoc#identity-provider-creating-htpasswd-file-windows_configuring-htpasswd-identity-provider[Creating an htpasswd file using Windows]
3433

35-
include::modules/identity-provider-creating-htpasswd-file-linux.adoc[leveloffset=+1]
34+
include::modules/identity-provider-creating-htpasswd-file-linux.adoc[leveloffset=+2]
3635

37-
include::modules/identity-provider-creating-htpasswd-file-windows.adoc[leveloffset=+1]
36+
include::modules/identity-provider-creating-htpasswd-file-windows.adoc[leveloffset=+2]
3837

3938
include::modules/identity-provider-htpasswd-secret.adoc[leveloffset=+1]
4039

authentication/identity_providers/configuring-keystone-identity-provider.adoc

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,12 @@ include::_attributes/common-attributes.adoc[]
66

77
toc::[]
88

9-
Configure the `keystone` identity provider to integrate
10-
your {product-title} cluster with Keystone to enable shared authentication with
11-
an OpenStack Keystone v3 server configured to store users in an internal
12-
database. This configuration allows users to log in to {product-title} with
13-
their Keystone credentials.
14-
15-
http://docs.openstack.org/developer/keystone/[Keystone] is an OpenStack project
16-
that provides identity, token, catalog, and policy services.
17-
18-
You can configure the integration with Keystone so that the new {product-title}
19-
users are based on either the Keystone user names or unique Keystone IDs.
20-
With both methods, users log in by entering their Keystone user name and
21-
password. Basing the {product-title} users off of the Keystone ID is more
22-
secure. If you delete a Keystone user and create a new Keystone user with that
23-
user name, the new user might have access to the old user's resources.
9+
Configure the `keystone` identity provider to integrate your {product-title} cluster with Keystone to enable shared authentication with an OpenStack Keystone v3 server configured to store users in an internal database. This configuration allows users to log in to {product-title} with their Keystone credentials.
2410

2511
include::modules/identity-provider-overview.adoc[leveloffset=+1]
2612

13+
include::modules/identity-provider-keystone-about.adoc[leveloffset=+1]
14+
2715
include::modules/identity-provider-secret-tls.adoc[leveloffset=+1]
2816

2917
include::modules/identity-provider-config-map.adoc[leveloffset=+1]

authentication/identity_providers/configuring-ldap-identity-provider.adoc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ include::_attributes/common-attributes.adoc[]
66

77
toc::[]
88

9-
Configure the `ldap` identity provider to validate user names and passwords
10-
against an LDAPv3 server, using simple bind authentication.
9+
Configure the `ldap` identity provider to validate user names and passwords against an LDAPv3 server, using simple bind authentication.
1110

1211
ifdef::openshift-origin,openshift-enterprise,openshift-webscale[]
1312
include::modules/identity-provider-overview.adoc[leveloffset=+1]

authentication/identity_providers/configuring-oidc-identity-provider.adoc

Lines changed: 3 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -6,85 +6,14 @@ include::_attributes/common-attributes.adoc[]
66

77
toc::[]
88

9-
Configure an `oidc` identity provider to integrate with an OpenID Connect
10-
identity provider using an
11-
link:http://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth[Authorization Code Flow].
12-
13-
ifdef::openshift-origin[]
14-
You can link:https://www.keycloak.org/docs/latest/server_admin/index.html#openshift[configure a Keycloak] server as an OpenID
15-
Connect identity provider for {product-title}.
16-
endif::[]
17-
18-
ifdef::openshift-enterprise,openshift-webscale[]
19-
You can
20-
link:https://access.redhat.com/documentation/en-us/red_hat_single_sign-on/[configure Red Hat Single Sign-On]
21-
as an OpenID Connect identity provider for {product-title}.
22-
endif::[]
23-
24-
[IMPORTANT]
25-
====
26-
The Authentication Operator in {product-title} requires that the configured
27-
OpenID Connect identity provider implements the
28-
link:https://openid.net/specs/openid-connect-discovery-1_0.html[OpenID Connect Discovery]
29-
specification.
30-
====
31-
32-
[NOTE]
33-
====
34-
`ID Token` and `UserInfo` decryptions are not supported.
35-
====
36-
37-
By default, the `openid` scope is requested. If required, extra scopes can be
38-
specified in the `extraScopes` field.
39-
40-
Claims are read from the JWT `id_token` returned from the OpenID identity
41-
provider and, if specified, from the JSON returned by the `UserInfo` URL.
42-
43-
At least one claim must be configured to use as the user's identity. The
44-
standard identity claim is `sub`.
45-
46-
You can also indicate which claims to use as the user's preferred user name,
47-
display name, and email address. If multiple claims are specified, the first one
48-
with a non-empty value is used. The standard claims are:
49-
50-
[cols="1,2",options="header"]
51-
|===
52-
53-
|Claim
54-
|Description
55-
56-
|`sub`
57-
|Short for "subject identifier." The remote identity for the user at the
58-
issuer.
59-
60-
|`preferred_username`
61-
|The preferred user name when provisioning a user. A
62-
shorthand name that the user wants to be referred to as, such as `janedoe`. Typically
63-
a value that corresponding to the user's login or username in the authentication
64-
system, such as username or email.
65-
66-
|`email`
67-
|Email address.
68-
69-
|`name`
70-
|Display name.
71-
72-
|===
73-
74-
See the
75-
link:http://openid.net/specs/openid-connect-core-1_0.html#StandardClaims[OpenID claims documentation]
76-
for more information.
77-
78-
[NOTE]
79-
====
80-
Using an OpenID Connect identity provider requires users to get a token using
81-
`<master>/oauth/token/request` to use with command-line tools.
82-
====
9+
Configure the `oidc` identity provider to integrate with an OpenID Connect identity provider using an link:http://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth[Authorization Code Flow].
8310

8411
ifdef::openshift-origin,openshift-enterprise,openshift-webscale[]
8512
include::modules/identity-provider-overview.adoc[leveloffset=+1]
8613
endif::openshift-origin,openshift-enterprise,openshift-webscale[]
8714

15+
include::modules/identity-provider-oidc-about.adoc[leveloffset=+1]
16+
8817
ifdef::openshift-enterprise[]
8918
include::modules/identity-provider-oidc-supported.adoc[leveloffset=+1]
9019
endif::openshift-enterprise[]

authentication/identity_providers/configuring-request-header-identity-provider.adoc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ include::_attributes/common-attributes.adoc[]
66

77
toc::[]
88

9-
Configure a `request-header` identity provider to identify users from request
10-
header values, such as `X-Remote-User`. It is typically used in combination with
11-
an authenticating proxy, which sets the request header value.
9+
Configure the `request-header` identity provider to identify users from request header values, such as `X-Remote-User`. It is typically used in combination with an authenticating proxy, which sets the request header value.
1210

1311
include::modules/identity-provider-overview.adoc[leveloffset=+1]
1412

0 commit comments

Comments
 (0)