Skip to main content

AWS

Overview

Visualize and analyze AWS resources, tracking usage across services like EC2, S3, Kinesis, RDS, IAM, MemoryDB, and Lake Formation. Gain actionable insights into resource utilization, governance, and security posture. Support compliance monitoring against security benchmarks, detect potential vulnerabilities, and monitor configuration changes. Enable real-time visualizations and generate alerts to enhance visibility, streamline operations, and strengthen the compliance and security of AWS environments.

Configurations

ConfigurationDescription
Blueprint Account NameA human-readable name for your account that will be used to identify this account across the application.
IAM Role ARNThe ARN of the IAM role created by the CloudFormation template that Kscope will assume for resource crawling. Details in the Permissions section.
External IDThe external ID required to assume the IAM role. This is automatically generated by the CloudFormation template and stored in AWS Secrets Manager. Retrieve it from the Secrets Manager console using the secret name provided in the stack outputs. Details in the Permissions section.
RegionsList of regions to be crawled.
Data Crawl FrequencyThe frequency at which Kscope will crawl the account for resources.
Resource SelectionSelectively include or exclude certain resources.
Crawl config idCrawl configuration id for events for the crawled account
Source event bridge bus role arnARN of the EventBridge Bus role to be used to allow sending events from central region to the ingress sqs queue
Cost Explorer Lookback DaysNumber of days of historical cost data to fetch from AWS Cost Explorer (default: 30, must be a positive integer). Applies to all cost queries including anomaly detection.

Permissions

The AWS blueprint requires the AWS Managed ReadOnlyAccess policy along with two additional custom policies for specific access requirements.

Overview

The AWS blueprint uses a CloudFormation template to provision the following resources:

  1. Data Crawl Infrastructure (Central Region Only):

    • IAM role with the following policies:
      • ReadOnlyAccess managed policy for general AWS resource access
      • Custom SQS queue access policy for consuming CloudTrail events
      • Custom Bedrock access policy for AI/ML model information
    • Auto-generated External ID stored in AWS Secrets Manager
    • Cross-account assume role permissions with external ID for enhanced security
  2. Remediation Infrastructure (Central Region Only):

    • IAM remediator role with CloudFormation change set creation permissions
    • Cross-account assume role permissions with the same external ID for enhanced security
  3. Event Crawl Infrastructure:

    • Central Region:
      • SQS queue for centralized event collection
      • Custom EventBridge bus for aggregating events
      • EventBridge rule to process events and forward to SQS
    • All Regions:
      • Regional EventBridge rules to capture CloudTrail events
      • IAM roles for cross-region event forwarding
  4. Optional CloudTrail Configuration (Central Region Only):

    • S3 bucket for CloudTrail logs
    • Multi-region CloudTrail capturing management and data events

IAM Role Permissions

The IAM role created by the CloudFormation template includes:

1. AWS Managed ReadOnlyAccess Policy

Provides read-only access to all AWS services and resources for comprehensive resource crawling.

2. Custom SQS Queue Access Policy

Grants permissions to:

  • Receive CloudTrail events from the centralized SQS queue
  • Delete processed messages to prevent re-processing
  • Retrieve queue metadata and configuration

Required permissions: sqs:ReceiveMessage, sqs:DeleteMessage, sqs:GetQueueAttributes, sqs:GetQueueUrl

3. Custom Bedrock Access Policy

Grants permissions to:

  • Discover and catalog custom AI/ML models deployed in Amazon Bedrock
  • Retrieve metadata about imported models and their deployments
  • Provide visibility into your organization's AI/ML infrastructure

Required permissions: bedrock:GetImportedModel, bedrock:ListImportedModels, bedrock:ListCustomModelDeployments, bedrock:GetCustomModelDeployment

4. Custom Cost Explorer Access Policy

Grants permissions to:

  • Retrieve service-level, account-level, region-level, availability zone-level, and usage type-level cost breakdowns
  • Retrieve reserved instance coverage and utilization data
  • Retrieve savings plan coverage and utilization data
  • Retrieve credits and refunds applied to the account
  • Retrieve cost forecasts for future spend projection
  • Detect cost anomalies using AWS native anomaly detection

Required permissions: ce:GetCostAndUsage, ce:GetReservationCoverage, ce:GetReservationUtilization, ce:GetSavingsPlansCoverage, ce:GetSavingsPlansUtilization, ce:GetCostForecast, ce:GetAnomalies

5. Custom AWS Backup Access Policy

Grants permissions to:

  • Discover and catalog all resources protected by AWS Backup plans
  • Provide visibility into which databases, storage volumes, and other resources have active backup coverage
  • Enable backup-aware security insights (e.g., suppressing low-backup-retention alerts for resources with AWS Backup integration)

Required permissions: backup:ListProtectedResources

6. Custom MQ Access Policy

Grants permissions to:

  • Discover and list AWS MQ message brokers
  • Retrieve metadata about broker configurations, engine types, and network settings

Required permissions: mq:ListBrokers, mq:DescribeBroker

7. Custom MSK Access Policy

Grants permissions to:

  • Discover and list Amazon Managed Streaming for Apache Kafka (MSK) clusters
  • Provide visibility into Kafka cluster configurations and security group attachments

Required permissions: kafka:ListClusters

8. Custom Directory Service Access Policy

Grants permissions to:

  • Discover and list AWS Directory Service directories (Simple AD, Microsoft AD, AD Connector)
  • Provide visibility into directory configurations, VPC attachments, and security group memberships

Required permissions: ds:DescribeDirectories

9. Custom WorkSpaces Access Policy

Grants permissions to:

  • Discover and list Amazon WorkSpaces directory configurations
  • Provide visibility into WorkSpaces deployments and their associated security groups

Required permissions: workspaces:DescribeWorkspaceDirectories

[!NOTE] AWS Cost Explorer is a global service and is always queried against the us-east-1 endpoint regardless of the regions configured for resource crawling.

IAM Remediator Role Permissions

The remediator role is a separate IAM role created by the CloudFormation template specifically for automated remediation capabilities. It includes:

CloudFormation Change Set Policy

Grants permissions to:

  • Create CloudFormation change sets for remediation of security and compliance issues
  • Generate infrastructure-as-code artifacts that can be reviewed before deployment

Required permissions: cloudformation:CreateChangeSet

[!NOTE] The remediator role intentionally uses minimal permissions. It can only create change sets, not execute them. This ensures that all remediation actions require explicit approval through AWS native workflows before any infrastructure changes are applied.

Security Considerations

  • Principle of Least Privilege: The custom policies grant only the minimum permissions required for specific functionality
  • Resource-Specific Access: The SQS policy is scoped to the specific queue created by the template
  • Cross-Account Security: External ID validation ensures only authorized Kscope accounts can assume the role
  • Remediation Safety: The remediator role can only create change sets, requiring manual approval before any changes are applied

Multi-Region Architecture

The template implements a centralized event collection architecture:

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│ us-east-1 │ │ us-west-2 │ │ eu-west-1 │
│ │ │ │ │ │
│ EventBridge │ │ EventBridge │ │ EventBridge │
│ Regional Rule │ │ Regional Rule │ │ Regional Rule │
│ + IAM Role │ │ + IAM Role │ │ + IAM Role │
└─────────┬───────┘ └─────────┬───────┘ └─────────┬───────┘
│ │ │
│ CloudTrail Events │ │
└──────────────────────┼──────────────────────┘

