Trim Google Workspace IdP sync screenshots (#980)
* Trim Google Workspace IdP sync screenshots * docs: render the GCP permissions callout as a Note * docs: scope the GCP key-creation exception to the NetBird project Replace the org-wide deletion of iam.disableServiceAccountKeyCreation with a project-level override, and restore enforcement after the key is uploaded. --------- Co-authored-by: Jack Carter <128555021+SunsetDrifter@users.noreply.github.com>
|
Before Width: | Height: | Size: 258 KiB |
|
Before Width: | Height: | Size: 294 KiB |
|
Before Width: | Height: | Size: 197 KiB |
|
Before Width: | Height: | Size: 292 KiB |
|
Before Width: | Height: | Size: 243 KiB |
|
Before Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 322 KiB |
|
Before Width: | Height: | Size: 302 KiB |
|
Before Width: | Height: | Size: 213 KiB |
|
Before Width: | Height: | Size: 255 KiB |
|
Before Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 337 KiB |
|
Before Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 224 KiB |
|
Before Width: | Height: | Size: 256 KiB |
|
Before Width: | Height: | Size: 210 KiB |
|
Before Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 286 KiB |
|
Before Width: | Height: | Size: 264 KiB |
|
Before Width: | Height: | Size: 166 KiB |
|
Before Width: | Height: | Size: 220 KiB |
|
Before Width: | Height: | Size: 172 KiB |
|
Before Width: | Height: | Size: 251 KiB |
|
Before Width: | Height: | Size: 227 KiB |
|
Before Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 289 KiB |
@@ -28,12 +28,12 @@ Go to the `Integrations` section in the left menu to access the `Identity Provid
|
||||
Select your **Google Workspace** identity provider connector for this integration and click **Continue** to proceed.
|
||||
|
||||
<p>
|
||||
<img src="/docs-static/img/manage/team/idp-sync/google-workspace-sync/select-idp.png" alt="select-identity-provider" className="imagewrapper-big"/>
|
||||
<img src="/docs-static/img/manage/team/idp-sync/google-workspace-sync/select-idp.png" alt="The connector picker with the Google Workspace identity provider selected" className="imagewrapper-big"/>
|
||||
</p>
|
||||
|
||||
This will open a pop-up window featuring an intuitive wizard to guide you through the synchronization process between NetBird and Google Workspace.
|
||||
|
||||

|
||||

|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -57,9 +57,7 @@ To [check your user permissions](https://support.google.com/a/answer/7519580?hl=
|
||||
* Navigate to `Directory` > `Users`.
|
||||
* Select your user account and click on `Admin roles and privileges` to view assigned roles and permissions.
|
||||
|
||||
Confirm that you have one of the required roles before proceeding with the integration:
|
||||
|
||||

|
||||
Confirm that you have one of the required roles before proceeding with the integration.
|
||||
|
||||
If you lack the required permissions, please contact your workspace administrator to request them.
|
||||
|
||||
@@ -76,20 +74,14 @@ To [check your organization-level permissions](https://cloud.google.com/resource
|
||||
* Look for users with roles like `Organization Administrator`, `Organization Policy Administrator`, or other high-level roles.
|
||||
|
||||
<Note>
|
||||
Verifying your GCP permissions is mandatory before proceeding with the integration since you might need to disable the `iam.disableServiceAccountKeyCreation` constraint temporarily during the process.
|
||||
Verifying your GCP permissions is mandatory before proceeding with the integration since you might need to disable the `iam.disableServiceAccountKeyCreation` constraint temporarily during the process.
|
||||
</Note>
|
||||
|
||||

|
||||
|
||||
If you lack the required role, contact your organization's IT department or the person who set up your Google Cloud account.
|
||||
|
||||
## Creating the NetBird Project
|
||||
|
||||
Once you have the necessary permissions, you can create the NetBird project in GCP.
|
||||
|
||||

|
||||
|
||||
Let's go through the required steps:
|
||||
Once you have the necessary permissions, create the NetBird project in GCP:
|
||||
|
||||
* Sign in to [Google Console](https://console.cloud.google.com)
|
||||
* Click the project dropdown at the top of the page.
|
||||
@@ -98,97 +90,65 @@ Let's go through the required steps:
|
||||
* Ensure the proper organization is selected in the `Organization` field.
|
||||
* Click `CREATE`.
|
||||
|
||||

|
||||
|
||||
To let `NetBird` authenticate and access Google Workspace, you must enable the `Admin SDK API`. Here's how to do it:
|
||||
|
||||
* Ensure you're in the correct project.
|
||||
* Navigate to [https://console.cloud.google.com/apis/library/admin.googleapis.com](https://console.cloud.google.com/apis/library/admin.googleapis.com)
|
||||
* Click the `Enable` button.
|
||||
|
||||

|
||||
|
||||
## Creating the NetBird Service Account
|
||||
|
||||
Once you create the project, you can set up the `NetBird` service account. On NetBird, click `Continue →`. That will show you a summary of the required steps.
|
||||
|
||||

|
||||
|
||||
Here are the step-by-step instructions:
|
||||
Once you create the project, you can set up the `NetBird` service account. On NetBird, click `Continue →` to move to the service account step, then follow these instructions:
|
||||
|
||||
Navigate to [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials), click `CREATE CREDENTIALS` at the top menu and select `Service account` from the dropdown list.
|
||||
|
||||

|
||||
|
||||
Complete the form with the supplied values:
|
||||
* `NetBird` for the service account name
|
||||
* `netbird` for the service account ID
|
||||
|
||||
Click `DONE` when ready.
|
||||
|
||||

|
||||
|
||||
## Getting Your Service Account Email
|
||||
|
||||
On NetBird, click `Continue →`. You'll need to provide the email of the service account.
|
||||
|
||||

|
||||
|
||||
You can copy the email from the `Credentials` page.
|
||||
|
||||

|
||||
On NetBird, click `Continue →`. You'll need to provide the email of the service account. You can copy it from the `Credentials` page in GCP.
|
||||
|
||||
## Creating a New Service Account Key
|
||||
|
||||
Back on NetBird, click `Continue →`. You'll see a summary of how to create a service account key.
|
||||
Back on NetBird, click `Continue →` to move to the service account key step.
|
||||
|
||||

|
||||
|
||||
First, click on the service account email to show its details.
|
||||
|
||||

|
||||
|
||||
Next, click the `Keys` tab. Open the `ADD KEY` drop-down menu and select `Create new key` from the list.
|
||||
|
||||

|
||||
|
||||
A new pop-up window will open, select `JSON` as indicated below:
|
||||
|
||||

|
||||
In GCP, on the `Credentials` page, click the service account email to open its details. Then click the `Keys` tab, open the `ADD KEY` drop-down menu and select `Create new key`. In the pop-up window, select `JSON` as the key type.
|
||||
|
||||
The key will automatically download to your local device. The new key will also appear as `active` in the `KEYS` tab.
|
||||
|
||||

|
||||
|
||||
During service account key creation, you may encounter the following error:
|
||||
|
||||

|
||||

|
||||
|
||||
If that's the case, activate Google Cloud Shell on the top menu (shell icon) and enter the following command:
|
||||
If that's the case, lift the constraint for the NetBird project only. Activate Google Cloud Shell on the top menu (shell icon) and run:
|
||||
|
||||
```
|
||||
gcloud org-policies delete iam.disableServiceAccountKeyCreation --organization=ORGANIZATION_ID
|
||||
gcloud resource-manager org-policies disable-enforce iam.disableServiceAccountKeyCreation --project=PROJECT_ID
|
||||
```
|
||||
|
||||
Remember to replace `ORGANIZATION_ID` with your organization ID.
|
||||
Replace `PROJECT_ID` with the ID of the project you created for NetBird. The organization-level policy stays in place, so other projects still can't create keys. Then create the key again.
|
||||
|
||||
Now, you can upload the service account key to NetBird. After a successful upload, you'll see the key listed in the NetBird interface.
|
||||
|
||||

|
||||

|
||||
|
||||
If you lifted the constraint, restore it now by removing the project-level override. The key you already created keeps working:
|
||||
|
||||
```
|
||||
gcloud resource-manager org-policies delete iam.disableServiceAccountKeyCreation --project=PROJECT_ID
|
||||
```
|
||||
|
||||
If your organization needs a lasting exception instead, Google recommends a [tag-based exemption](https://docs.cloud.google.com/iam/docs/keys-create-delete) for the project.
|
||||
|
||||
## Creating a New Admin Role in Google Workspace
|
||||
|
||||
After creating the service account in GCP and uploading its secret key, return to NetBird and click 'Continue →'. The next steps will guide you through creating a role in Google Workspace for this service account
|
||||
After creating the service account in GCP and uploading its secret key, return to NetBird and click `Continue →`. The next steps create a role in Google Workspace for this service account.
|
||||
|
||||

|
||||
|
||||
Navigate to Google Workspace [Admin Console](https://admin.google.com/ac/home). Select `Account` on the left menu and then click `Admin Roles`
|
||||
|
||||

|
||||
|
||||
Click `Create new role`
|
||||
|
||||

|
||||
Navigate to the Google Workspace [Admin Console](https://admin.google.com/ac/home). Select `Account` on the left menu, click `Admin Roles`, then click `Create new role`.
|
||||
|
||||
Fill in the form with the values provided in NetBird:
|
||||
* Name: `User and Group Management ReadOnly`
|
||||
@@ -196,72 +156,54 @@ Fill in the form with the values provided in NetBird:
|
||||
|
||||
When done, click `CONTINUE`
|
||||
|
||||

|
||||
|
||||
## Granting Role Privileges
|
||||
|
||||
Return to NetBird and click `Continue →`. The next screen shows the privileges needed for the Admin API.
|
||||
|
||||

|
||||
|
||||
Back to Google Workspace, enter `admin api` in the search bar and enable the following privileges for the Admin API:
|
||||
* Users: `Read`
|
||||
* Groups: `Read`
|
||||
|
||||
Then, click `CONTINUE`
|
||||
|
||||

|
||||

|
||||
|
||||
Review the Admin API privileges to verify they are correct and click `CREATE ROLE` when ready.
|
||||
|
||||

|
||||
|
||||
## Assigning Admin API Privileges to Google Cloud Service Account
|
||||
|
||||
In NetBird, click `Continue →`. For convenience, you can copy the service account Email from this screen and use it to grant it the necessary permissions in Google Workspace.
|
||||
|
||||

|
||||
|
||||
Then, in Google Workspace, click on `Assign service accounts` as shown below:
|
||||
|
||||

|
||||

|
||||
|
||||
Paste the service account Email address and click the `ADD` button.
|
||||
|
||||

|
||||
|
||||
Verify the Email and click `ASSIGN ROLE` to grant the role `User and Group Management ReadOnly` to the `NetBird` service account.
|
||||
|
||||

|
||||
|
||||
## Entering Customer ID
|
||||
|
||||
Go back to NetBird and click `Continue →`. The next screen will prompt you to enter your Google Workspace Customer ID.
|
||||
|
||||

|
||||
|
||||
To get your customer ID, navigate to [Account Settings](https://admin.google.com/ac/accountsettings/profile?hl=en_US) and copy the corresponding ID.
|
||||
|
||||

|
||||

|
||||
|
||||
## Synchronizing Google Workspace Groups and Users
|
||||
|
||||
Return to NetBird. The next two screens allow you to select which Google Workspace groups and users you want to synchronize. By default, NetBird synchronizes all groups and users. If you're okay with syncing everything, click `Continue` on both screens.
|
||||
|
||||

|
||||

|
||||
|
||||
You can also click on `+ Add group (or user group) filter` to change this settings as you see fit. To finish the integration process, click the `Connect` button.
|
||||
|
||||

|
||||
The next screen confirms that the integration was successful:
|
||||
|
||||
The next screen, should be similar the following one, verifying that the integration was successful:
|
||||
|
||||

|
||||

|
||||
|
||||
To verify the integration is working correctly, you can also navigate to `Team` > `Users`. Here, you should see your synchronized Google Workspace users listed.
|
||||
|
||||

|
||||

|
||||
|
||||
The users should be the same listed in Google Workspace Admin console:
|
||||
|
||||

|
||||
The list should match the users in your Google Workspace Admin console.
|
||||
|
||||
@@ -24,7 +24,7 @@ import {Note} from "@/components/mdx";
|
||||
|
||||
Go to the `Integrations` section in the left menu to access the `Identity Provider integration`. Click the `Google Workspace` button. This will open a pop-up window featuring an intuitive wizard to guide you through the synchronization process between NetBird and Google Workspace.
|
||||
|
||||

|
||||

|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -48,9 +48,7 @@ To [check your user permissions](https://support.google.com/a/answer/7519580?hl=
|
||||
* Navigate to `Directory` > `Users`.
|
||||
* Select your user account and click on `Admin roles and privileges` to view assigned roles and permissions.
|
||||
|
||||
Confirm that you have one of the required roles before proceeding with the integration:
|
||||
|
||||

|
||||
Confirm that you have one of the required roles before proceeding with the integration.
|
||||
|
||||
If you lack the required permissions, please contact your workspace administrator to request them.
|
||||
|
||||
@@ -67,20 +65,14 @@ To [check your organization-level permissions](https://cloud.google.com/resource
|
||||
* Look for users with roles like `Organization Administrator`, `Organization Policy Administrator`, or other high-level roles.
|
||||
|
||||
<Note>
|
||||
Verifying your GCP permissions is mandatory before proceeding with the integration since you might need to disable the `iam.disableServiceAccountKeyCreation` constraint temporarily during the process.
|
||||
Verifying your GCP permissions is mandatory before proceeding with the integration since you might need to disable the `iam.disableServiceAccountKeyCreation` constraint temporarily during the process.
|
||||
</Note>
|
||||
|
||||

|
||||
|
||||
If you lack the required role, contact your organization's IT department or the person who set up your Google Cloud account.
|
||||
|
||||
## Creating the NetBird Project
|
||||
|
||||
Once you have the necessary permissions, you can create the NetBird project in GCP.
|
||||
|
||||

|
||||
|
||||
Let's go through the required steps:
|
||||
Once you have the necessary permissions, create the NetBird project in GCP:
|
||||
|
||||
* Sign in to [Google Console](https://console.cloud.google.com)
|
||||
* Click the project dropdown at the top of the page.
|
||||
@@ -89,97 +81,65 @@ Let's go through the required steps:
|
||||
* Ensure the proper organization is selected in the `Organization` field.
|
||||
* Click `CREATE`.
|
||||
|
||||

|
||||
|
||||
To let `NetBird` authenticate and access Google Workspace, you must enable the `Admin SDK API`. Here’s how to do it:
|
||||
|
||||
* Ensure you're in the correct project.
|
||||
* Navigate to [https://console.cloud.google.com/apis/library/admin.googleapis.com](https://console.cloud.google.com/apis/library/admin.googleapis.com)
|
||||
* Click the `Enable` button.
|
||||
|
||||

|
||||
|
||||
## Creating the NetBird Service Account
|
||||
|
||||
Once you create the project, you can set up the `NetBird` service account. On NetBird, click `Continue →`. That will show you a summary of the required steps.
|
||||
|
||||

|
||||
|
||||
Here are the step-by-step instructions:
|
||||
Once you create the project, you can set up the `NetBird` service account. On NetBird, click `Continue →` to move to the service account step, then follow these instructions:
|
||||
|
||||
Navigate to [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials), click `CREATE CREDENTIALS` at the top menu and select `Service account` from the dropdown list.
|
||||
|
||||

|
||||
|
||||
Complete the form with the supplied values:
|
||||
* `NerBird` for the service account name
|
||||
* `NetBird` for the service account name
|
||||
* `netbird` for the service account ID
|
||||
|
||||
Click `DONE` when ready.
|
||||
|
||||

|
||||
|
||||
## Getting Your Service Account Email
|
||||
|
||||
On NetBird, click `Continue →`. You’ll need to provide the email of the service account.
|
||||
|
||||

|
||||
|
||||
You can copy the email from the `Credentials` page.
|
||||
|
||||

|
||||
On NetBird, click `Continue →`. You'll need to provide the email of the service account. You can copy it from the `Credentials` page in GCP.
|
||||
|
||||
## Creating a New Service Account Key
|
||||
|
||||
Back on NetBird, click `Continue →`. You’ll see a summary of how to create a service account key.
|
||||
Back on NetBird, click `Continue →` to move to the service account key step.
|
||||
|
||||

|
||||
|
||||
First, click on the service account email to show its details.
|
||||
|
||||

|
||||
|
||||
Next, click the `Keys` tab. Open the `ADD KEY` drop-down menu and select `Create new key` from the list.
|
||||
|
||||

|
||||
|
||||
A new pop-up window will open, select `JSON` as indicated below:
|
||||
|
||||

|
||||
In GCP, on the `Credentials` page, click the service account email to open its details. Then click the `Keys` tab, open the `ADD KEY` drop-down menu and select `Create new key`. In the pop-up window, select `JSON` as the key type.
|
||||
|
||||
The key will automatically download to your local device. The new key will also appear as `active` in the `KEYS` tab.
|
||||
|
||||

|
||||
|
||||
During service account key creation, you may encounter the following error:
|
||||
|
||||

|
||||

|
||||
|
||||
If that’s the case, activate Google Cloud Shell on the top menu (shell icon) and enter the following command:
|
||||
If that's the case, lift the constraint for the NetBird project only. Activate Google Cloud Shell on the top menu (shell icon) and run:
|
||||
|
||||
```
|
||||
gcloud org-policies delete iam.disableServiceAccountKeyCreation --organization=ORGANIZATION_ID
|
||||
gcloud resource-manager org-policies disable-enforce iam.disableServiceAccountKeyCreation --project=PROJECT_ID
|
||||
```
|
||||
|
||||
Remember to replace `ORGANIZATION_ID` with your organization ID.
|
||||
Replace `PROJECT_ID` with the ID of the project you created for NetBird. The organization-level policy stays in place, so other projects still can't create keys. Then create the key again.
|
||||
|
||||
Now, you can upload the service account key to NetBird. After a successful upload, you'll see the key listed in the NetBird interface.
|
||||
|
||||

|
||||

|
||||
|
||||
If you lifted the constraint, restore it now by removing the project-level override. The key you already created keeps working:
|
||||
|
||||
```
|
||||
gcloud resource-manager org-policies delete iam.disableServiceAccountKeyCreation --project=PROJECT_ID
|
||||
```
|
||||
|
||||
If your organization needs a lasting exception instead, Google recommends a [tag-based exemption](https://docs.cloud.google.com/iam/docs/keys-create-delete) for the project.
|
||||
|
||||
## Creating a New Admin Role in Google Workspace
|
||||
|
||||
After creating the service account in GCP and uploading its secret key, return to NetBird and click 'Continue →'. The next steps will guide you through creating a role in Google Workspace for this service account
|
||||
After creating the service account in GCP and uploading its secret key, return to NetBird and click `Continue →`. The next steps create a role in Google Workspace for this service account.
|
||||
|
||||

|
||||
|
||||
Navigate to Google Workspace [Admin Console](https://admin.google.com/ac/home). Select `Account` on the left menu and then click `Admin Roles`
|
||||
|
||||

|
||||
|
||||
Click `Create new role`
|
||||
|
||||

|
||||
Navigate to the Google Workspace [Admin Console](https://admin.google.com/ac/home). Select `Account` on the left menu, click `Admin Roles`, then click `Create new role`.
|
||||
|
||||
Fill in the form with the values provided in NetBird:
|
||||
* Name: `User and Group Management ReadOnly`
|
||||
@@ -187,72 +147,54 @@ Fill in the form with the values provided in NetBird:
|
||||
|
||||
When done, click `CONTINUE`
|
||||
|
||||

|
||||
|
||||
## Granting Role Privileges
|
||||
|
||||
Return to NetBird and click `Continue →`. The next screen shows the privileges needed for the Admin API.
|
||||
|
||||

|
||||
|
||||
Back to Google Workspace, enter `admin api` in the search bar and enable the following privileges for the Admin API:
|
||||
* Users: `Read`
|
||||
* Groups: `Read`
|
||||
|
||||
Then, click `CONTINUE`
|
||||
|
||||

|
||||

|
||||
|
||||
Review the Admin API privileges to verify they are correct and click `CREATE ROLE` when ready.
|
||||
|
||||

|
||||
|
||||
## Assigning Admin API Privileges to Google Cloud Service Account
|
||||
|
||||
In NetBird, click `Continue →`. For convenience, you can copy the service account Email from this screen and use it to grant it the necessary permissions in Google Workspace.
|
||||
|
||||

|
||||
|
||||
Then, in Google Workspace, click on `Assign service accounts` as shown below:
|
||||
|
||||

|
||||

|
||||
|
||||
Paste the service account Email address and click the `ADD` button.
|
||||
|
||||

|
||||
|
||||
Verify the Email and click `ASSIGN ROLE` to grant the role `User and Group Management ReadOnly` to the `NetBird` service account.
|
||||
|
||||

|
||||
|
||||
## Entering Customer ID
|
||||
|
||||
Go back to NetBird and click `Continue →`. The next screen will prompt you to enter your Google Workspace Customer ID.
|
||||
|
||||

|
||||
|
||||
To get your customer ID, navigate to [Account Settings](https://admin.google.com/ac/accountsettings/profile?hl=en_US) and copy the corresponding ID.
|
||||
|
||||

|
||||

|
||||
|
||||
## Synchronizing Google Workspace Groups and Users
|
||||
|
||||
Return to NetBird. The next two screens allow you to select which Google Workspace groups and users you want to synchronize. By default, NetBird synchronizes all groups and users. If you're okay with syncing everything, click `Continue` on both screens.
|
||||
|
||||

|
||||

|
||||
|
||||
You can also click on `+ Add group (or user group) filter` to change this settings as you see fit. To finish the integration process, click the `Connect` button.
|
||||
|
||||

|
||||
The next screen confirms that the integration was successful:
|
||||
|
||||
The next screen, should be similar the following one, verifying that the integration was successful:
|
||||
|
||||

|
||||

|
||||
|
||||
To verify the integration is working correctly, you can also navigate to `Team` > `Users`. Here, you should see your synchronized Google Workspace users listed.
|
||||
|
||||

|
||||

|
||||
|
||||
The users should be the same listed in Google Workspace Admin console:
|
||||
|
||||

|
||||
The list should match the users in your Google Workspace Admin console.
|
||||
|
||||