Skip to content

⭐ Add Bedrock, Control Tower, Security Lake, Verified Access, Private CA resources#7136

Merged
tas50 merged 7 commits intomainfrom
feat/add-bedrock-controltower-securitylake-verifiedaccess-privateca
Apr 10, 2026
Merged

⭐ Add Bedrock, Control Tower, Security Lake, Verified Access, Private CA resources#7136
tas50 merged 7 commits intomainfrom
feat/add-bedrock-controltower-securitylake-verifiedaccess-privateca

Conversation

@tas50
Copy link
Copy Markdown
Member

@tas50 tas50 commented Apr 9, 2026

Summary

  • Add 5 new AWS services with 22 resources for security querying: aws.bedrock, aws.controltower, aws.securitylake, aws.verifiedaccess, aws.privateca
  • aws.bedrock: Foundation models, custom models (with KMS key refs), guardrails (with content/PII/topic/word policies), model invocation logging configs, provisioned throughputs
  • aws.controltower: Landing zones (with lazy-loaded version/drift/status detail), enabled baselines
  • aws.securitylake: Data lakes (with KMS key refs), subscribers (with access types and source configs)
  • aws.verifiedaccess: Instances (with logging configs), trust providers (OIDC/device options), groups, endpoints (with SSE/security groups)
  • aws.privateca: Certificate authorities (with lazy-loaded PEM certificates, chains, and resource policies)

Test plan

  • make providers/build/aws && make providers/install/aws
  • mql run aws -c "aws.bedrock.foundationModels { modelId modelName providerName }"
  • mql run aws -c "aws.bedrock.guardrails { name status }"
  • mql run aws -c "aws.bedrock.modelInvocationLoggingConfigurations { region textDataDeliveryEnabled }"
  • mql run aws -c "aws.privateca.certificateAuthorities { arn status type }"
  • mql run aws -c "aws.verifiedaccess.instances { verifiedAccessInstanceId fipsEnabled }"
  • mql run aws -c "aws.verifiedaccess.trustProviders { verifiedAccessTrustProviderId trustProviderType }"
  • mql run aws -c "aws.controltower.landingZones { arn status }"
  • mql run aws -c "aws.securitylake.dataLakes { dataLakeArn region createStatus }"
  • Verify graceful degradation in regions where services are unavailable

🤖 Generated with Claude Code

@github-actions

This comment has been minimized.

Copy link
Copy Markdown

@mondoo-code-review mondoo-code-review bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New AWS resource queries for Bedrock, Control Tower, Security Lake, Verified Access, and Private CA will fail in some regions due to missing service-availability error handling in Verified Access.

Comment thread providers/aws/resources/aws_verifiedaccess.go
Comment thread providers/aws/resources/aws_verifiedaccess.go
Comment thread providers/aws/resources/aws_verifiedaccess.go
Comment thread providers/aws/resources/aws_verifiedaccess.go
Comment thread providers/aws/resources/aws_privateca.go Outdated
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 9, 2026

Test Results

6 417 tests  +29   6 413 ✅ +29   2m 21s ⏱️ +11s
  458 suites ± 0       4 💤 ± 0 
   38 files   ± 0       0 ❌ ± 0 

Results for commit 6aecb36. ± Comparison against base commit 267bcb5.

♻️ This comment has been updated with latest results.

@mondoo-code-review mondoo-code-review bot dismissed their stale review April 9, 2026 04:04

Superseded by new review

Copy link
Copy Markdown

@mondoo-code-review mondoo-code-review bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All previously flagged issues have been addressed: missing service-availability checks added and log levels corrected.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@tas50 tas50 force-pushed the feat/add-bedrock-controltower-securitylake-verifiedaccess-privateca branch from da298f7 to 1f2277d Compare April 9, 2026 05:28
Copy link
Copy Markdown

@mondoo-code-review mondoo-code-review bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New AWS Bedrock, Control Tower, Security Lake, Verified Access, and Private CA resources added with correct patterns.

Comment thread providers/aws/resources/aws_controltower.go Outdated
Comment thread providers/aws/resources/aws_bedrock.go
Comment thread providers/aws/resources/aws_securitylake.go
Comment thread providers/aws/resources/aws_verifiedaccess.go
tas50 and others added 5 commits April 9, 2026 23:01
…cess, aws.privateca resources

Add 5 new high-impact AWS services for security querying, covering GenAI
governance, multi-account governance, security telemetry, zero-trust
networking, and private PKI.

New resources (22 total):
- aws.bedrock: foundationModel, customModel, guardrail,
  modelInvocationLoggingConfiguration, provisionedModelThroughput
- aws.controltower: landingZone, enabledBaseline
- aws.securitylake: dataLake, subscriber
- aws.verifiedaccess: instance, trustProvider, group, endpoint,
  instanceLoggingConfiguration
- aws.privateca: certificateAuthority

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add IsServiceNotAvailableInRegionError handling to all four Verified
Access methods so queries don't fail in unsupported regions. Downgrade
service-unavailable log messages from Warn to Debug across all new
providers since these are expected and not actionable.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Tim Smith <tsmith84@gmail.com>
Foundation models: query once from default region instead of all regions,
since ListFoundationModels returns a global catalog. Private CA tags:
lazy-load via computed method to avoid N+1 ListTags calls during listing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add access-denied/service-unavailable handling to foundationModels()
- Guard Security Lake encryptionKmsKey() against non-ARN KMS key IDs
- Add access-denied handling to Verified Access loggingConfiguration()
- Add access-denied handling to Private CA tags() and policy()
- Replace double-conversion with enumSliceToAny for subscriber accessTypes
- Change endpoint securityGroupIds to typed securityGroups() references
- Optimize landing zone query to use default region instead of all-region scan
- Expose Region() on AwsConnection for default region access

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@tas50 tas50 force-pushed the feat/add-bedrock-controltower-securitylake-verifiedaccess-privateca branch from b7e8544 to a7c7218 Compare April 10, 2026 06:02
Copy link
Copy Markdown

@mondoo-code-review mondoo-code-review bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New AWS resources gain better error handling, typed security groups, and KMS key validation

Comment thread providers/aws/resources/aws_verifiedaccess.go Outdated
Comment thread providers/aws/resources/aws_controltower.go Outdated
tas50 and others added 2 commits April 9, 2026 23:08
- Change enabledBaseline driftStatus from extracted string to full dict,
  surfacing all drift information instead of only Types.Inheritance.Status
- Use NewSecurityGroupArn helper instead of raw fmt.Sprintf for endpoint
  security group ARN construction

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rces

Fix four bugs found during live verification of the new aws.bedrock,
aws.verifiedaccess, aws.controltower, and aws.privateca resources:

- IsServiceNotAvailableInRegionError now catches InvalidAction (EC2 Verified
  Access in unsupported regions), UnknownOperationException and "Unknown
  operation" (Bedrock in unsupported regions)
- parseAwsTimestamp falls back to parsing timestamps without timezone suffix
  (e.g. "2026-04-09T05:40:04" from EC2 Verified Access), assuming UTC
- Control Tower APIs now handle the "AWSControlTowerAdmin" ValidationException
  gracefully when CT is not configured, returning empty results instead of
  erroring
- Add unit tests for all fixes (24 test cases across 4 new test files)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@tas50 tas50 merged commit eac34e1 into main Apr 10, 2026
22 checks passed
@tas50 tas50 deleted the feat/add-bedrock-controltower-securitylake-verifiedaccess-privateca branch April 10, 2026 07:37
@github-actions github-actions bot locked and limited conversation to collaborators Apr 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant