Azure / Azure/Azure-Sentinel

CCF Cisco Umbrella (AWS S3) Connector — S3B40034 due to duplicated/malformed S3 prefix construction

Open
#14,866 6 comments 0 reactions 3 assignees Claimed by @hassanchawiche View on GitHub
Codeless Connector Framework (CCF) Connector Connector
Dominant language
Python
Stars
6.1k
Forks
3.8k
Avg merge
4d 7h
Merged PRs (30d)
125

Description

**Environment**
- Microsoft Sentinel workspace, connecting to Cisco Umbrella DNS logs via the Codeless Connector Framework (CCF) connector ("Cisco Umbrella (via Codeless Connector Framework)").
- Cisco Cloud Security log schema version: v16.
- AWS S3 bucket is self-managed (in our own AWS account), not a Cisco-managed bucket.
- DNS logs are written directly to s3://umbrella-logs-depot/dnslogs/{date}/{filename}.csv.gz (no parent/account-ID folder above dnslogs/).
- We already ingest these same logs successfully into Sentinel via a separate Azure Function App using the same AWS credentials, confirming the IAM user has valid s3:GetObject/s3:ListBucket permissions on this bucket and prefix.

**Issue**
When configuring the CCF connector's "Add new collector" pane with:
- Data type: DNS Logs
- AWS S3 Bucket Prefix: dnslogs/
(Ensure other values are correct: Access Key, Secret Key, AWS S3 Bucket Name, AWS S3 Bucket Region)

the connection test consistently fails with: **Connectivity check failed: Status code:S3B40034, Message: Unexpected error processing Scanner downloader work item**

**Root cause identified via CloudTrail**
We captured the connector's own validation call in CloudTrail:
> {"list-type":"2","bucketName":"umbrella-logs-depot","Host":"umbrella-logs-depot.s3.us-east-1.amazonaws.com","max-keys":"10","prefix":"dnslogs//dnslogs/"}

The connector is requesting prefix dnslogs//dnslogs/ — our input (dnslogs/) with /dnslogs/ appended a second time, apparently auto-derived from the selected Data type ("DNS Logs"). No object in the bucket matches this path, so the scanner finds nothing to validate against, and the connector surfaces this as a generic unexpected error rather than a clear "no objects found at prefix" message.

**Attempts to work around this (all fail the same way)**
The "AWS S3 Bucket Prefix" field is mandatory and won't accept an empty value, so we tried several near-empty inputs to see if any collapses to the correct dnslogs/ prefix:

**Input we submitted**
1. dnslogs/
2. dnslogs/2025-08-10/
3. " " (single space)
4. /

**Prefix CCF actually requested (per CloudTrail)**
1. dnslogs//dnslogs/
2. dnslogs/2025-08-10//dnslogs/
3. /dnslogs/
4. //dnslogs/

In every case the pattern is:
> Requested prefix = {our input} + "/dnslogs/"

Since our actual data sits at bucket root with no parent folder, the only input that would produce a correct dnslogs/ prefix is an empty string — which the form does not allow.

Why we believe this is a connector defect, not a config error.

**Could you confirm whether:**
1. This is a known limitation of the CCF Cisco Umbrella connector for self-managed (non-Cisco-hosted) S3 buckets?
2. Whether there's a supported way to set an effectively empty/blank "AWS S3 Bucket Prefix," or another configuration path, for buckets where the data-type folder sits directly at bucket root?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.