┌────────────────▼──────────────────┐
│ us-east-2 (Central) │
│ │
│ ┌─────────────────────────────┐ │
│ │ Central EventBridge │ │
│ │ Bus │ │
│ │ ({ResourcePrefix}-central- │ │
│ │ event-bus) │ │
│ └─────────────┬───────────────┘ │
│ │ │
│ ┌─────────────▼───────────────┐ │
│ │ Central EventBridge │ │
│ │ Rule │ │
│ │ ({ResourcePrefix}-central- │ │
│ │ event-rule) │ │
│ └─────────────┬───────────────┘ │
│ │ │
│ ┌─────────────▼───────────────┐ │
│ │ SQS Queue │ │
│ │ (Event Collection) │ │
│ │ ({ResourcePrefix}-trail- │ │
│ │ queue) │ │
│ └─────────────┬───────────────┘ │
│ │ │
│ ┌─────────────▼────────────────┐ │
│ │ ┌─────────────────────────┐ │ │
│ │ │ IAM Role │ │ │
│ │ │ ({ResourcePrefix}- │ │ │
│ │ │ crawl-role) │ │ │
│ │ │ ReadOnlyAccess Policy │ │ │
│ │ └─────────────────────────┘ │ │
│ │ ┌─────────────────────────┐ │ │
│ │ │ IAM Remediator Role │ │ │
│ │ │ ({ResourcePrefix}- │ │ │
│ │ │ remediator-role) │ │ │
│ │ │ CloudFormation Policy │ │ │
│ │ └─────────────────────────┘ │ │
│ └──────────────────────────────┘ │
│ │
│ Optional (if CloudTrail │
│ creation enabled): │
│ ┌─────────────────────────────┐ │
│ │ S3 Bucket + CloudTrail │ │
│ │ ({ResourcePrefix}-trail- │ │
│ │ bucket-{AccountId}) │ │
│ └─────────────────────────────┘ │
└───────────────────────────────────┘

Deployment Options

Before deploying the CloudFormation template, you will need to get the Trusted Account ID. Copy the AWS account ID from the Kscope blueprint configuration page. This is the account that will be authorized to assume the IAM role for resource crawling.

Option 1: Quick Deploy

Deploy this CloudFormation template in each AWS region where you want to capture events:

  1. Deploy in Central Region First (us-east-2 by default):

    • Creates central resources: EventBridge bus, IAM role
    • Creates regional EventBridge rule for us-east-2
  2. Deploy in Additional Regions:

    • Creates only regional EventBridge rules and IAM roles
    • Events are forwarded to the central EventBridge bus in us-east-2

[!NOTE] This CloudFormation template is intended for initial stack creation only. If you need to update the stack or modify its resources after deployment, you will need to update the stack manually through the AWS CloudFormation console or AWS CLI.

Launch Stack

Option 2: Manual Deployment

  1. Download the CloudFormation template aws.yml
  2. Sign in to the AWS Management Console
  3. Navigate to CloudFormation
  4. Create a new stack and upload the template in every region
  5. Enter the required parameters

Configuration Parameters

ParameterDescriptionDefault
ResourcePrefixPrefix for all resource names (customizable for multiple deployments)kscope
CentralRegionThe AWS region where central resources (SQS, EventBridge bus, IAM role) are createdus-east-2
CreateAccountLevelCloudTrailWhether to create a new CloudTrail (only if no organization-level CloudTrail exists)false
CrawlConfigIdCrawl configuration id created in the kscope platform
IngressQueueArnIngress queue arn from the kscope platform

Infrastructure Created

Central Region (us-east-2 by default)

  • IAM crawl role with ReadOnlyAccess policy
  • IAM remediator role with CloudFormation change set permissions
  • Custom EventBridge bus for event aggregation
  • EventBridge rule to process events from central bus and forward to SQS
  • Regional EventBridge rule to capture local CloudTrail events
  • IAM role for cross-region event forwarding
  • Optional: S3 bucket and CloudTrail (if CreateAccountLevelCloudTrail = true)

All Other Regions

  • Regional EventBridge rule to capture CloudTrail events
  • IAM role for forwarding events to central region

Usage Scenarios

Use default settings with CreateAccountLevelCloudTrail = false. The template will capture events from your existing organizational CloudTrail.

Scenario 2: Account Without Organizational CloudTrail

Set CreateAccountLevelCloudTrail = true to create a new multi-region CloudTrail that captures both management and data events.

Resource Naming

All resources use the configurable ResourcePrefix parameter for naming:

  • IAM Crawl Role: {ResourcePrefix}-crawl-role
  • IAM Remediator Role: {ResourcePrefix}-remediator-role
  • External ID Secret: /{ResourcePrefix}/crawler/external-id
  • EventBridge Bus: {ResourcePrefix}-central-event-bus
  • EventBridge Rules: {ResourcePrefix}-central-event-rule, {ResourcePrefix}-regional-event-rule
  • IAM Role (for the central Event Bridge Bus which push events to the Kscope queue): ${ResourcePrefix}-eventbridge-to-sqs-role

Outputs

After deployment, the stack provides the following outputs:

Central Region Only

  • CrawlRoleArn: The ARN of the IAM crawl role to be assumed by the trusted account for resource discovery
  • RemediatorRoleArn: The ARN of the IAM remediator role to be assumed by the trusted account for creating remediation artifacts
  • ExternalIdSecretName: The name of the AWS Secrets Manager secret containing the auto-generated External ID
  • SourceEventBridgeRoleArn: The ARN of the IAM role to be assumed by the central EventBridge bus to forward events to the regional EventBridge rules

Retrieving Configuration Values

To retrieve the External ID from AWS Secrets Manager:

  1. Using AWS Console:

    • Navigate to AWS Secrets Manager in your central region
    • Find the secret with the name from ExternalIdSecretName output (e.g., /{ResourcePrefix}/crawler/external-id)
    • Click "Retrieve secret value" to view the External ID
  2. Using AWS CLI:

    aws secretsmanager get-secret-value --secret-id "/{ResourcePrefix}/crawler/external-id" --query SecretString --output text

Updating the Stack

If you need to update the CloudFormation stack after the initial deployment (e.g., to update permissions, modify configurations, or deploy to additional regions), follow these steps:

[!NOTE] The Quick Deploy button is only for initial stack creation. For updates, you must manually update the stack through the AWS CloudFormation console.

  1. Navigate to CloudFormation Console:

    • Sign in to the AWS Management Console
    • Go to the CloudFormation service in the appropriate region
    • Select the stack you want to update (e.g., aws-blueprint)
  2. Initiate Stack Update:

    • Click Update button at the top
    • Select Replace current template
    • Choose Amazon S3 URL and enter: https://kaleidoscope-blueprint-configurator.s3.amazonaws.com/aws/aws-latest.yml
    • Click Next
  3. Review Parameters:

    • Review and modify stack parameters if needed
    • Click Next
  4. Configure Stack Options:

    • Review stack options (tags, permissions, etc.)
    • Click Next
  5. Create Change Set:

    • Review the changes that will be made
    • Check the box to acknowledge that AWS CloudFormation might create IAM resources
    • Click Create change set
    • Wait for the change set to be created
  6. Execute Change Set:

    • Review the change set details to ensure the changes are correct
    • Click Execute change set
    • Confirm the execution
    • Wait for the stack update to complete
  7. Verify Update:

    • Check the stack status shows UPDATE_COMPLETE
    • Review the Events tab to ensure no errors occurred
    • Verify the Outputs tab for any updated values

