Skip to content

Commit 1ccfa94

Browse files
authored
Docs for Google Workspace OIDC (#3102)
1 parent df6ec46 commit 1ccfa94

File tree

3 files changed

+81
-9
lines changed

3 files changed

+81
-9
lines changed
50.9 KB
Loading

docs/teams/oidc_groups.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Before configuring OIDC groups authorization, ensure you have:
2323

2424
2. **Configured your OIDC identity provider** to include group information in the ID tokens:
2525
- **Okta**: [Customize tokens with a groups claim](https://developer.okta.com/docs/guides/customize-tokens-groups-claim/main/)
26-
- **Google Workspace**: Group-membersghip data is included by a mechanism that's specific to Google Workspace
26+
- **Google Workspace**: No additional configuration is required; just ensure you've already followed [these instructions](oidc_sso.html#1-oidc-configurations)
2727
- **Others**: Search your identity provider's documentation for how to add a groups claim to the ID token
2828

2929
## Configuration

docs/teams/oidc_sso.md

Lines changed: 80 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,42 @@
22

33
Livebook Teams supports OpenID Connect (OIDC) Single Sign-On, allowing you to authenticate users through your existing Identity Provider (IdP) when they access your app servers and Livebook apps.
44

5-
![](images/auth_via_teams.png)
5+
![](images/auth_via_teams_oidc.png)
66

77
> #### Livebook version requirement {: .info}
8-
> Requires Livebook v0.15 or newer.
8+
> Requires Livebook v0.18 or newer.
99
1010
## Demo
1111

1212
Here's a quick demo of the feature working.
1313

1414
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/rG6OKethdJg?si=qofGf8M10F21IWd5" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
1515

16-
## Configuration
16+
## 1. OIDC configurations
1717

1818
To integrate Livebook Teams with your OIDC SSO provider, follow these steps.
1919

20-
### 1. Register with your OIDC Provider
20+
<!-- tabs-open -->
21+
22+
### OIDC IdPs
23+
24+
Follow these instructions if you're using Okta, Microsoft Entra, Keycloak or any other OIDC-compliant Identity Provider.
25+
26+
#### 1.1 Register with your OIDC provider
2127

2228
Go to your IdP admin, and register Livebook Teams as a Relying Party (client/app). This is the info you’ll need from Livebook Teams:
2329

2430
- **Redirect URI**: The Livebook Teams sign-in callback URL that must be registered with your IdP: ` https://teams.livebook.dev/identity/callbacks/oidc`
2531
- **Post Logout Redirect URI**: The Livebook Teams URL that must be registered with your IdP to redirect users after logout: `https://teams.livebook.dev/identity/logout`
26-
- **Required OIDC scopes**: the OIDC scopes Livebook Teams requires: `openid`, `profile`, `email`, `offline_access`
32+
- **Required OIDC scopes**: The OIDC scopes Livebook Teams requires: `openid`, `profile`, `email`, `offline_access`
2733

2834
Once that’s done, you should retrieve the following information from the registration process:
2935

3036
- **Client ID**: A unique identifier assigned to Livebook Teams by your IdP
3137
- **Client Secret**: A confidential key assigned to Livebook Teams by your IdP
3238
- **Discovery URL**: This is the OIDC metadata URL provided by your IdP. Usual format: `https://YOUR_IDP/.well-known/openid-configuration`
3339

34-
### 2. Configure OIDC in Livebook Teams
40+
#### 1.2 Configure OIDC in Livebook Teams
3541

3642
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/dNUcRD0A6kU?si=eNQ55-Aeg4I8PPgy" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
3743

@@ -45,13 +51,79 @@ Once that’s done, you should retrieve the following information from the regis
4551
- **Enable this SSO provider**: Make sure this option is enabled
4652
4. Save
4753

48-
### 3. Configure your deployment group to authenticate via Livebook Teams
54+
### Google Workspace
55+
56+
To configure OIDC SSO with Google Workspace, follow the steps below. You'll need a Google Workspace account with the super admin role.
57+
58+
#### 1.1 Enable Cloud Identity API
59+
60+
1. Go to the [Google Cloud Console](https://console.cloud.google.com/)
61+
2. Select your project or create a new one if needed
62+
3. Navigate to **APIs & Services** > **Library**
63+
4. Search for **Cloud Identity**
64+
5. Select **Cloud Identity** from the results
65+
5. Click **Enable**
66+
67+
#### 1.2 Create service account
68+
69+
1. Navigate to **IAM & Admin** > **Service Accounts**
70+
2. Click **Create Service Account**
71+
3. Configure the service account:
72+
- **Service account name**: `livebook-teams` (or your preferred name)
73+
- **Service account description**: Service account for Livebook Teams to access Google Workspace groups
74+
4. Click **Create and Continue**
75+
5. Skip the optional steps by clicking **Continue** and then **Done**
76+
77+
#### 1.3 Get the unique ID of the service account
78+
79+
1. In the **Service Accounts** list, click on the service account you just created
80+
2. In the **Details** tab, locate the **Unique ID** under the service account details
81+
3. Copy this **Unique ID** (you'll need it in the next step)
82+
83+
#### 1.4 Create a JSON key for the service account
84+
85+
1. While still on your service account page, go to the **Keys** tab
86+
2. Click **Add Key** > **Create new key**
87+
3. Select **JSON** as the key type
88+
4. Click **Create**
89+
5. The JSON key file will be downloaded automatically (save it securely)
90+
91+
#### 1.5 Enable domain-wide delegation
92+
93+
1. Go to your [Google Workspace Admin Console](https://admin.google.com/) (requires super administrator access)
94+
2. Navigate to **Main menu** > **Security** > **Access and data control** > **API controls**
95+
3. In the **Domain wide delegation** section, click **Manage Domain Wide Delegation**
96+
4. Click **Add new**
97+
5. Configure the delegation:
98+
- **Client ID**: Paste the unique ID from step 1.3
99+
- **OAuth scopes**: Enter the following scope (this grants read-only access to group information): `https://www.googleapis.com/auth/cloud-identity.groups.readonly`
100+
6. Click **Authorize**
101+
102+
#### 1.6 Configure Google Workspace OIDC in Livebook Teams
103+
104+
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/dNUcRD0A6kU?si=eNQ55-Aeg4I8PPgy" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
105+
106+
1. Log in to Livebook Teams
107+
2. Go to the **Authentication** panel (requires "admin" role in the organization)
108+
3. Click **Add OIDC SSO** and provide the following details:
109+
- **Name**: A display name for your OIDC provider (e.g., Google Workspace)
110+
- **Discovery URL**: `https://accounts.google.com/.well-known/openid-configuration`
111+
- **Admin E-mail**: Email address of a Super Admin user of your Google Workspace (e.g., `[email protected]`). This user will be impersonated by the
112+
service account to read group memberships, but access is limited to the scopes authorized in step 1.5.
113+
- **Allowed domains**: Your Google Workspace domain(s), one per line if multiple (e.g., `yourcompany.com`)
114+
- **Service Account JSON Key**: Paste the entire contents of the JSON key file from step 1.4
115+
- **Enable this SSO provider**: Make sure this option is enabled
116+
4. Save
117+
118+
<!-- tabs-close -->
119+
120+
### 2. Configure your deployment group to authenticate via Livebook Teams
49121

50122
To enable OIDC authentication, your deployment group must be configured to use authentication via Livebook Teams.
51123

52124
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/27GImleM3MQ?si=jlsa7cGvIgnM4xmN" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
53125

54-
In order to do so, follow these steps:
126+
To do so, follow these steps:
55127

56128
1. Log in to Livebook Teams
57129
2. Navigate to the **Deployments** panel

0 commit comments

Comments
 (0)