-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
65 changed files
with
691 additions
and
251 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# AWS |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# GCP |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Implementation Guide | ||
|
||
This guide provides a roadmap of a typical implementation with Worklytics-provided support. | ||
|
||
## 1 Kick-off/Scoping meeting | ||
|
||
*30-60 min video call to get overview of process, responsibilities* | ||
|
||
Attendees: | ||
- Product Stakeholder(s) | ||
- Data Source Administrator(s), if identified | ||
- IT Admin(s), if identified | ||
|
||
Agenda: | ||
- determine data sources, and who can authorize access to each | ||
- determine host platform (GCP or AWS) | ||
- identify who has the permissions to manage infra, will be able to run Terraform, and how | ||
they'll run it (where, authenticated how) | ||
- scope desired data interval, approximate headcount, etc. | ||
- identify any potential integration issues or infrastructure constraints | ||
|
||
## 2 Initial Walk through | ||
|
||
*1-2 hr video call, to walk-through customization and initial terraform runs via screenshare* | ||
|
||
Attendees: | ||
- IT Admin(s) who will be running Terraform | ||
- Worklytics technical contact | ||
|
||
Prior to this call, please follow the initial steps in the `Getting Started` section for your host | ||
platform and ensure you have all Prereqs | ||
|
||
Goals: | ||
1. get example customized and a terraform plan working. | ||
2. run `terraform apply`. Obtain the `TODO 1` files you can send to your data source | ||
administrators to complete, as needed. | ||
|
||
Tips: | ||
- Works best if we screenshare | ||
|
||
## 3 Testing / Validation | ||
|
||
*can be completed without call; but Worklytics can assist if desired* | ||
|
||
- follow `TODO 2` files / use test.sh shell scripts produced by `terraform apply` | ||
- validate that authentication/authorization is correct for all connections, and that you're | ||
satisfied with proxy behavior | ||
|
||
## 4 Authorize Worklytics to Access Sanitized Data | ||
|
||
*can be completed without call; but Worklytics can assist if desired* | ||
|
||
Authorize Worklytics to invoke API connectors / access sanitized bulk data: | ||
- obtain service account ID of your tenant from Worklytics; configure it in you terraform.tfvars file | ||
- run `terraform apply` again to update IAM policy to reflect the change | ||
|
||
## 5 Connect Sanitized Data Sources to Worklytics | ||
|
||
*can be completed without call; but Worklytics can assist if desired* | ||
|
||
- follow `TODO 3` files (or terraform output values) generated by the `terraform apply` command | ||
- if you do not have access to [Worklytics](https://app.worklytics.co), or you do, but do not have `Data Connection Admin` role, send | ||
these files to the appropriate person | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,39 @@ | ||
# Entra ID | ||
|
||
## Examples | ||
Connect to Directory data in Microsoft 365. This allows enumeration of all users, groups, and group | ||
members in your organization, to provide additional segmentation, timezone/workday information, etc. | ||
|
||
- [Example Rules](entra-id.yaml) | ||
- [Example Rules: no App IDs](entra-id_no-app-ids.yaml) | ||
- [Example Rules: no App IDs, no orig](entra-id_no-app-ids_no-orig.yaml) | ||
- Example Data: | ||
- [original/group-members.json](example-api-responses/original/group-members.json) | | ||
[sanitized/group-members.json](example-api-responses/sanitized/group-members.json) | ||
- [original/users.json](example-api-responses/original/users.json) | | ||
[sanitized/users.json](example-api-responses/sanitized/users.json) | ||
## Required Scopes | ||
- [`User.Read.All`](https://learn.microsoft.com/en-us/graph/permissions-reference#userreadall) | ||
- [`Group.Read.All`](https://learn.microsoft.com/en-us/graph/permissions-reference#userreadall) | ||
|
||
## Authentication | ||
|
||
See the [Microsoft 365 Authentication](../README.md#authentication) section of the main README. | ||
|
||
## Authorization | ||
|
||
See the [Microsoft 365 Authorization](../README.md#authorization) section of the main README. | ||
|
||
## Example Data | ||
|
||
| API Endpoint | Example Response | Sanitized Example Response | | ||
| --- |------------------------------------------------------------------------------| --- | | ||
| `/v1.0/groups/{group-id}/members` | [original/group-members.json](example-api-responses/original/group-members.json) | [sanitized/group-members.json](example-api-responses/sanitized/group-members.json) | | ||
| `/v1.0/users` | [original/users.json](example-api-responses/original/users.json) | [sanitized/users.json](example-api-responses/sanitized/users.json) | | ||
| `/v1.0/users/me` | [original/user.json](example-api-responses/original/user.json) | [sanitized/user.json](example-api-responses/sanitized/user.json) | | ||
| `/v1.0/groups` | [original/groups.json](example-api-responses/original/groups.json) | [sanitized/groups.json](example-api-responses/sanitized/groups.json) | | ||
|
||
|
||
Assuming proxy is auth'd as an application, you'll have to replace `me` with your MSFT ID or | ||
`UserPrincipalName` (often your email address). | ||
|
||
See more examples in the `docs/sources/microsoft-365/entra-id/example-api-responses` folder | ||
of the [Psoxy repository](https://github.com/Worklytics/psoxy). | ||
|
||
## Sanitization Rule Examples | ||
|
||
- [Default Rules](entra-id.yaml) | ||
- [Rules, pseudonymizing MSFT account IDs](entra-id_no-app-ids.yaml) | ||
- [Rules, pseudonymizing MSFT account IDs](entra-id_no-app-ids_no-orig.yaml) | ||
|
Oops, something went wrong.