You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/admin/runai-setup/authentication/sso.md
+37-22Lines changed: 37 additions & 22 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
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.
4
4
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).
6
6
7
7
8
8
!!! Caution
@@ -12,34 +12,41 @@ Run:ai supports SSO using the [SAML 2.0](https://en.wikipedia.org/wiki/Security_
12
12
13
13
*Identity Provider (Idp)*— a system that creates, maintains, and manages identity information. Example IdPs: Google, Keycloak, Salesforce, Auth0.
14
14
15
-
## SAML Prerequisites
15
+
## Prerequisites
16
+
17
+
For each of the SSO options, there are prerequisites that should be considered.
18
+
19
+
### SAML 2
16
20
17
21
**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.
18
22
19
-
## OIDC Prerequisites
23
+
###OIDC
20
24
21
25
***Discovery URL**—the OpenID server where the content discovery information is published.
22
26
***ClientID**—the ID used to identify the client with the Authorization Server.
23
27
***Client Secret**—a secret password that only the Client and Authorization Server know.
24
28
25
29
26
-
## OpenShift Prerequisites
30
+
###OpenShift V4
27
31
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.
29
33
30
34
To define OAuthClient, follow these steps:
31
35
32
36
1. Create a new ```OAuthClient``` Kubernetes object with the following content
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
+
43
50
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:
44
51
```
45
52
oc apply <file name>
@@ -49,17 +56,17 @@ oc apply <file name>
49
56
oc get oauthclient
50
57
```
51
58
52
-
###Additional attribute mappings
59
+
## Additional attribute mappings
53
60
54
61
You can configure your IdP to map several IdP attributes:
55
62
56
63
| IdP attribute | Default Run:ai name | Description |
57
64
|--|--|--|
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 |
60
65
| 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. |
61
66
| 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 |
62
68
| 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|
63
70
| User first name | firstName | (Optional) Used as the first name showing in the Run:ai user interface. |
64
71
| User last name | lastName | (Optional) Used as the last name showing in the Run:ai user interface |
65
72
@@ -71,9 +78,9 @@ You can configure your IdP to map several IdP attributes:
71
78
72
79
1. Press the `Tools & Settings` then press `General`.
73
80
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`.
75
82
76
-
=== "SAML 2"
83
+
=== "SAML 2.0"
77
84
78
85
1. Choose `From computer` or `From URL`.
79
86
@@ -88,7 +95,7 @@ You can configure your IdP to map several IdP attributes:
88
95
89
96
Press `Download` to download the file.
90
97
91
-
Pres`Edit` to both download the file, and view the:
98
+
Press`Edit` to both download the file, and view the:
92
99
93
100
* Identity provider URL.
94
101
* Identity provider entity ID.
@@ -99,17 +106,25 @@ You can configure your IdP to map several IdP attributes:
99
106
1. In the `Discovery URL` field, enter the discovery URL .
100
107
2. In the `Client ID` field, enter the client ID.
101
108
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.
103
110
5. In the `User attributes` field enter the attribute and the value in the identity provider. (optional)
104
111
6.When complete, press `Save`.
105
112
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
+
106
121
=== "OpenShift V4"
107
122
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).
109
124
2. In the `Client ID` field, enter the client ID.
110
125
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).
113
128
6. When complete, press `Save`.
114
129
115
130
4. In the `Logout uri` field, enter the desired URL logout page. If left empty, you will be redirected to the Run:ai portal.
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.
4
4
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
11
6
12
7
Create a new cluster, then:
13
8
14
-
* Select a target platform `OpenShift`
9
+
* Select a target platform `OpenShift`
15
10
* Select a Cluster location `Remote to Control Plane`.
16
11
* 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`
0 commit comments