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: README.md
+10-2Lines changed: 10 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,13 +2,14 @@
2
2
3
3
## Purpose
4
4
5
-
This Lambda function syncs members from our Entra ID (Azure AD) tenant to Google Workspace as external domain shared contacts.
5
+
This Lambda function syncs members from our Entra ID (Azure AD) tenant to Google Workspace as external domain shared contacts.
6
6
7
7
### Why This Exists
8
8
9
9
In the `acm.illinois.edu` Google Workspace tenant, we cannot use people chips or autocomplete for `@illinois.edu` email addresses because they're in a separate identity system (GSuite for UIUC). This creates friction when trying to email or mention Illinois users.
10
10
11
11
**This sync solves that problem** by:
12
+
12
13
- Automatically pulling all active users from the University of Illinois Entra ID tenant
13
14
- Creating them as external contacts in Google Workspace's domain shared contacts
14
15
- Making Illinois email addresses searchable and autocomplete-able in Gmail, Calendar, Drive, etc.
@@ -18,6 +19,9 @@ Users will now see Illinois emails appear in autocomplete suggestions and people
18
19
19
20
## Architecture
20
21
22
+
> [!IMPORTANT]
23
+
> This application is deployed in the AWS us-east-2 region, not the default us-east-1 region.
24
+
21
25
-**Source**: ACM @ UIUC Entra ID tenant
22
26
-**Destination**: Google Workspace Domain Shared Contacts for `acm.illinois.edu`
23
27
-**Sync Frequency**: Configurable via EventBridge schedule (default: every hour)
@@ -38,6 +42,7 @@ Configuration is stored in AWS Secrets Manager under the secret `gsuite-dirsync-
38
42
## Contact Format
39
43
40
44
Contacts are created with:
45
+
41
46
-**Primary email**: The user's mail field from Entra ID
42
47
-**Name fields**: Given name, family name, and display name
43
48
-**Smart parsing**: Automatically parses display names like "First Last", "Last, First", etc. when individual name fields are missing
@@ -49,17 +54,20 @@ The Lambda is deployed via Terraform. Set the Makefile.
49
54
## Monitoring
50
55
51
56
View logs in CloudWatch Logs:
57
+
52
58
- Log group: `/aws/lambda/gsuite-dirsync-engine`
53
59
- Structured JSON logging via Pino
54
60
- Contains detailed sync statistics and any errors
55
61
56
62
## Development
57
63
58
64
Run locally:
65
+
59
66
```bash
60
67
yarn -D
61
68
make local
62
69
```
70
+
63
71
---
64
72
65
-
For detailed setup instructions, see the setup documentation.
73
+
For detailed setup instructions, see the setup documentation.
0 commit comments