Skip to content

Commit 4223ec6

Browse files
defguard-communitygitbook-bot
authored andcommitted
GITBOOK-329: change request with no subject merged in GitBook
1 parent 56cd0e6 commit 4223ec6

File tree

7 files changed

+55
-13
lines changed

7 files changed

+55
-13
lines changed

.gitbook/assets/image (49).png

234 KB
Loading

.gitbook/assets/image (50).png

234 KB
Loading

.gitbook/assets/image (51).png

75.1 KB
Loading

.gitbook/assets/image (52).png

112 KB
Loading

.gitbook/assets/image (53).png

28.6 KB
Loading

.gitbook/assets/image (54).png

96.5 KB
Loading

enterprise/all-enteprise-features/external-openid-providers/google.md

+55-13
Original file line numberDiff line numberDiff line change
@@ -44,24 +44,66 @@ This feature is available only in Defguard v1.2.0 and above
4444

4545
Defguard supports synchronization of users and groups state based on Google Workspace. The following things can be synchronized:
4646

47-
* Users state: users disabled in Google Workspace will be disabled in Defguard
48-
* Deletion of users: users deleted in Google Workspace will be deleted in Defguard
49-
* User groups: user groups in Google Workspace will be automatically assigned and created in Defguard
47+
* **User Groups**: Automatically create and assign user groups in Defguard to reflect them in Google Workspace.
48+
* **User Deletion**: Removing a user in Google Workspace can also remove them in Defguard.
49+
* **User Status**: Disabling a user in Google Workspace will disable them in Defguard.
5050

5151
#### Directory synchronization configuration menu
5252

53-
The menu can be found in Defguard settings by navigatin to the "OpenID" tab.
53+
The menu can be found in Defguard settings by navigating to the "OpenID" tab.
5454

5555
<figure><img src="../../../.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
5656

5757
The following configuration options are currently available in the directory synchronization menu:
5858

59-
* Synchronize (All/User/Group): What to synchronize.
60-
* All - synchronize both user state (disabled/enabled), their deletion and groups
61-
* User - synchronize only user state (disabled/enabled) and whether they've been deleted
62-
* Group - synchronize only user groups
63-
* Synchronization interval (600s by default): How often to synchronize with Google. Very low values may cause issues with Google API. Users are also synchronized on login.
64-
* User behavior (Keep, Disable, Delete): What to do with users not present in Google Workspace.
65-
* Admin behavior (Keep, Disable, Delete): What to do with users with admin status in Defguard who are not present in Google Workspace.
66-
* Admin email: The email of the Google Workspace admin user on which behalf Defguard will call the Google API
67-
* Service account in use: The email of the Google service account which is currently used
59+
* **Synchronize (All/User/Group):** What to synchronize.
60+
* **All** - synchronize both user state (disabled/enabled), their deletion and groups
61+
* **User** - synchronize only user state (disabled/enabled) and whether they've been deleted
62+
* **Group** - synchronize only user groups
63+
* **Synchronization interval (600s by default):** How often to synchronize with Google. Very low values may cause issues with Google API. Users are also synchronized on login.
64+
* **User behavior (Keep, Disable, Delete):** What to do with users not present in Google Workspace.
65+
* **Admin behavior (Keep, Disable, Delete):** What to do with users with admin status (in Defguard) who are not present in Google Workspace.
66+
* **Admin email:** The email of the Google Workspace admin user on whose behalf Defguard will call the Google API
67+
* **Service account in use:** The email of the Google service account which is currently used
68+
69+
#### Directory synchronization setup
70+
71+
1. Navigate to [Service Accounts](https://console.cloud.google.com/iam-admin/serviceaccounts) in the Google cloud console\
72+
73+
74+
<figure><img src="../../../.gitbook/assets/image (49).png" alt=""><figcaption></figcaption></figure>
75+
76+
77+
2. Click "Create service account"
78+
3. Give your service account a descriptive name\
79+
80+
81+
<figure><img src="../../../.gitbook/assets/image (51).png" alt=""><figcaption></figcaption></figure>
82+
83+
84+
4. Skip step 2 and 3 if you are not sure what to configure there.
85+
5. Go to your newly created service account and add a new key in the "KEYS" tab.\
86+
87+
88+
<figure><img src="../../../.gitbook/assets/image (52).png" alt=""><figcaption></figcaption></figure>
89+
90+
91+
6. A JSON file will be downloaded after you click "CREATE". Store it securely as it may grant access to your Google Workspace directory.
92+
7. Next, navigate to the "DETAILS" tab and copy the unique ID of your service account.
93+
8. Open the Advanced settings and under Domain-wide delegation click "View google workspace admin console"
94+
9. Now in the admin console, navigate to [API controls](https://admin.google.com/u/1/ac/owl)\
95+
96+
97+
<figure><img src="../../../.gitbook/assets/image (53).png" alt=""><figcaption></figcaption></figure>
98+
99+
100+
10. In the API controls, click "Manage domain wide delegation"
101+
11. On the next screen, add a new API client\
102+
103+
104+
<figure><img src="../../../.gitbook/assets/image (54).png" alt=""><figcaption></figcaption></figure>
105+
106+
Specify the following scopes for your client:\
107+
`openid, email, profile, https://www.googleapis.com/auth/admin.directory.customer.readonly, https://www.googleapis.com/auth/admin.directory.group.readonly, https://www.googleapis.com/auth/admin.directory.user.readonly`
108+
12. Navigate to the Defguard settings and upload the JSON file you obtained previously. Make sure to also input the email of the account on which behalf the API calls will be made. This account should have access to users and their groups (e.g. email of your account as an admin).
109+
13. Test if you properly set everything up by clicking the "Test connection" button.

0 commit comments

Comments
 (0)