|
| 1 | +# Setting up Multiple GitHub Enterprise Cloud Organizations with Audit Log Connector (CCF) |
| 2 | + |
| 3 | +This guide explains how to configure the GitHub Enterprise Audit Log connector to collect audit data from multiple GitHub Enterprise Cloud organizations into Microsoft Sentinel using the Codeless Connector Framework (CCF). |
| 4 | + |
| 5 | +## Prerequisites |
| 6 | + |
| 7 | +To integrate with GitHub Enterprise Audit Log (via Codeless Connector Framework) (Preview) make sure you have: |
| 8 | + |
| 9 | +1. **Workspace**: Read and Write permissions are required |
| 10 | +2. **GitHub API personal access token**: To enable polling for the Enterprise audit log, ensure the authenticated user is an Enterprise admin and has a GitHub personal access token (classic) with the `read:audit_log` scope |
| 11 | +3. **GitHub Enterprise type**: This connector will only function with GitHub Enterprise Cloud; it will not support GitHub Enterprise Server |
| 12 | + |
| 13 | +## Overview |
| 14 | + |
| 15 | +Using the GitHub Enterprise Audit Log connector (CCF), you can: |
| 16 | +- Collect audit logs from all organizations under your GitHub Enterprise Cloud account |
| 17 | +- Monitor activity across all repositories within those organizations |
| 18 | +- View all GitHub Enterprise audit events in a single Sentinel workspace |
| 19 | +- Apply unified security policies across your entire Enterprise |
| 20 | + |
| 21 | +## Setup Steps |
| 22 | + |
| 23 | +### 1. Configure Sentinel Connector |
| 24 | + |
| 25 | +1. In Microsoft Sentinel: |
| 26 | + - Go to Data Connectors |
| 27 | + - Search for "GitHub Enterprise Audit Log (CCF)" |
| 28 | + - Click "Open connector page" |
| 29 | + |
| 30 | +### 2. Get GitHub Enterprise Details |
| 31 | + |
| 32 | +For each GitHub Enterprise Cloud instance you want to monitor: |
| 33 | + |
| 34 | +1. Get Enterprise Access Token: |
| 35 | + - Create a personal access token in your GitHub Enterprise Cloud account |
| 36 | + - Ensure you have Enterprise Admin permissions |
| 37 | + - Token must have `read:audit_log` scope |
| 38 | + |
| 39 | +2. Note Required Information: |
| 40 | + - Enterprise name (from your Enterprise URL) |
| 41 | + - Personal access token with Enterprise admin permissions |
| 42 | + |
| 43 | +### 3. Configure Connector |
| 44 | + |
| 45 | +1. In the connector page: |
| 46 | + - Click "Add Enterprise" |
| 47 | + - Enter the Enterprise Name |
| 48 | + - Note: Your enterprise profile URL is https://github.com/enterprises/yourenterprisename |
| 49 | + - Enter the API Key (GitHub personal access token) |
| 50 | + - Note: For instructions on creating a personal access token, see [Creating a personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic) |
| 51 | + - Click "Add Enterprise" to save the configuration |
| 52 | + - Repeat these steps for your second GitHub Enterprise |
| 53 | + |
| 54 | +## Validation |
| 55 | + |
| 56 | +1. Check Data Collection: |
| 57 | + - Wait 5-10 minutes for initial data collection |
| 58 | + - Go to Logs in Sentinel |
| 59 | + - Run this query: |
| 60 | + ```kql |
| 61 | + GitHubEnterpriseAudit |
| 62 | + | where TimeGenerated > ago(1h) |
| 63 | + | summarize count() by Organization |
| 64 | + ``` |
| 65 | + |
| 66 | +## Troubleshooting |
| 67 | + |
| 68 | +Common issues: |
| 69 | + |
| 70 | +1. No Data Flowing: |
| 71 | + - Verify the Enterprise Name matches your GitHub Enterprise URL |
| 72 | + - Check if the API Key (personal access token) is valid and hasn't expired |
| 73 | + - Confirm the token has the required `read:audit_log` scope |
| 74 | + - Ensure the user is an Enterprise admin |
| 75 | + |
| 76 | +2. Missing Events: |
| 77 | + - Verify Enterprise access permissions |
| 78 | + - Check network connectivity |
| 79 | + - Review GitHub API rate limits |
| 80 | + |
| 81 | +## Security Best Practices |
| 82 | + |
| 83 | +- Regularly rotate your GitHub personal access tokens |
| 84 | +- Monitor audit log collection status |
| 85 | +- Set up alerts for collection failures |
| 86 | +- Review Enterprise access permissions periodically |
0 commit comments