[!ATTENTION] If you deployed the stack to multiple regions, repeat this process for each regional stack to ensure consistency across your multi-region deployment.

Automated Remediation

The AWS blueprint includes automated remediation capabilities that generate infrastructure-as-code artifacts to fix security and compliance issues discovered during resource crawling.

Overview

When Kscope identifies security or compliance issues, it can automatically generate remediation artifacts rather than directly modifying resources. This approach provides:

  • Safe Remediation: Changes are proposed via CloudFormation change sets, requiring explicit approval before execution
  • Audit Trail: All remediation actions are tracked through AWS native CloudFormation history
  • Infrastructure-as-Code Best Practices: Fixes are applied through proper IaC workflows, maintaining consistency with existing deployment practices

How It Works

  1. Issue Detection: Kscope crawlers identify security or compliance issues in your AWS environment
  2. Change Set Generation: The remediator role creates a CloudFormation change set containing the proposed fix
  3. Review & Approval: You review the change set in the AWS Console to understand the exact changes
  4. Execution: After approval, execute the change set to apply the remediation

Remediator Role

The remediator role ({ResourcePrefix}-remediator-role) is specifically designed for remediation tasks:

  • Minimal Permissions: Only has cloudformation:CreateChangeSet permission
  • No Direct Changes: Cannot directly modify any AWS resources
  • Same External ID: Uses the same External ID as the crawl role for consistent security

Required Permissions

Deployment Permissions

To deploy this template, you need permissions to create:

  • IAM roles and policies
  • AWS Secrets Manager secrets
  • SQS queues and queue policies
  • EventBridge custom event buses, rules, and policies
  • S3 buckets (if creating CloudTrail)
  • CloudTrail (if creating a new trail)

Best Practices

  1. Deploy Central Region First: Always deploy in your chosen central region before deploying to other regions
  2. Use Consistent ResourcePrefix: Use the same ResourcePrefix across all regional deployments
  3. External ID Security: The External ID is automatically generated and securely stored in AWS Secrets Manager - do not share this value outside of the Kscope configuration process

SBOM Generation

The AWS blueprint includes SBOM (Software Bill of Materials) generation for container images stored in Amazon Elastic Container Registry (ECR). This provides comprehensive vulnerability scanning and dependency analysis for containerized applications.

For information about supported languages and package managers for SBOM generation, see: SBOM

Schema Model

