Skip to content

Commit a7576e5

Browse files
Merge pull request #821 from run-ai/RUN-16860-Added-info-re-editing
RUN-16860-added-info-for-editing-and-viewing
2 parents aed77b7 + 82cfc6c commit a7576e5

File tree

2 files changed

+40
-30
lines changed

2 files changed

+40
-30
lines changed

docs/admin/runai-setup/authentication/sso.md

Lines changed: 37 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Single Sign-On (SSO) is an authentication scheme allowing users to log in with a single ID to other, independent, software systems. SSO solves security issues involving multiple user/password data entries, multiple compliance schemes, etc.
44

5-
Run:ai supports SSO using the [SAML 2.0](https://en.wikipedia.org/wiki/Security_Assertion_Markup_Language){target=_blank} protocol, Open ID Connect [OIDC](https://openid.net/developers/how-connect-works/){target=_blank} and [OpenShift V4](https://en.wikipedia.org/wiki/OpenShift){target=_blank}.
5+
Run:ai supports SSO using the [SAML 2.0](https://en.wikipedia.org/wiki/Security_Assertion_Markup_Language){target=_blank} protocol, Open ID Connect [OIDC](https://openid.net/developers/how-connect-works/){target=_blank} and [OpenShift V4](https://en.wikipedia.org/wiki/OpenShift){target=_blank} (which is based on OIDC).
66

77

88
!!! Caution
@@ -12,34 +12,41 @@ Run:ai supports SSO using the [SAML 2.0](https://en.wikipedia.org/wiki/Security_
1212

1313
*Identity Provider (Idp)*— a system that creates, maintains, and manages identity information. Example IdPs: Google, Keycloak, Salesforce, Auth0.
1414

15-
## SAML Prerequisites
15+
## Prerequisites
16+
17+
For each of the SSO options, there are prerequisites that should be considered.
18+
19+
### SAML 2
1620

1721
**XML Metadata**—you must have an *XML Metadata file* retrieved from your IdP. Upload the file to a web server so that you have a URL to the file. The URL must have the *XML* file extension. For example, to connect using Google, you must create a custom SAML App [here](https://admin.google.com/ac/apps/unified){target=_blank}, download the Metadata file, and upload it to a web server.
1822

19-
## OIDC Prerequisites
23+
### OIDC
2024

2125
* **Discovery URL**—the OpenID server where the content discovery information is published.
2226
* **ClientID**—the ID used to identify the client with the Authorization Server.
2327
* **Client Secret**—a secret password that only the Client and Authorization Server know.
2428

2529

26-
## OpenShift Prerequisites
30+
### OpenShift V4
2731

28-
Before using OpenShift, first define OAuthClient to control various aspects of the OAuth flow, such as redirect URIs and authentication methods to ensure secure and approprpriate access to resources.
32+
Before using OpenShift, first define OAuthClient. The OAuth client interacts with OpenShift’s OAuth server to authenticate users and request access tokens.
2933

3034
To define OAuthClient, follow these steps:
3135

3236
1. Create a new ```OAuthClient``` Kubernetes object with the following content
3337
```
34-
apiVersion: oauth.openshift.io/v1
35-
grantMethod: auto
36-
kind: OAuthClient
37-
metadata:
38-
name: my-client
39-
redirectURIs:
38+
apiVersion: oauth.openshift.io/v1
39+
grantMethod: auto
40+
kind: OAuthClient
41+
metadata:
42+
name: my-client
43+
redirectURIs:
4044
- https://<runai_env_url>/auth/realms/runai/broker/openshift-v4/endpoint
41-
secret: this-is-my-secret
45+
secret: this-is-my-secret
4246
```
47+
Replace `<runai_env_url>` with the URL of your Run:ai platform.
48+
Replace `my-client` and `this-is-my-secret` with client name and secret you have chosen.
49+
4350
2. Run the following command to apply the OAuthClient object to the environment. Create the object on OpenShift cluster where you define your OpenShift IDP:
4451
```
4552
oc apply <file name>
@@ -49,17 +56,17 @@ oc apply <file name>
4956
oc get oauthclient
5057
```
5158

52-
### Additional attribute mappings
59+
## Additional attribute mappings
5360

5461
You can configure your IdP to map several IdP attributes:
5562

5663
| IdP attribute | Default Run:ai name | Description |
5764
|--|--|--|
58-
| User email | email (cannot be changed) | **(Mandatory)** `e-mail` is the user identifier with Run:ai. |
59-
| User role groups | GROUPS | (Optional) If exists, allows assigning Run:ai role groups via the IdP. The IdP attribute must be of a type of list of strings. See more below |
6065
| Linux User ID | UID | (Optional) If exists in IdP, allows Researcher containers to start with the Linux User `UID`. Used to map access to network resources such as file systems to users. The IdP attribute must be of integer type. |
6166
| Linux Group ID | GID | (Optional) If exists in IdP, allows Researcher containers to start with the Linux Group `GID`. The IdP attribute must be of integer type. |
67+
| User role groups | GROUPS | (Optional) If exists, allows assigning Run:ai role groups via the IdP. The IdP attribute must be of a type of list of strings. See more below |
6268
| Linux Supplementary Groups | SUPPLEMENTARYGROUPS | (Optional) If exists in IdP, allows Researcher containers to start with the relevant Linux supplementary groups. The IdP attribute must be of a type of list of integers. |
69+
| Email | Email | (Optional) Defines the user attribute holding the user's email address, which is the user identifier in Run:ai |
6370
| User first name | firstName | (Optional) Used as the first name showing in the Run:ai user interface. |
6471
| User last name | lastName | (Optional) Used as the last name showing in the Run:ai user interface |
6572

@@ -71,9 +78,9 @@ You can configure your IdP to map several IdP attributes:
7178

7279
1. Press the `Tools & Settings` then press `General`.
7380
2. Open the `Security` pane and press `+Identity provider`.
74-
3. Select the SSO protocol. Choose `SAML 2` or `Open ID Connect`.
81+
3. Select the SSO protocol. Choose `Custom SAML 2.0`, `Custom OpenID Connect` or `OpenShift V4`.
7582

76-
=== "SAML 2"
83+
=== "SAML 2.0"
7784

7885
1. Choose `From computer` or `From URL`.
7986
@@ -88,7 +95,7 @@ You can configure your IdP to map several IdP attributes:
8895
8996
Press `Download` to download the file.
9097

91-
Pres `Edit` to both download the file, and view the:
98+
Press `Edit` to both download the file, and view the:
9299

93100
* Identity provider URL.
94101
* Identity provider entity ID.
@@ -99,17 +106,25 @@ You can configure your IdP to map several IdP attributes:
99106
1. In the `Discovery URL` field, enter the discovery URL .
100107
2. In the `Client ID` field, enter the client ID.
101108
3. In the `Client Secret` field, enter the client secret.
102-
4. Add the OIDC scope to be used during authentication to authorize access to a user's details. Each scope returns a set of user attributes. The scope must match the names in your identity provider.
109+
4. Add the OIDC scope to be used during authentication to authorize access to a user's details (optional). Each scope returns a set of user attributes. The scope must match the names in your identity provider.
103110
5. In the `User attributes` field enter the attribute and the value in the identity provider. (optional)
104111
6.When complete, press `Save`.
105112

113+
After you have configured the OIDC settings, you can view and edit the identity provider settings.
114+
115+
Press `Edit` to view and edit the:
116+
117+
* Discovery URL.
118+
* Client ID.
119+
* Client secret.
120+
106121
=== "OpenShift V4"
107122

108-
1. In the `Discovery URL` field, enter the discovery URL .
123+
1. In the `Base URL` field, enter the OpenShift Base URL (https://api.<your-openshift-domain>:6443).
109124
2. In the `Client ID` field, enter the client ID.
110125
3. In the `Client Secret` field, enter the client secret.
111-
4. Add the OIDC scope to be used during authentication to authorize access to a user's details. Each scope returns a set of user attributes. The scope must match the names in your identity provider.
112-
5. In the `User attributes` field enter the attribute and the value in the identity provider. (optional)
126+
4. Add the OIDC scope to be used during authentication to authorize access to a user's details (optional). Each scope returns a set of user attributes. The scope must match the names in your identity provider.
127+
5. In the `User attributes` field enter the attribute and the value in the identity provider (optional).
113128
6. When complete, press `Save`.
114129

115130
4. In the `Logout uri` field, enter the desired URL logout page. If left empty, you will be redirected to the Run:ai portal.
Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
1-
# Installing additional Clusters
1+
# Installing additional clusters
22

33
The first Run:ai cluster is typically installed on the same OpenShift cluster as the Run:ai control plane. Run:ai supports multiple clusters per single control plane. This document is about installing additional clusters on different OpenShift clusters.
44

5-
The instructions are for Run:ai version __2.13__ and up.
6-
7-
## Configuration
8-
The exact configuration details must be worked together with Run:ai customer support.
9-
10-
## Additional Cluster Installation
5+
## Additional cluster installation
116

127
Create a new cluster, then:
138

14-
* Select a target platform `OpenShift`
9+
* Select a target platform `OpenShift`
1510
* Select a Cluster location `Remote to Control Plane`.
1611
* You must enter a specific cluster URL with the format `https://runai.apps.<BASE_DOMAIN>`. To get the base Domain run `oc get dns cluster -oyaml | grep baseDomain`
1712
* Ignore the instructions for creating a secret.

0 commit comments

Comments
 (0)