awslabs / aws-config-rules
Components & Dependencies

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

  • A software system can have one or more logical decompositions.
  • A logical decomposition can be defined in two ways in Sokrates.
  • First approach is based on the folders structure. Components are mapped to folders at defined folder depth relative to the source code root.
  • Second approach is based on explicit definition of each component. In such explicit definitions, components are explicitly named and their files are selected based on explicitly defined path and content filters.
  • A logical decomposition is considered invalid if a file is selected into two or more components.This constraint is introduced in order to facilitate measuring of dependencies among components.
  • Files not assigned to any component are put into a special "Unclassified" component.
Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

  • primary (93 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure (relative to the source code root), with automatically defined folder depth to have at least 10 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 93 components.
  • 204 files, 100,135 lines of code (100.0% vs. main code).
  • "aws-config-conformance-packs" is biggest, containing 72.27% of code.
  • "python-rdklib/SECURITYHUB_ENABLED" is smallest, containing 0.02% of code.


aws-config-conformance-packs72367 LOC (72%) 80 files
python1459 LOC (1%) 24 files
python/IAM_IP_RESTRICTION559 LOC (<1%) 1 files
python/EBS_ENCRYPTED_VOLUMES_V2485 LOC (<1%) 1 files
python/S3_PUBLIC_ACCESS_SETTINGS_FOR_ACCOUNT469 LOC (<1%) 2 files
python/EMR_SECURITY_GROUPS_RESTRICTED404 LOC (<1%) 1 files
python/CLOUDTRAIL_ENABLED_V2401 LOC (<1%) 1 files
python/IAM_USER_USED_LAST_90_DAYS392 LOC (<1%) 1 files
python/VPC_FLOW_LOGS_ENABLED_CUSTOM375 LOC (<1%) 1 files
python/API_GW_PRIVATE_RESTRICTED375 LOC (<1%) 1 files
python/IAM_USER_MFA_ENABLED373 LOC (<1%) 1 files
python/AMI_OUTDATED_CHECK366 LOC (<1%) 1 files
python/API_GW_RESTRICTED_IP366 LOC (<1%) 1 files
python/VPC_SG_OPEN_ONLY_TO_AUTHORIZED_PORTS355 LOC (<1%) 1 files
python/IAM_ACCESS_KEY_ROTATED342 LOC (<1%) 1 files
python/LAMBDA_CONCURRENCY_CHECK342 LOC (<1%) 1 files
java/src338 LOC (<1%) 4 files
python/VPC_ENDPOINT_DEFAULT_POLICY334 LOC (<1%) 1 files
python/BUSINESS_SUPPORT_OR_ABOVE_ENABLED325 LOC (<1%) 1 files
python/SNS_ENCRYPTED_TOPIC_CHECK318 LOC (<1%) 1 files
python/KMS_KEYS_TO_NOT_DELETE317 LOC (<1%) 1 files
python/ALB_HTTP_TO_HTTPS_REDIRECTION_CHECK317 LOC (<1%) 1 files
python/ELASTICACHE_REDIS_CLUSTER_AUTO_BACKUP_CHECK311 LOC (<1%) 1 files
python/GUARDDUTY_UNTREATED_FINDINGS306 LOC (<1%) 1 files
python/IAM_ROLE_NO_POLICY_FULL_STAR304 LOC (<1%) 1 files
python/IAM_USER_NO_POLICY_FULL_STAR304 LOC (<1%) 1 files
python/EC2_SECURITY_GROUP_NOT_USED304 LOC (<1%) 1 files
python/IAM_GROUP_NO_POLICY_FULL_STAR304 LOC (<1%) 1 files
python/ECR_REPOSITORY_SCAN_ON_PUSH_CHECK303 LOC (<1%) 1 files
python/ELB_ALB_PREDEFINED_SSL_CHECK297 LOC (<1%) 1 files
python/EMR_KERBEROS_ENABLED297 LOC (<1%) 1 files
python/API_GW_AUTHORIZER_IN_PLACE296 LOC (<1%) 1 files
python/S3_VPC_ENDPOINT_ENABLED291 LOC (<1%) 1 files
python/EC2_SECURITY_GROUP_BADINGRESS289 LOC (<1%) 1 files
python/LAMBDA_CODE_IS_VERSIONED288 LOC (<1%) 1 files
python/EC2_TAG_MATCHES_INSTANCE_PROFILE_NAME286 LOC (<1%) 1 files
python/API_GW_NOT_EDGE_OPTIMISED286 LOC (<1%) 1 files
python/SQS_TRANSIT_ENCRYPTION_CHECK286 LOC (<1%) 1 files
python/SQS_PUBLIC_ACCESS_CHECK286 LOC (<1%) 1 files
python/LAMBDA_DLQ_CHECK284 LOC (<1%) 1 files
python/DYNAMODB_ENCRYPTED_CUSTOM283 LOC (<1%) 1 files
python/EMR_MASTER_NO_PUBLIC_IP282 LOC (<1%) 1 files
python/IAM_NO_USER281 LOC (<1%) 1 files
python/ELASTICSEARCH_IN_VPC_ONLY279 LOC (<1%) 1 files
python/AMI_OWNERID_CHECK279 LOC (<1%) 1 files
python/AMI_NOT_PUBLIC_CHECK278 LOC (<1%) 1 files
python/CLOUDTRAIL_S3_DATAEVENTS_ENABLED277 LOC (<1%) 1 files
python/ENTERPRISE_SUPPORT_PLAN_ENABLED277 LOC (<1%) 1 files
python/EBS_SNAPSHOT_PUBLIC_RESTORABLE_CHECK277 LOC (<1%) 1 files
python/SQS_ENCRYPTION_CHECK277 LOC (<1%) 1 files
python/ECS_ECRIMAGE_CHECK275 LOC (<1%) 1 files
python/SAGEMAKER_NOTEBOOK_NO_DIRECT_INTERNET_ACCESS275 LOC (<1%) 1 files
python/WAFV2_WEBACL_LOGGING_ENABLED275 LOC (<1%) 1 files
python/API_GW_EXECUTION_LOGGING_ENABLED274 LOC (<1%) 1 files
python/REST_API_GW_CUSTOMDOMAIN_CHECK273 LOC (<1%) 1 files
python/RDS_ENHANCED_MONITORING_ENABLED271 LOC (<1%) 1 files
python/IAM_POLICY_REQUIRED271 LOC (<1%) 1 files
python/VPC_ENDPOINT_MANUAL_ACCEPTANCE270 LOC (<1%) 1 files
python/IAM_USER_MATCHES_REGEX_PATTERN269 LOC (<1%) 1 files
python/IAM_USER_PERMISSION_BOUNDARY_CHECK269 LOC (<1%) 1 files
python/SHIELD_ADVANCED_ENABLED_AUTORENEW269 LOC (<1%) 1 files
python/INTERNET_GATEWAY_AUTHORIZED_ONLY268 LOC (<1%) 1 files
python/ECS_AWSLOGS_CHECK268 LOC (<1%) 1 files
python/S3_BUCKET_NAMING_CONVENTION268 LOC (<1%) 1 files
python/SECRETSMANAGER_MAX_SECRET_AGE265 LOC (<1%) 1 files
python/LAMBDA_ROLE_ALLOWED_ON_LOGGING264 LOC (<1%) 1 files
python/SAGEMAKER_NOTEBOOK_KMS_CONFIGURED263 LOC (<1%) 1 files
python/VPC_VPN_2_TUNNELS_UP263 LOC (<1%) 1 files
python/SAGEMAKER_ENDPOINT_CONFIG_KMS_KEY_CONFIGURED263 LOC (<1%) 1 files
python/SNS_TOPIC_EMAIL_SUB_IN_DOMAINS262 LOC (<1%) 1 files
python/EFS_ENCRYPTED_CHECK258 LOC (<1%) 1 files
python/EKS_LOGGING_CHECK257 LOC (<1%) 1 files
python/CLOUDWATCH_LOG_GROUP_ENCRYPTED256 LOC (<1%) 1 files
python/EKS_PUBLIC_ACCESS256 LOC (<1%) 1 files
python/ELB_DELETION_PROTECTION_ENABLED255 LOC (<1%) 1 files
python-rdklib/EC2_INSTANCE_EBS_VOLUME_TAGS_MATCH254 LOC (<1%) 3 files
python/CLOUDFRONT_LOGGING_ENABLED252 LOC (<1%) 1 files
python/ELASTICSEARCH_ENCRYPTED_AT_REST250 LOC (<1%) 1 files
python/INSTANCE_PROFILE_HAVE_DEFINED_POLICIES248 LOC (<1%) 1 files
python/API_GW_CACHE_ENABLED_AND_ENCRYPTED244 LOC (<1%) 1 files
python/CLOUDFRONT_WEBACL_CHECK244 LOC (<1%) 1 files
python/SHIELD_DRT_ACCESS243 LOC (<1%) 1 files
python/ROOT_NO_ACCESS_KEY242 LOC (<1%) 1 files
python/DMS_REPLICATION_NOT_PUBLIC241 LOC (<1%) 1 files
python/LAMBDA_INSIDE_VPC240 LOC (<1%) 1 files
python/CLOUDFRONT_VIEWER_POLICY_HTTPS233 LOC (<1%) 1 files
python/API_GW_ENDPOINT_TYPE_CHECK233 LOC (<1%) 1 files
node230 LOC (<1%) 4 files
python/EC2_INSTANCE_NO_PUBLIC_IP229 LOC (<1%) 1 files
python/' RDK parameters.json for AWS Managed Config Rules229 LOC (<1%) 1 files
python/REDSHIFT_CLUSTER_PUBLIC_ACCESS_CHECK228 LOC (<1%) 1 files
python-rdklib/AMI_DEPRECATED_CHECK125 LOC (<1%) 1 files
python-rdklib/SECURITYHUB_ENABLED22 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-01-31 18:07