ResourcesSource EntityNormalized EntityDescription
IAM Policyaws.iam.PolicyPolicyAn IAM policy defining permissions.
Inline IAM Policyaws.iam.PolicyInlinePolicyAn inline IAM policy directly attached to a resource.
IAM Policy Actionaws.iam.PolicyActionActionAn action specified in an IAM policy.
IAM Useraws.iam.UserUserAn IAM user in the AWS environment.
IAM Roleaws.iam.RoleRoleAn IAM role used for delegating access.
IAM ServiceiamServiceIAM-related configurations and management.
IAM Policy Resourceaws.iam.PolicyResourceResourceA resource associated with an IAM policy.
IAM Access Keyaws.iam.AccessKeyKeyAn access key for an IAM user.
S3 Objectaws.s3.ObjectFileAn object stored in an S3 bucket.
S3 Bucketaws.s3.BucketStorageAn S3 bucket for storing objects.
S3 Services3ServiceS3-related configurations and management.
ECS ServiceecsServiceECS-related configurations and management.
ECS Clusteraws.ecs.ClusterClusterA cluster for managing ECS tasks.
ECS Service Instanceaws.ecs.ServiceServiceA service running in an ECS cluster.
ECS Taskaws.ecs.TaskTaskA task running in an ECS cluster.
ECS Container Instanceaws.ecs.ContainerInstanceContainerA container instance in an ECS cluster.
ECS Task Definitionaws.ecs.TaskDefinitionDefinitionA task definition in ECS.
Kinesis ServicekinesisServiceKinesis-related configurations and management.
Kinesis Streamaws.kinesis.StreamStreamA data stream in AWS Kinesis.
CloudWatch Dashboardcloudwatch.DashboardDashboardA dashboard in AWS CloudWatch.
CloudWatch Metric Alarmcloudwatch.MetricAlarmAlarmA metric alarm in AWS CloudWatch.
CloudWatchcloudwatchServiceAWS CloudWatch monitoring service.
CloudWatch Log Groupcloudwatchlogs.LogGroupLogGroupA log group in AWS CloudWatch Logs.
CloudWatch LogscloudwatchlogsServiceAWS CloudWatch Logs service.
CloudWatch Log Streamcloudwatchlogs.LogStreamLogStreamA log stream in AWS CloudWatch Logs.
Metrics Dimensionmetrics.DimensionDimensionA dimension associated with metrics.
Metrics Metricmetrics.MetricMetricA metric in AWS services.
DynamoDBdynamodbDatabaseAWS DynamoDB database service.
DynamoDB Servicedynamodb.AwsDynamoDBDatabaseAWS DynamoDB service configuration.
DynamoDB Tabledynamodb.TableTableA table in AWS DynamoDB.
DynamoDB Attributedynamodb.AttributeDefinitionAttributeAttribute definition for a DynamoDB table.
LambdalambdaServiceAWS Lambda serverless compute service.
Lambda Serviceaws.lambda.AwsLambdaServiceAWS Lambda service configuration.
Lambda Functionaws.lambda.FunctionFunctionA serverless function in AWS Lambda.
Lambda Aliasaws.lambda.AliasAliasAn alias for an AWS Lambda function.
SNSsnsServiceAWS Simple Notification Service (SNS).
Regionaws.ec2.RegionRegionA geographical area containing AWS resources.
Volumeaws.ec2.VolumeVolumeA block storage volume in AWS EC2.
Subnetaws.ec2.SubnetSubnetA subnet within a VPC in AWS EC2.
Instance Type Infoaws.ec2.InstanceTypeInfoInstanceTypeInformation about EC2 instance types.
EC2 Serviceec2ServiceAWS EC2 service for compute resources.
VPCaws.ec2.VpcVPCA virtual private cloud in AWS.
Instanceaws.ec2.InstanceInstanceAn individual EC2 instance.
Reserved Instancesaws.ec2.ReservedInstancesReservedInstanceReserved EC2 instances for cost savings.
Security Groupaws.ec2.SecurityGroupSecurityGroupA security group associated with EC2 resources.
Availability Zoneaws.ec2.AvailabilityZoneZoneAn availability zone within a region.
Local Zoneaws.ec2.LocalZoneZoneA local zone in AWS for EC2 resources.
Volume Attachmentaws.ec2.VolumeAttachmentVolumeAttachmentAttachment information for an EC2 volume.
VPC CIDR Block Associationaws.ec2.VpcCidrBlockAssociationCIDRBlockCIDR block associations with a VPC.
ECR ServiceecrServiceAWS ECR service for container registries.
ECR Repositoryecr.RepositoryRepositoryA repository in AWS ECR.
ECR Imageecr.ImageImageA container image stored in AWS ECR.
ECR Image Scan Findingecr.ImageScanFindingScanFindingFindings from security scans of ECR images.
AWS API Gatewayaws.apigateway.RestAPIAPIA REST API in AWS API Gateway.
HTTP API Gatewayaws.apigateway.HTTPAPIHTTP APIHTTP API in AWS API Gateway.
API Gateway Integrationaws.apigateway.IntegrationIntegrationIntegration settings for API Gateway.
API Gateway Stageaws.apigateway.StageStageDeployment stage for API Gateway.
API Gateway Modelaws.apigateway.ModelModelModel definition for API Gateway.
API Gateway Resourceaws.apigateway.ResourceResourceAPI Gateway resource definition.
API Gateway Integrationaws.apigateway.IntegrationIntegrationAPI Gateway integration configuration.
API Gateway Methodaws.apigateway.MethodMethodHTTP method for API Gateway.
CloudWatch State Reason Datacloudwatch.StateReasonDataStateReasonDataRepresents state reason data in CloudWatch.
EC2 Disk Infoaws.ec2.DiskInfoEC2DiskInfoInformation about EC2 instance disk.
EC2 Instance Storage Infoaws.ec2.InstanceStorageInfoEC2InstanceStorageInformation about EC2 instance storage.
EC2 vCPU Infoaws.ec2.VCpuInfoEC2vCPUInfoInformation about EC2 instance vCPUs.
ECS Port Mappingaws.ecs.PortMappingECSPortMappingPort mapping configuration for ECS containers.
ECS Container Definitionaws.ecs.ContainerDefinitionECSContainerDefinitionECS container configuration details.
IAM Groupaws.iam.GroupUserGroupA group in AWS IAM.
IAM Resourceaws.iam.ResourceIAMResourceA resource managed by AWS IAM.
IAM Policy Documentaws.iam.PolicyDocumentIAMPolicyDocumentA document that defines IAM policy permissions.
IAM Policy Action Resourceaws.iam.PolicyActionResourceIAMPolicyActionResourceDefines actions in an IAM policy.
IAM Policy Statementaws.iam.PolicyStatementIAMPolicyStatementA policy statement within an IAM policy.
Kinesis Shardaws.kinesis.ShardKinesisShardA shard in AWS Kinesis stream.
SNS Topicsns.TopicSNSTopicAn SNS topic for message distribution.
SNS Subscriptionsns.SubscriptionSNSSubscriptionA subscription to an SNS topic.
EC2 IAM Instance Profileaws.ec2.IamInstanceProfileEC2IamInstanceProfileAn IAM profile associated with an EC2 instance.
EC2 IAM Instance Profile Associationaws.ec2.IamInstanceProfileAssociationEC2IamInstanceProfileAssociationAssociation of an IAM instance profile with EC2.
IAM Instance Profileaws.iam.InstanceProfileIAMInstanceProfileA profile for EC2 instances within IAM.
EC2 Instance Imageaws.ec2.InstanceImageEC2InstanceImageAn image used to create EC2 instances.
AWS CloudAWSAWSCloudAWS cloud services and environment.
ClusterclusterClusterA computing cluster for resource management.
Entities_EntitiesEntityGeneral entities for data representation.
Common Tagcommon.TagCommonTagTag used across multiple AWS resources.
Utility Propertyutil.PropertyUtilityPropertyGeneral utility properties.
Domain Schemadomainschema.SchemaDomainSchemaSchema for domain-related data structure.
Domain Element Typedomainschema.ElementTypeDomainElementTypeElement type within a domain schema.
Domain Element Property Typedomainschema.ElementPropertyTypeDomainElementPropertyTypeProperty type within a domain schema.
ECS Containeraws.ecs.ContainerECSContainerA container managed by ECS.
ECS Network Bindingaws.ecs.NetworkBindingECSNetworkBindingNetwork binding for ECS containers.
IAM Policy Conditionaws.iam.PolicyConditionIAMPolicyConditionCondition applied in an IAM policy.
IAM Policy Principalaws.iam.PolicyPrincipalIAMPolicyPrincipalPrincipal identifier for IAM policy.
S3 Encryption Infoaws.s3.EncryptionInfoS3EncryptionInfoEncryption settings for an S3 bucket.
RDS DB Cluster Memberaws.rds.DBClusterMemberDBClusterMemberA member of an AWS RDS DB cluster.
RDS DB Clusteraws.rds.DBClusterClusterAWS RDS database cluster.
RDS DB Cluster Endpointaws.rds.DBClusterEndpointDBClusterEndpointEndpoint for accessing an AWS RDS DB cluster.
RDS DB Parameter Groupaws.rds.DBParameterGroupDBParameterGroupAWS RDS DB parameter group.
RDS DB Instanceaws.rds.DBInstanceDBInstanceAWS RDS database instance.
RDS Availability Zoneaws.rds.AvailabilityZoneAvailabilityZoneAWS RDS availability zone.
RDS DB Subnet Groupaws.rds.DBSubnetGroupDBSubnetGroupAWS RDS DB subnet group.
RDS DB Parameter Group Statusaws.rds.DBParameterGroupStatusDBParameterGroupStatusAWS RDS DB parameter group status.
RDS DB Security Groupaws.rds.DBSecurityGroupDBSecurityGroupAWS RDS DB security group.
RDS Double Rangeaws.rds.DoubleRangeDoubleRangeAWS RDS double range parameter.
RDS Event Categories Mapaws.rds.EventCategoriesMapEventCategoriesMapMapping of event categories in AWS RDS.
RDS Endpointaws.rds.EndpointEndpointAWS RDS endpoint.
RDS Engine Defaultsaws.rds.EngineDefaultsEngineDefaultsDefault settings for AWS RDS engine.
RDS Pending Modified Valuesaws.rds.PendingModifiedValuesPendingModifiedValuesAWS RDS pending modifications.
RDS Rangeaws.rds.RangeRangeAWS RDS range parameter.
RDS VPC Security Group Membershipaws.rds.VpcSecurityGroupMembershipVpcSecurityGroupMembershipAWS RDS VPC security group membership.
RDS Subnetaws.rds.SubnetSubnetAWS RDS subnet.
RDS Valid DB Instance Modificationsaws.rds.ValidDBInstanceModificationsMessageValidDBInstanceModificationsValid modifications for AWS RDS DB instances.
RDS Valid Storage Optionsaws.rds.ValidStorageOptionsValidStorageOptionsValid storage options for AWS RDS.
RDS Parameteraws.rds.ParameterParameterParameter for AWS RDS configuration.
RDS Option Group Membershipaws.rds.OptionGroupMembershipOptionGroupMembershipMembership in an AWS RDS option group.
RDS DB Snapshotaws.rds.DBSnapshotDBSnapshotAWS RDS DB snapshot.
Redshiftaws.redshift.AwsRedshiftClusterAWS Redshift cluster.
Redshift Cluster Nodeaws.redshift.ClusterNodeClusterNodeNode in an AWS Redshift cluster.
Redshift Clusteraws.redshift.ClusterClusterAWS Redshift cluster.
Redshift Availability Zoneaws.redshift.AvailabilityZoneAvailabilityZoneAvailability zone for AWS Redshift.
Redshift Cluster Parameter Groupaws.redshift.ClusterParameterGroupClusterParameterGroupAWS Redshift cluster parameter group.
Redshift Cluster Parameter Group Statusaws.redshift.ClusterParameterGroupStatusClusterParameterGroupStatusStatus of AWS Redshift cluster parameter group.
Redshift Default Cluster Parametersaws.redshift.DefaultClusterParametersDefaultClusterParametersDefault parameters for AWS Redshift clusters.
Redshift Cluster Subnet Groupaws.redshift.ClusterSubnetGroupClusterSubnetGroupAWS Redshift cluster subnet group.
Redshift Cluster Versionaws.redshift.ClusterVersionClusterVersionAWS Redshift cluster version.
Redshift Endpointaws.redshift.EndpointEndpointAWS Redshift endpoint.
Redshift Reserved Node Offeringaws.redshift.ReservedNodeOfferingReservedNodeOfferingReserved node offering for AWS Redshift.
Redshift Subnetaws.redshift.SubnetSubnetAWS Redshift subnet.
Redshift Recurring Chargeaws.redshift.RecurringChargeRecurringChargeRecurring charge for AWS Redshift.
Redshift Logging Statusaws.redshift.LoggingStatusLoggingStatusLogging status in AWS Redshift.
Redshift Parameteraws.redshift.ParameterParameterAWS Redshift configuration parameter.
Redshift Pending Modified Valuesaws.redshift.PendingModifiedValuesPendingModifiedValuesPending modified values in AWS Redshift.
Redshift VPC Security Group Membershipaws.redshift.VpcSecurityGroupMembershipVpcSecurityGroupMembershipMembership in AWS Redshift VPC security group.
EC2 VPC Peering Connection VPC Infoaws.ec2.VpcPeeringConnectionVpcInfoVpcPeeringConnectionVpcInfoVPC information for EC2 VPC peering connection.
EC2 VPC Peering Connectionaws.ec2.VpcPeeringConnectionVpcPeeringConnectionAWS EC2 VPC peering connection.
EC2 Route Tableaws.ec2.RouteTableRouteTableAWS EC2 route table.
EC2 Route Table Associationaws.ec2.RouteTableAssociationRouteTableAssociationAssociation of a route table in AWS EC2.
CloudFront Distributionaws.cloudfront.DistributionCloudFrontDistributionA CloudFront distribution for delivering content.
CloudFrontcloudfrontCloudFrontA CloudFront service for content delivery.
AwsCloudfrontaws.cloudfront.AwsCloudfrontAwsCloudfrontAWS CloudFront service for managing distributions.
EC2 Network ACLaws.ec2.NetworkACLEC2NetworkACLNetwork ACL for controlling traffic in AWS EC2.
EC2 Network ACL Entryaws.ec2.NetworkACLEntryEC2NetworkACLEntryEntry in an EC2 Network ACL to define rules.
EC2 Network ACL Associationaws.ec2.NetworkACLAssociationEC2NetworkACLAssociationAssociation of an EC2 Network ACL to a subnet.
ELB Load Balanceraws.elb.LoadBalancerELBLoadBalancerA load balancer in AWS Elastic Load Balancing.
ELB Listeneraws.elb.ListenerELBListenerA listener for an ELB to manage incoming traffic.
ELBelbELBAWS Elastic Load Balancer service.
Route53 Resource Record Setaws.route53.ResourceRecordSetRoute53ResourceRecordSetA set of resource records in AWS Route 53.
Route53 Resource Recordaws.route53.ResourceRecordRoute53ResourceRecordA DNS resource record in AWS Route 53.
Route53 Alias Targetaws.route53.AliasTargetRoute53AliasTargetA target for alias records in Route 53.
Route53route53Route53AWS Route 53 for DNS management.
CloudTrail Trailaws.cloudtrail.TrailCloudTrailTrailA CloudTrail trail to capture AWS account activity.
CloudTrailaws.cloudtrailCloudTrailAWS CloudTrail service for monitoring API activity.
EC2 Addressaws.ec2.AddressEC2AddressA public IP address for an EC2 instance.
EC2 Key Pair Infoaws.ec2.KeyPairInfoEC2KeyPairInfoInformation about an EC2 key pair for SSH access.
EC2 Snapshotaws.ec2.SnapshotEC2SnapshotA snapshot of an EC2 instance's storage volume.
Lambda Layeraws.lambda.LayerLambdaLayerA layer for AWS Lambda functions to share code.
Route53 Hosted Zoneaws.route53.HostedZoneRoute53HostedZoneA hosted zone in AWS Route 53 for DNS records.
IAM MFA Deviceaws.iam.MFADeviceIAMMFADeviceA multi-factor authentication device in IAM.
CloudFront Originaws.cloudfront.OriginCloudFrontOriginOrigin server for AWS CloudFront distributions.
IAM Password Policyaws.iam.PasswordPolicyPolicyPassword policy settings for AWS IAM users.
Cognito Password Policycognitoidentityprovider.PasswordPolicyPolicyA password policy for AWS Cognito identity pools.
Cognito User Pool Policycognitoidentityprovider.UserPoolPolicyPolicyA policy for user pools in AWS Cognito.
Cognito User Poolcognitoidentityprovider.UserPoolCognitoUserPoolA user pool in AWS Cognito for managing users.
Identity Poolaws.cognitoidentity.IdentityPoolIdentityPoolAn AWS Cognito identity pool for federated identities.
Cognito Provideraws.cognitoidentity.ProviderCognitoProviderAn identity provider for AWS Cognito pools.
Cognito Identityaws.cognitoidentityCognitoIdentityAWS Cognito identity service for user management.
Cognito Usercognitoidentityprovider.UserUserA user in AWS Cognito user pools.
Cognito Identity ProvidercognitoidentityproviderCognitoIdentityProviderAn identity provider in AWS Cognito.
EC2 Nat Gatewayaws.ec2.NatGatewayEC2NatGatewayA NAT Gateway for AWS EC2 instances.
Route53 Domainsaws.route53domains.DomainRoute53DomainsA domain registered in AWS Route 53.
Route53Domainsroute53domainsRoute53DomainsAWS Route 53 domains service for domain management.
AwsRoute53Domainsaws.route53domains.AwsRoute53DomainsAwsRoute53DomainsAWS service for managing Route 53 domains.
Identity StoreidentitystoreIdentityStoreAn identity store service in AWS for user management.
Identity Store Entryidentitystore.IdentityStoreIdentityStoreEntryA specific identity store entry in AWS.
Identity Store Useridentitystore.UserUserA user within the identity store in AWS.
Identity Store Nameidentitystore.NameIdentityStoreNameA name entry within the AWS identity store.
Identity Store Groupidentitystore.GroupIdentityStoreGroupA user group within the AWS identity store.
Identity Store Group Membershipidentitystore.GroupMembershipIdentityStoreGroupMembershipA membership within an identity store group.
Identity Store ExternalIdidentitystore.ExternalIdIdentityStoreExternalIdAn external ID for identity store integration.
EventBridge Event Buseventbridge.EventBusEventBridgeEventBusAn event bus in AWS EventBridge for event routing.
EventBridgeeventbridgeEventBridgeAWS EventBridge service for event-driven applications.
EventBridge Ruleeventbridge.RuleEventBridgeRuleA rule in AWS EventBridge for routing events.
EventBridge Targeteventbridge.TargetEventBridgeTargetA target service for events in AWS EventBridge.
KMSkmsKMSAWS Key Management Service for managing encryption keys.
KMS Key Metadatakms.KeyMetadataKMSKeyMetadataMetadata related to encryption keys in KMS.
SecretsManager Secretsecretsmanager.SecretSecretsManagerSecretA secret stored in AWS Secrets Manager.
SecretsManagersecretsmanagerSecretsManagerAWS Secrets Manager for managing sensitive data.
AwsSecretssecretsmanager.AwsSecretsAwsSecretsAWS Secrets Manager service for secret management.
SESaws.sesSESAWS Simple Email Service for email sending.
SES Identityaws.ses.IdentitySESIdentityAn identity registered with AWS SES for email sending.
OpenSearchaws.opensearchOpenSearchAWS OpenSearch service for search and analytics.
OpenSearch Domainaws.opensearch.DomainOpenSearchDomainA domain within AWS OpenSearch for hosting indices.
MemoryDBaws.memorydbMemoryDBAWS MemoryDB service for Redis-compatible in-memory databases.
MemoryDB Serviceaws.memorydb.AwsMemoryDBMemoryDBAWS MemoryDB service configuration.
MemoryDB Clusteraws.memorydb.ClusterClusterAn AWS MemoryDB cluster for Redis-compatible in-memory storage.
Lake Formationaws.lakeformationLakeFormationAWS Lake Formation service for data lake governance.
Lake Formation Serviceaws.lakeformation.AwsLakeFormationLakeFormationAWS Lake Formation service configuration.
Lake Formation Settingsaws.lakeformation.SettingsSettingsData lake settings for AWS Lake Formation.
Lake Formation Resourceaws.lakeformation.ResourceResourceA resource registered with AWS Lake Formation.
Findingsca.secretscan.FindingVulnerabilitysecret detected by gitleak
CloudFormation Stackaws.cloudformation.StackStackA CloudFormation stack.
CloudFormation Stack Resourceaws.cloudformation.StackResourceStackResourceA resource within a CloudFormation stack.
CloudFormation Stack Parameteraws.cloudformation.StackParameterStackParameterA parameter defined in a CloudFormation stack.
CloudFormation Stack Outputaws.cloudformation.StackOutputStackOutputAn output from a CloudFormation stack.

