Skip to content
This repository was archived by the owner on Dec 31, 2025. It is now read-only.

Commit 82dc243

Browse files
Merge pull request #149 from runreveal/feat/docs-updates-sources
Add new source docs for PagerDuty, AWS S3 Access, and more
2 parents 4e94979 + ad2e4a0 commit 82dc243

12 files changed

Lines changed: 285 additions & 2 deletions

File tree

pages/sources/source-types/_meta.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@ export default {
44
"auth0": "Auth0",
55
"aws": "AWS",
66
"azure": "Azure",
7+
"bitwarden": "Bitwarden",
78
"cloudentity": "Cloudentity",
89
"cloudflare": "Cloudflare",
910
"crowdstrike": "CrowdStrike",
11+
"cyberhaven": "Cyberhaven",
1012
"dnsfilter": "DNSFilter",
1113
"dropbox": "Dropbox",
14+
"fastly-waf": "Fastly WAF",
1215
"fluent-bit": "Fluent Bit",
1316
"gcp": "GCP",
1417
"generic": "Generic Sources",
@@ -25,6 +28,7 @@ export default {
2528
"obsidian-security": "Obsidian Security",
2629
"okta": "Okta",
2730
"opal": "Opal",
31+
"pagerduty": "PagerDuty",
2832
"palo-pano-traffic": "Palo Alto Panorama Traffic",
2933
"reveald": "Reveald",
3034
"sentinelone": "SentinelOne",

pages/sources/source-types/aws/_meta.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ export default {
44
"dns": "DNS",
55
"flow": "Flow",
66
"guardduty": "GuardDuty",
7-
"hosted-zone": "Hosted Zone"
7+
"hosted-zone": "Hosted Zone",
8+
"s3-access": "S3 Access Logs"
89
}
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
import { Callout } from 'nextra/components'
2+
3+
# AWS S3 Access Logs
4+
5+
AWS S3 access logs provide detailed records of requests made to your S3 bucket, including information about who accessed your data,
6+
when they accessed it, and what operations they performed. These logs capture details such as requester information,
7+
request details, response status, and error codes, which are essential for security monitoring, compliance auditing,
8+
and troubleshooting access issues.
9+
10+
## Ingest Methods
11+
12+
Setup the ingestion of this source using one of the following guides.
13+
14+
- [AWS S3 Bucket](/sources/object-storage/s3)
15+
- [AWS S3 Bucket with Custom SQS](/sources/object-storage/external-s3)
16+
17+
<Callout type='info'>
18+
If using an AWS S3 bucket use the following SNS topic ARN to send your bucket notifications.
19+
```
20+
arn:aws:sns:<REGION>:253602268883:runreveal_s3access
21+
```
22+
</Callout>
23+
24+
## Setup
25+
26+
### Step 1: Create a Target S3 Bucket for Access Logs
27+
28+
1. Sign in to the AWS Management Console and open the Amazon S3 console.
29+
2. Click on "Create bucket".
30+
3. Enter a unique name for your bucket (e.g., `my-s3-access-logs`) and select the region.
31+
4. Configure the bucket settings as needed (e.g., versioning, encryption).
32+
5. Click "Create bucket" to finish.
33+
34+
### Step 2: Configure Bucket Policy for Log Delivery
35+
36+
1. In the S3 console, select the bucket you just created for access logs.
37+
2. Go to the "Permissions" tab.
38+
3. Under "Bucket policy", click "Edit".
39+
4. Paste the following policy, replacing `{target-bucket-name}` with your actual bucket name:
40+
41+
```json
42+
{
43+
"Version": "2012-10-17",
44+
"Statement": [
45+
{
46+
"Effect": "Allow",
47+
"Principal": {
48+
"Service": "logging.s3.amazonaws.com"
49+
},
50+
"Action": "s3:PutObject",
51+
"Resource": "arn:aws:s3:::{target-bucket-name}/*",
52+
"Condition": {
53+
"StringEquals": {
54+
"aws:SourceAccount": "{source-bucket-account-id}"
55+
}
56+
}
57+
}
58+
]
59+
}
60+
```
61+
62+
5. Replace `{source-bucket-account-id}` with your AWS account ID.
63+
6. Click "Save changes".
64+
65+
### Step 3: Enable Access Logging for Your Source S3 Bucket
66+
67+
1. In the S3 console, select the source bucket for which you want to enable access logging.
68+
2. Go to the "Properties" tab.
69+
3. Scroll down to the "Server access logging" section and click "Edit".
70+
4. Check the box next to "Enable server access logging".
71+
5. Select the target bucket you created earlier from the "Target bucket" dropdown.
72+
6. Optionally, specify a prefix for the log files (e.g., `logs/`).
73+
7. Click "Save changes".
74+
75+
### Step 4: Verify Log Delivery
76+
77+
1. Wait for a few minutes to allow some access requests to your source bucket.
78+
2. Go back to the S3 console and open your target bucket.
79+
3. Navigate to the folder where you specified the prefix (or the root if no prefix was specified).
80+
4. You should see log files appearing in this location with names like `YYYY-MM-DD-HH-MM-SS-XXXXXXXXXX`.
81+
82+
### Step 5: Understanding S3 Access Log Format
83+
84+
S3 access logs contain the following fields in space-delimited format:
85+
86+
- **Bucket Owner**: The canonical user ID of the bucket owner
87+
- **Bucket**: The name of the bucket
88+
- **Time**: The time when the request was received
89+
- **Remote IP**: The IP address of the requester
90+
- **Requester**: The canonical user ID of the requester
91+
- **Request ID**: A unique identifier for the request
92+
- **Operation**: The operation being performed (e.g., GET, PUT, DELETE)
93+
- **Key**: The key (path) of the object being accessed
94+
- **Request-URI**: The HTTP request URI
95+
- **HTTP Status**: The HTTP status code returned
96+
- **Error Code**: The S3 error code (if applicable)
97+
- **Bytes Sent**: The number of bytes sent
98+
- **Object Size**: The size of the object
99+
- **Total Time**: The total time of the request
100+
- **Turn-Around Time**: The time between when the request was received and the response was sent
101+
- **Referer**: The HTTP referer header
102+
- **User-Agent**: The HTTP user-agent header
103+
- **Version ID**: The version ID of the object (if versioning is enabled)
104+
- **Host ID**: The host ID of the S3 endpoint
105+
- **Signature Version**: The signature version used for authentication
106+
- **Cipher Suite**: The cipher suite used for HTTPS requests
107+
- **Authentication Type**: The type of authentication used
108+
- **Host Header**: The host header of the request
109+
- **TLS Version**: The TLS version used for HTTPS requests
110+
111+
---
112+
113+
For more information, refer to the [official AWS documentation on S3 server access logging](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html).
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Bitwarden
2+
3+
Bitwarden logs provide comprehensive audit trails of password management activities, including user authentication events, password changes, vault access, and administrative actions. These logs are essential for security monitoring, compliance auditing, and detecting potential unauthorized access to sensitive credential data.
4+
5+
## Coming Soon
6+
7+
Documentation for Bitwarden integration is currently being developed.
8+
9+
Please check back soon for complete documentation.

pages/sources/source-types/cloudflare/_meta.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,7 @@ export default {
22
"audit": "Audit",
33
"gateway-dns": "Gateway DNS",
44
"gateway-http": "Gateway HTTP",
5-
"http": "HTTP"
5+
"gateway-network": "Gateway Network",
6+
"http": "HTTP",
7+
"zt-access": "Access Requests"
68
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Cloudflare Gateway Network Logs
2+
3+
Cloudflare Gateway Network logs provide detailed information about network traffic and security events processed through Cloudflare's Zero Trust Gateway. These logs capture data about user connections, application access, network policies, and security threats detected by Cloudflare's network security services.
4+
5+
## Coming Soon
6+
7+
Documentation for Cloudflare Gateway Network logs is currently being developed.
8+
9+
Please check back soon for complete documentation.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Cloudflare Access Requests
2+
3+
Cloudflare Access Requests logs capture authentication and authorization events from Cloudflare Zero Trust Access. These logs provide visibility into user login attempts, application access patterns, and policy enforcement decisions across your organization's applications and resources.
4+
5+
## Coming Soon
6+
7+
Documentation for Cloudflare Access Requests is currently being developed.
8+
9+
Please check back soon for complete documentation.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Cyberhaven
2+
3+
Cyberhaven logs provide comprehensive data protection and insider threat detection insights. These logs capture information about data access patterns, file movements, user behavior analytics, and security events that help organizations protect sensitive information and detect potential data exfiltration or insider threats.
4+
5+
## Coming Soon
6+
7+
Documentation for Cyberhaven integration is currently being developed.
8+
9+
Please check back soon for complete documentation.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Fastly WAF
2+
3+
Fastly Web Application Firewall (WAF) logs capture security events and threat detection data from Fastly's edge security services. These logs include information about blocked requests, security rule violations, attack patterns, and traffic analysis that helps protect web applications from various cyber threats.
4+
5+
## Coming Soon
6+
7+
Documentation for Fastly WAF integration is currently being developed.
8+
9+
Please check back soon for complete documentation.
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
# PagerDuty
2+
3+
Collect audit logs and events from your [PagerDuty](https://www.pagerduty.com/) account to monitor administrative changes and user activities. You'll find these logs in the `pagerduty_audit_logs` table(s).
4+
5+
![PagerDuty Setup](/pagerduty-source-1.png)
6+
7+
## Ingest Method
8+
9+
This source uses polling to collect audit records every 60 seconds. The PagerDuty source polls audit records to collect administrative changes and user activities, including:
10+
11+
- Account management
12+
- Service changes
13+
- Incident management
14+
- User access patterns
15+
16+
Logs should begin populating within a minute after being added.
17+
18+
## Setup
19+
20+
![PagerDuty Configuration](/pagerduty-source-2.png)
21+
22+
### API Token
23+
24+
To connect your PagerDuty account, you'll need to provide a PagerDuty API token. This token is used to authenticate and access your PagerDuty audit logs.
25+
26+
1. Log into your PagerDuty account
27+
2. Navigate to your account settings
28+
3. Generate a new API token with appropriate permissions for audit log access
29+
4. Copy the token and paste it into the "PagerDuty API Token" field when creating your source
30+
31+
### API Endpoint
32+
33+
RunReveal uses the [PagerDuty Audit Records API](https://developer.pagerduty.com/api-reference/116868b0e9772-list-audit-records) to collect audit logs. This endpoint provides comprehensive audit records of administrative changes and user activities within your PagerDuty account.
34+
35+
The API endpoint used is:
36+
```
37+
GET /audit/records
38+
```
39+
40+
This endpoint returns audit records that include:
41+
- User authentication events
42+
- Account configuration changes
43+
- Service modifications
44+
- Incident management activities
45+
- User access and permission changes
46+
- Integration updates
47+
- Team and escalation policy changes
48+
49+
### Source Configuration
50+
51+
When setting up your PagerDuty source, you'll need to provide:
52+
53+
- **Source Name**: A descriptive name for your PagerDuty source (defaults to "pagerduty")
54+
- **PagerDuty API Token**: Your PagerDuty API token for authentication
55+
- **Health Check Duration**: Configure how often to check source health (default: 1 day)
56+
- **Notification Channels**: Set up alerts for when the source stops receiving events
57+
58+
### Verification
59+
60+
After entering your API token, use the "Verify Settings" button to test the connection and ensure your token has the correct permissions to access PagerDuty audit logs.
61+
62+
## Data Schema
63+
64+
Your PagerDuty audit logs will be available in the `pagerduty_audit_logs` table with the source type `pagerduty`.
65+
66+
## Log Format Example
67+
68+
Here's an example of a single PagerDuty audit log record:
69+
70+
```json
71+
{
72+
"id": "PDRECORDID1_TEAM_CREATED",
73+
"execution_time": "2020-06-04T15:30:16.272Z",
74+
"execution_context": {
75+
"request_id": "111lDEOIH-534-4ljhLHJjh111",
76+
"remote_address": "201.19.20.19"
77+
},
78+
"actors": [
79+
{
80+
"id": "PDUSER",
81+
"summary": "John Snow",
82+
"type": "user_reference"
83+
}
84+
],
85+
"method": {
86+
"type": "api_token",
87+
"truncated_token": "3usr"
88+
},
89+
"root_resource": {
90+
"id": "PXASDFE",
91+
"type": "team_reference",
92+
"summary": "my DevOps team"
93+
},
94+
"action": "create",
95+
"details": {
96+
"resource": {
97+
"id": "PXASDFE",
98+
"type": "team_reference",
99+
"summary": "my DevOps team"
100+
},
101+
"fields": [
102+
{
103+
"name": "teamName",
104+
"value": "DevOps team"
105+
}
106+
]
107+
}
108+
}
109+
```
110+
111+
This example shows a team creation audit event with all the key fields including execution context, actors, method, and details.
112+
113+
## Related Links
114+
115+
- [PagerDuty Official Website](https://www.pagerduty.com/)
116+
- [PagerDuty API Documentation](https://developer.pagerduty.com/)
117+
- [PagerDuty Audit Records API](https://developer.pagerduty.com/api-reference/116868b0e9772-list-audit-records)
118+
- [PagerDuty Account Settings](https://app.pagerduty.com/account_settings)

0 commit comments

Comments
 (0)