IaC Resource Relationships

The blueprint automatically correlates Infrastructure as Code (IaC) resources with the actual cloud resources they manage:

  • iac.DeployedAs — Links IaC source code resources (CloudFormation templates, CDK constructs scanned from repositories) to their deployed CloudFormation stack resources, matching by logical resource name.
  • iac.ManagesResource — Links CloudFormation stack resources to the actual AWS cloud resources they provision (S3 buckets, EC2 instances, Lambda functions, IAM roles, etc.), matching by PhysicalResourceID.

This creates a full traceability chain: IaC source code → CloudFormation stack resource → actual cloud resource.

Security Insights (CSPM)

InsightSeverityDescription
IAM Service Accounts With Admin PrivilegesCriticalDetects IAM service accounts that have admin privileges, posing a security risk from overprivileged non-interactive accounts.
EC2 Instances Exposing Non-Public S3 Buckets To PublicCriticalDetects EC2 instances that expose non-public S3 buckets to the public, risking unauthorized data access.
IAM Users With Direct Admin AccessCriticalDetects IAM users with direct admin access, violating least privilege principles.
EC2 Instances That Can Expose S3 Buckets To PublicCriticalDetects EC2 instances capable of exposing S3 buckets to the public through misconfigured network paths.
Cognito User Pools Without MFA EnabledCriticalDetects Cognito user pools without multi-factor authentication, allowing single-factor access to user identities.
Lambda Functions With Unauthenticated Public URLCriticalDetects Lambda functions with publicly accessible URLs that require no authentication.
Redshift Clusters Are Publicly AccessibleCriticalDetects Redshift clusters exposed to the internet, risking unauthorized access to data warehouse contents.
RDS Database Instances Are Publicly AccessibleCriticalDetects RDS database instances that are publicly accessible from the internet.
OpenSearch Domains With Anonymous Authentication EnabledCriticalDetects OpenSearch domains allowing anonymous authentication, exposing search indexes without credentials.
EBS Snapshots Publicly SharedCriticalDetects EBS snapshots shared publicly, potentially exposing sensitive volume data.
Root Users With Active Access KeysCriticalDetects AWS root accounts with active access keys, creating a high-risk credential exposure.
CloudTrail Trails Without KMS EncryptionHighDetects CloudTrail trails without KMS encryption, leaving audit logs unprotected at rest.
CloudTrail Trails Without Log File ValidationHighDetects CloudTrail trails without log file validation, preventing tamper detection of audit logs.
CloudTrail Trails Not Configured for Multi-RegionHighDetects CloudTrail trails not configured for multi-region logging, creating gaps in audit coverage.
CloudFront Distributions Without WAF ProtectionHighDetects CloudFront distributions without WAF, leaving web applications unprotected from common attacks.
Neptune Clusters Without IAM AuthenticationHighDetects Neptune clusters without IAM authentication enabled, relying solely on network-level controls.
Neptune Clusters Without Storage EncryptionHighDetects Neptune clusters without storage encryption, leaving graph data unprotected at rest.
ElastiCache Clusters Without AuthenticationHighDetects ElastiCache clusters without AUTH token authentication, allowing unauthenticated access.
ElastiCache Clusters Without At-Rest EncryptionHighDetects ElastiCache clusters without at-rest encryption, leaving cached data unprotected on disk.
ElastiCache Clusters Without Transit EncryptionHighDetects ElastiCache clusters without in-transit encryption, exposing data during network transmission.
Redshift Clusters Without EncryptionHighDetects Redshift clusters without encryption enabled, leaving data warehouse contents unprotected.
DynamoDB Tables Without Point-in-Time RecoveryHighDetects DynamoDB tables without point-in-time recovery, limiting disaster recovery options.
AWS MemoryDB Clusters Without TLS EncryptionHighDetects MemoryDB clusters without TLS encryption, allowing unencrypted network traffic.
Load Balancers Allowing HTTP TrafficHighDetects load balancers with HTTP listeners, allowing unencrypted traffic to backend services.
IAM Users Without MFA EnabledHighDetects IAM users without multi-factor authentication, increasing the risk of unauthorized access.
IAM Users With Two Active Access KeysHighDetects IAM users with two active access keys, increasing credential exposure risk.
IAM Access Keys Not Used In Last 30 DaysHighDetects unused IAM access keys that should be removed to reduce the attack surface.
IAM Users With Console Password But No MFAHighDetects IAM users with console passwords but no MFA, leaving accounts vulnerable to credential theft.
Password Policies Not Following CIS Foundations BenchmarkHighDetects password policies not meeting CIS AWS Foundations Benchmark standards.
Unrotated IAM Access KeysHighDetects IAM access keys that have not been rotated, increasing credential compromise risk.
EC2 Security Groups Allowing Public Access On Non-Standard PortsHighDetects security groups allowing public access on non-standard ports (outside 22, 80, 443).
S3 Buckets Without Embedded PolicyHighDetects S3 buckets without an embedded bucket policy, limiting access control enforcement.
RDS Database Instances With Storage Encryption DisabledHighDetects RDS instances with storage encryption disabled, leaving database data unprotected at rest.
RDS Database Instances Without SSL ConfigurationHighDetects RDS instances without SSL configuration, allowing unencrypted database connections.
RDS Database Instances Without IAM AuthenticationHighDetects RDS instances without IAM authentication, relying solely on database-level credentials.
Unencrypted RDS Database Instance SnapshotsHighDetects unencrypted RDS snapshots, exposing database backups to unauthorized access.
S3 Buckets Without Public Access BlockHighDetects S3 buckets without public access block configuration, risking unintended public exposure.
IAM Policies Allow Assume Role Permissions Across All ServicesHighDetects IAM policies that allow assuming roles across all services, violating least privilege.
IAM Users Have Console Access Without MFA EnabledHighDetects IAM users with console access but no MFA, leaving accounts vulnerable.
S3 Buckets That Have Encryption DisabledHighDetects S3 buckets with encryption disabled, leaving stored data unprotected.
AWS Accounts Lack CloudWatch Alarms For IAM Policy ChangesHighDetects AWS accounts without CloudWatch alarms monitoring IAM policy changes.
Overly Permissive Lambda Layer Versions Have Been IdentifiedHighDetects Lambda layer versions with overly permissive IAM policies.
Root Users With MFA DisabledHighDetects root users without MFA enabled, leaving the most privileged account unprotected.
Unused IAM RolesHighDetects unused IAM roles that should be removed to reduce the potential for unintended access.
Secrets Manager Secrets Without Automatic RotationHighDetects Secrets Manager secrets without automatic rotation, increasing credential compromise risk.
Lambda Functions Running Deprecated RuntimesHighDetects Lambda functions using deprecated runtimes that no longer receive security patches.
Kinesis Streams Without EncryptionHighDetects Kinesis data streams without encryption, leaving streaming data unprotected.
SageMaker Notebooks Without KMS EncryptionHighDetects SageMaker notebook instances without KMS encryption for data protection.
SageMaker Notebooks With Root Access EnabledHighDetects SageMaker notebook instances with root access enabled, increasing the attack surface.
SageMaker Notebooks With Direct Internet AccessHighDetects SageMaker notebook instances with direct internet access, exposing them to external threats.
EBS Volumes Without EncryptionHighDetects EBS volumes without encryption, leaving block storage data unprotected at rest.
EBS Snapshots Without EncryptionHighDetects EBS snapshots without encryption, exposing volume backup data.
Lake Formation Settings Without Data Lake AdministratorsHighDetects Lake Formation settings with no data lake administrators configured, leaving governance gaps.
Lake Formation Settings With Permissive Default PermissionsHighDetects Lake Formation settings with overly permissive defaults (IAMAllowedPrincipals), bypassing fine-grained access controls.
DocumentDB Clusters Without Storage EncryptionHighDetects DocumentDB clusters without storage encryption, leaving document data unprotected at rest.
Agents With Hardcoded SecretsHighDetects AI agents containing hardcoded secrets in their code.
Agents with Sensitive Data ExposureHighDetects AI agents with sensitive data exposure in their code or prompts.
KMS Customer Managed Keys Without Automatic RotationMediumDetects KMS customer-managed keys without automatic rotation, increasing key compromise risk.
CloudTrail Trails Without CloudWatch IntegrationMediumDetects CloudTrail trails not integrated with CloudWatch, limiting real-time monitoring of API activity.
S3 Buckets Without TagsMediumDetects S3 buckets without tags, hindering resource organization and access control management.
IAM Users Without GroupsMediumDetects IAM users not assigned to groups, complicating access control management.
Empty IAM GroupsMediumDetects empty IAM groups that should be removed for a clean access structure.
IAM Users Inactive For 30 DaysMediumDetects IAM users inactive for 30 days that may need to be reviewed or deactivated.
Empty S3 BucketsMediumDetects empty S3 buckets that should be reviewed for proper resource utilization.
IAM Users Not Logged In For 90 DaysMediumDetects IAM users who have not logged in for 90 days, indicating potentially orphaned accounts.
VPCs Without Private SubnetMediumDetects VPCs without private subnets, limiting network segmentation options.
VPCs Without Public SubnetMediumDetects VPCs without public subnets, which may indicate incomplete network architecture.
Dangling EC2 Security GroupsMediumDetects security groups not attached to any resources that should be removed.
VPCs Without ResourcesMediumDetects empty VPCs with no associated resources that should be cleaned up.
EC2 Security Groups Without ResourcesMediumDetects security groups without associated resources that add unnecessary complexity.
S3 Buckets With Versioning DisabledMediumDetects S3 buckets with versioning disabled, preventing recovery of overwritten or deleted objects.
IAM Managed Policies Violating Least Privilege PrincipleMediumDetects IAM managed policies that grant overly broad permissions, violating least privilege.
S3 Buckets Without Lifecycle PolicyMediumDetects S3 buckets without lifecycle policies, leading to unbounded data growth and cost.
S3 Buckets Without Server Access LoggingMediumDetects S3 buckets without server access logging, creating blind spots in data access monitoring.
RDS Instances With Low Backup RetentionMediumDetects RDS instances with backup retention less than 7 days, limiting recovery options.
ElastiCache Clusters Without Automatic BackupsMediumDetects ElastiCache clusters without automatic backups, risking data loss.
ElastiCache Replication Groups Without Multi-AZ DeploymentMediumDetects ElastiCache replication groups without Multi-AZ, reducing high availability.
Neptune Clusters Without Multi-AZ DeploymentMediumDetects Neptune clusters without Multi-AZ deployment, reducing availability during AZ failures.
Neptune Clusters Without Deletion ProtectionMediumDetects Neptune clusters without deletion protection, risking accidental data loss.
Neptune Clusters With Low Backup RetentionMediumDetects Neptune clusters with backup retention less than 7 days.
AWS MemoryDB Clusters Without Customer-Managed EncryptionMediumDetects MemoryDB clusters without customer-managed KMS encryption, limiting key management control.
AWS MemoryDB Clusters With Low Snapshot RetentionMediumDetects MemoryDB clusters with low snapshot retention, limiting recovery windows.
Redshift Clusters Without Enhanced VPC RoutingMediumDetects Redshift clusters without enhanced VPC routing, allowing data traffic to bypass VPC controls.
DynamoDB Tables Without Deletion ProtectionMediumDetects DynamoDB tables without deletion protection, risking accidental data loss.
SNS Topics Without KMS EncryptionMediumDetects SNS topics without KMS encryption, leaving message data unprotected.
CloudWatch Log Groups Without EncryptionMediumDetects CloudWatch log groups without encryption, leaving log data unprotected at rest.
CloudWatch Log Groups Without Retention PolicyMediumDetects CloudWatch log groups without retention policies, causing unbounded log accumulation.
CloudFormation Stacks With Configuration DriftMediumDetects CloudFormation stacks with configuration drift, indicating out-of-band resource changes.
CloudFormation Stacks Without Termination ProtectionMediumDetects CloudFormation stacks without termination protection, risking accidental deletion.
Default VPCs In UseMediumDetects default VPCs in use, which have permissive default configurations.
RDS Database Instances Without Multi-AZ DeploymentMediumDetects RDS instances without Multi-AZ deployment, reducing database availability.
RDS Database Instances Without Deletion ProtectionMediumDetects RDS instances without deletion protection, risking accidental data loss.
Load Balancers Without Access LogsMediumDetects load balancers without access logging, limiting traffic analysis capabilities.
Load Balancers Without Deletion ProtectionMediumDetects load balancers without deletion protection, risking accidental removal.
DocumentDB Clusters Without Multi-AZ DeploymentMediumDetects DocumentDB clusters without Multi-AZ deployment, reducing high availability.
DocumentDB Clusters Without Deletion ProtectionMediumDetects DocumentDB clusters without deletion protection, risking accidental data loss.
AWS Glue Jobs Without Security ConfigurationMediumDetects Glue jobs without security configuration, leaving ETL data processing unencrypted.
Lambda Functions Not Connected to Asset RegistryMediumDetects Lambda functions not connected to an application via source code repositories.
Batch Job Definitions Not Connected to Asset RegistryMediumDetects Batch job definitions not connected to an application via source code repositories.
Bedrock Agent Runtimes Not Connected to Asset RegistryMediumDetects Bedrock Agent Runtimes not connected to an application via source code repositories.
SageMaker Models Not Connected to Asset RegistryMediumDetects SageMaker models not connected to an application via source code repositories.
AppRunner Services Not Connected to Asset RegistryMediumDetects App Runner services not connected to an application via source code repositories.
CodeBuild Project Environments Not Connected to Asset RegistryMediumDetects CodeBuild project environments not connected to an application via source code repositories.
Lightsail Container Services Not Connected to Asset RegistryMediumDetects Lightsail container services not connected to an application via source code repositories.
EC2 Instances Not Connected to Asset RegistryMediumDetects EC2 instances not connected to an application via source code repositories.
DynamoDB Tables Without Customer-Managed KMS EncryptionLowDetects DynamoDB tables not encrypted with a customer-managed KMS key, limiting key management control.
DynamoDB Tables Without Time-to-LiveLowDetects DynamoDB tables without TTL configured, causing stale data to accumulate indefinitely.
RDS Database Instances Without Enhanced MonitoringLowDetects RDS instances without enhanced monitoring, limiting OS-level performance visibility.
RDS Database Instances Without Performance InsightsLowDetects RDS instances without Performance Insights, limiting database performance analysis.
Lambda Functions Without X-Ray Active TracingLowDetects Lambda functions without X-Ray tracing, limiting distributed tracing capabilities.
KMS Keys Disabled or Pending DeletionLowDetects KMS keys that are disabled or pending deletion, which may disrupt dependent services.

Events

EventDescription
GenerateDataKeyGenerates a unique data key for encryption and returns the encrypted and plaintext versions.
PutObjectAdds an object to an S3 bucket.
LookupEventsQueries and retrieves CloudTrail events for auditing purposes.
GetCallerIdentityRetrieves details about the IAM identity making the request.
DecryptDecrypts ciphertext using a specified KMS key.
AssumeRoleSwitches to a role, providing temporary security credentials.
GetObjectRetrieves an object from an S3 bucket.
ListObjectsLists the objects in an S3 bucket.
BatchGetImageRetrieves metadata about container images in Amazon Elastic Container Registry (ECR).
EncryptEncrypts plaintext into ciphertext using a specified KMS key.
CreateGrantCreates a grant for a KMS key to allow access to the key.
CreateLogGroupCreates a new log group in CloudWatch Logs.
HeadBucketChecks if an S3 bucket exists and if the user has permissions to access it.
CreateLogStreamCreates a new log stream within a log group in CloudWatch Logs.
DeleteEmailIdentityDeletes an email identity used for sending emails in SES.
CompleteMultipartUploadFinalizes a multipart upload to S3 by assembling previously uploaded parts.
CreateMultipartUploadInitiates a multipart upload to S3 for large objects.
UploadPartUploads a single part of a multipart upload to S3.
CreateSecurityGroupCreates a security group, a virtual firewall for controlling inbound and outbound traffic.
HeadObjectRetrieves metadata of an object in S3 without downloading the object itself.
PreflightRequestChecks CORS permissions before making a cross-origin request.
GenerateDataKeyWithoutPlaintextGenerates an encrypted data key without providing the plaintext key to the caller.
FilterLogEventsSearches log events using filters in CloudWatch Logs.
CreateComputeEnvironmentCreates a compute environment for AWS Batch.
CreateRepositoryCreates a new repository in Amazon Elastic Container Registry (ECR).
ReadFromRepositoryReads content or metadata from a repository in ECR.
GetObjectTaggingRetrieves the tags assigned to an object in an S3 bucket.

FinOps (Cost Explorer)

The following 13 node types are collected from the AWS Cost Explorer API. All sub-API failures are non-fatal — a missing Reserved Instance or Savings Plan subscription will not abort the crawl. ExternalIDs for time-bucketed nodes include the time period to prevent graph collisions when the lookback window spans multiple months.

ResourcesSource EntityNormalized EntityDescription
Cost Explorer Serviceaws.costexplorer.AwsCostExplorerCostExplorerRoot node aggregating all AWS Cost Explorer data for an account.
Cost by Serviceaws.costexplorer.ServiceCostServiceCostTotal net amortized cost grouped by AWS service (e.g., Amazon EC2, Amazon S3) for the lookback period.
Cost by Linked Accountaws.costexplorer.LinkedAccountCostLinkedAccountCostTotal cost grouped by linked AWS account for the lookback period.
Cost by Regionaws.costexplorer.RegionCostRegionCostTotal cost grouped by AWS region for the lookback period.
Cost by Availability Zoneaws.costexplorer.AZCostAZCostTotal cost grouped by availability zone for the lookback period.
Cost by Usage Typeaws.costexplorer.UsageTypeCostUsageTypeCostTotal cost grouped by usage type (e.g., BoxUsage, DataTransfer-Out-Bytes) for the lookback period.
RI Coverageaws.costexplorer.ReservationCoverageReservationCoveragePercentage of instance hours covered by reserved instances vs on-demand for the lookback period.
RI Utilizationaws.costexplorer.ReservationUtilizationReservationUtilizationUtilization percentage, purchased hours, unused hours, and net RI savings for the lookback period.
Savings Plan Coverageaws.costexplorer.SavingsPlanCoverageSavingsPlanCoveragePercentage of spend covered by savings plans vs on-demand for the lookback period.
Savings Plan Utilizationaws.costexplorer.SavingsPlanUtilizationSavingsPlanUtilizationUtilization percentage, used/unused commitment, and net savings from savings plans for the lookback period.
Credits and Refundsaws.costexplorer.CreditAndRefundCreditAndRefundAWS credits and refunds applied to the account grouped by record type for the lookback period.
Cost Forecastaws.costexplorer.CostForecastCostForecastProjected spend for the next 30 days based on historical usage patterns.
Cost Anomalyaws.costexplorer.CostAnomalyCostAnomalyAWS-detected cost anomalies including impact, expected vs actual spend, and root cause for the lookback period.