feat(compliance): replace FedRAMP 20x pilot KSI with Consolidated Rules 2026.06.24.01 (#11701)

Co-authored-by: Ethan Troy <ethanolivertroy@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: pedrooot <pedromarting3@gmail.com>
This commit is contained in:
Ethan Troy
2026-09-14 11:53:19 +02:00
committed by GitHub
co-authored by Ethan Troy Cursor pedrooot
parent 8b265a8314
commit 1b228d590b
9 changed files with 2286 additions and 1120 deletions
@@ -1,46 +0,0 @@
import warnings
from dashboard.common_methods import get_section_containers_cis
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_DESCRIPTION",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
# Shorten the long FedRAMP KSI descriptions for better display
ksi_short_names = {
"A secure cloud service offering will protect user data, control access, and apply zero trust principles": "Identity and Access Management",
"A secure cloud service offering will use cloud native architecture and design principles to enforce and enhance the Confidentiality, Integrity and Availability of the system": "Cloud Native Architecture",
"A secure cloud service provider will ensure that all system changes are properly documented and configuration baselines are updated accordingly": "Change Management",
"A secure cloud service provider will continuously educate their employees on cybersecurity measures, testing them regularly": "Cybersecurity Education",
"A secure cloud service offering will document, report, and analyze security incidents to ensure regulatory compliance and continuous security improvement": "Incident Reporting",
"A secure cloud service offering will monitor, log, and audit all important events, activity, and changes": "Monitoring, Logging, and Auditing",
"A secure cloud service offering will have intentional, organized, universal guidance for how every information resource, including personnel, is secured": "Policy and Inventory",
"A secure cloud service offering will define, maintain, and test incident response plan(s) and recovery capabilities to ensure minimal service disruption and data loss": "Recovery Planning",
"A secure cloud service offering will follow FedRAMP encryption policies, continuously verify information resource integrity, and restrict access to third-party information resources": "Service Configuration",
"A secure cloud service offering will understand, monitor, and manage supply chain risks from third-party information resources": "Third-Party Information Resources",
}
# Replace long descriptions with short names - use contains for partial matching
if not aux.empty:
for long_desc, short_name in ksi_short_names.items():
mask = aux["REQUIREMENTS_DESCRIPTION"].str.contains(
long_desc, na=False, regex=False
)
aux.loc[mask, "REQUIREMENTS_DESCRIPTION"] = short_name
return get_section_containers_cis(
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
)
@@ -1,46 +0,0 @@
import warnings
from dashboard.common_methods import get_section_containers_cis
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_DESCRIPTION",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
# Shorten the long FedRAMP KSI descriptions for better display
ksi_short_names = {
"A secure cloud service offering will protect user data, control access, and apply zero trust principles": "Identity and Access Management",
"A secure cloud service offering will use cloud native architecture and design principles to enforce and enhance the Confidentiality, Integrity and Availability of the system": "Cloud Native Architecture",
"A secure cloud service provider will ensure that all system changes are properly documented and configuration baselines are updated accordingly": "Change Management",
"A secure cloud service provider will continuously educate their employees on cybersecurity measures, testing them regularly": "Cybersecurity Education",
"A secure cloud service offering will document, report, and analyze security incidents to ensure regulatory compliance and continuous security improvement": "Incident Reporting",
"A secure cloud service offering will monitor, log, and audit all important events, activity, and changes": "Monitoring, Logging, and Auditing",
"A secure cloud service offering will have intentional, organized, universal guidance for how every information resource, including personnel, is secured": "Policy and Inventory",
"A secure cloud service offering will define, maintain, and test incident response plan(s) and recovery capabilities to ensure minimal service disruption and data loss": "Recovery Planning",
"A secure cloud service offering will follow FedRAMP encryption policies, continuously verify information resource integrity, and restrict access to third-party information resources": "Service Configuration",
"A secure cloud service offering will understand, monitor, and manage supply chain risks from third-party information resources": "Third-Party Information Resources",
}
# Replace long descriptions with short names - use contains for partial matching
if not aux.empty:
for long_desc, short_name in ksi_short_names.items():
mask = aux["REQUIREMENTS_DESCRIPTION"].str.contains(
long_desc, na=False, regex=False
)
aux.loc[mask, "REQUIREMENTS_DESCRIPTION"] = short_name
return get_section_containers_cis(
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
)
@@ -1,46 +0,0 @@
import warnings
from dashboard.common_methods import get_section_containers_cis
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_DESCRIPTION",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
# Shorten the long FedRAMP KSI descriptions for better display
ksi_short_names = {
"A secure cloud service offering will protect user data, control access, and apply zero trust principles": "Identity and Access Management",
"A secure cloud service offering will use cloud native architecture and design principles to enforce and enhance the Confidentiality, Integrity and Availability of the system": "Cloud Native Architecture",
"A secure cloud service provider will ensure that all system changes are properly documented and configuration baselines are updated accordingly": "Change Management",
"A secure cloud service provider will continuously educate their employees on cybersecurity measures, testing them regularly": "Cybersecurity Education",
"A secure cloud service offering will document, report, and analyze security incidents to ensure regulatory compliance and continuous security improvement": "Incident Reporting",
"A secure cloud service offering will monitor, log, and audit all important events, activity, and changes": "Monitoring, Logging, and Auditing",
"A secure cloud service offering will have intentional, organized, universal guidance for how every information resource, including personnel, is secured": "Policy and Inventory",
"A secure cloud service offering will define, maintain, and test incident response plan(s) and recovery capabilities to ensure minimal service disruption and data loss": "Recovery Planning",
"A secure cloud service offering will follow FedRAMP encryption policies, continuously verify information resource integrity, and restrict access to third-party information resources": "Service Configuration",
"A secure cloud service offering will understand, monitor, and manage supply chain risks from third-party information resources": "Third-Party Information Resources",
}
# Replace long descriptions with short names - use contains for partial matching
if not aux.empty:
for long_desc, short_name in ksi_short_names.items():
mask = aux["REQUIREMENTS_DESCRIPTION"].str.contains(
long_desc, na=False, regex=False
)
aux.loc[mask, "REQUIREMENTS_DESCRIPTION"] = short_name
return get_section_containers_cis(
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
)
@@ -0,0 +1 @@
`FedRAMP-20x-KSI` universal compliance framework (`fedramp_20x_ksi_2026`) with the 46 Key Security Indicators from the FedRAMP Consolidated Rules 2026 mapped for AWS, Azure, GCP, Kubernetes and M365
@@ -0,0 +1 @@
`fedramp_20x_ksi_low_aws`, `fedramp_20x_ksi_low_azure` and `fedramp_20x_ksi_low_gcp` FedRAMP 20x Phase One pilot frameworks, superseded by `fedramp_20x_ksi_2026`
@@ -1,383 +0,0 @@
{
"Framework": "FedRAMP-20x-KSI-Low",
"Name": "FedRAMP 20x Key Security Indicators (KSIs) - Low Impact Level v25.05C",
"Version": "25.05C",
"Provider": "AWS",
"Description": "FedRAMP 20x Key Security Indicators (KSIs) Low Impact Level represent core security indicators for cloud service providers, focusing on automation, continuous monitoring, and cloud-native security principles per FedRAMP 20x Phase One pilot requirements for Low impact systems.",
"Requirements": [
{
"Id": "ksi-cmt",
"Name": "KSI-CMT: Change Management",
"Description": "A secure cloud service provider will ensure that all system changes are properly documented and configuration baselines are updated accordingly",
"Attributes": [
{
"ItemId": "ksi-cmt",
"Section": "Change Management",
"Service": "aws"
}
],
"Checks": [
"cloudtrail_multi_region_enabled",
"cloudtrail_log_file_validation_enabled",
"cloudtrail_s3_dataevents_read_enabled",
"cloudtrail_s3_dataevents_write_enabled",
"cloudwatch_changes_to_network_acls_alarm_configured",
"cloudwatch_changes_to_network_gateways_alarm_configured",
"cloudwatch_changes_to_network_route_tables_alarm_configured",
"cloudwatch_changes_to_vpcs_alarm_configured",
"cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled",
"cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled",
"cloudwatch_log_metric_filter_aws_organizations_changes",
"cloudwatch_log_metric_filter_for_s3_bucket_policy_changes",
"cloudwatch_log_metric_filter_policy_changes",
"cloudwatch_log_metric_filter_security_group_changes",
"config_recorder_all_regions_enabled",
"ec2_instance_managed_by_ssm",
"ec2_instance_older_than_specific_days",
"ssm_managed_compliant_patching"
],
"ConfigRequirements": [
{
"Check": "config_recorder_all_regions_enabled",
"ConfigKey": "mute_non_default_regions",
"Operator": "eq",
"Value": false
}
]
},
{
"Id": "ksi-cna",
"Name": "KSI-CNA: Cloud Native Architecture",
"Description": "A secure cloud service offering will use cloud native architecture and design principles to enforce and enhance the Confidentiality, Integrity and Availability of the system",
"Attributes": [
{
"ItemId": "ksi-cna",
"Section": "Cloud Native Architecture",
"Service": "aws"
}
],
"Checks": [
"autoscaling_group_multiple_az",
"autoscaling_group_multiple_instance_types",
"autoscaling_group_capacity_rebalance_enabled",
"dynamodb_tables_pitr_enabled",
"dynamodb_table_deletion_protection_enabled",
"ec2_instance_imdsv2_enabled",
"ec2_networkacl_allow_ingress_any_port",
"ec2_securitygroup_default_restrict_traffic",
"ec2_securitygroup_allow_ingress_from_internet_to_any_port",
"eks_cluster_network_policy_enabled",
"eks_cluster_not_publicly_accessible",
"eks_cluster_private_nodes_enabled",
"eks_cluster_uses_a_supported_version",
"elb_cross_zone_load_balancing_enabled",
"elbv2_is_in_multiple_az",
"elbv2_waf_acl_attached",
"rds_instance_multi_az",
"rds_cluster_multi_az",
"vpc_subnet_no_public_ip_by_default",
"vpc_peering_routing_tables_with_least_privilege",
"ec2_confidential_workload_host_imdsv2_not_enforced"
]
},
{
"Id": "ksi-iam",
"Name": "KSI-IAM: Identity and Access Management",
"Description": "A secure cloud service offering will protect user data, control access, and apply zero trust principles",
"Attributes": [
{
"ItemId": "ksi-iam",
"Section": "Identity and Access Management",
"Service": "aws"
}
],
"Checks": [
"iam_inline_policy_no_wildcard_marketplace_subscribe",
"iam_policy_no_wildcard_marketplace_subscribe",
"iam_administrator_access_with_mfa",
"iam_aws_attached_policy_no_administrative_privileges",
"iam_customer_attached_policy_no_administrative_privileges",
"iam_inline_policy_no_administrative_privileges",
"iam_no_custom_policy_permissive_role_assumption",
"iam_no_root_access_key",
"iam_password_policy_expires_passwords_within_90_days_or_less",
"iam_password_policy_lowercase",
"iam_password_policy_minimum_length_14",
"iam_password_policy_number",
"iam_password_policy_reuse_24",
"iam_password_policy_symbol",
"iam_password_policy_uppercase",
"iam_policy_attached_only_to_group_or_roles",
"iam_policy_no_full_access_to_cloudtrail",
"iam_policy_no_full_access_to_kms",
"iam_root_hardware_mfa_enabled",
"iam_root_mfa_enabled",
"iam_rotate_access_key_90_days",
"iam_role_access_not_stale_to_bedrock",
"iam_user_access_not_stale_to_bedrock",
"iam_user_access_not_stale_to_sagemaker",
"iam_user_accesskey_unused",
"iam_user_console_access_unused",
"iam_user_hardware_mfa_enabled",
"iam_user_mfa_enabled_console_access",
"iam_user_two_active_access_key",
"organizations_scp_check_deny_regions",
"organizations_opt_out_ai_services_policy"
]
},
{
"Id": "ksi-inr",
"Name": "KSI-INR: Incident Response",
"Description": "A secure cloud service offering will respond to incidents according to FedRAMP requirements and cloud service provider policies",
"Attributes": [
{
"ItemId": "ksi-inr",
"Section": "Incident Response",
"Service": "aws"
}
],
"Checks": [
"guardduty_centrally_managed",
"guardduty_ec2_malware_protection_enabled",
"guardduty_eks_audit_log_enabled",
"guardduty_eks_runtime_monitoring_enabled",
"guardduty_is_enabled",
"guardduty_lambda_protection_enabled",
"guardduty_no_high_severity_findings",
"guardduty_rds_protection_enabled",
"guardduty_s3_protection_enabled",
"inspector2_is_enabled",
"inspector2_active_findings_exist",
"securityhub_enabled",
"sns_topics_kms_encryption_at_rest_enabled"
],
"ConfigRequirements": [
{
"Check": "guardduty_is_enabled",
"ConfigKey": "mute_non_default_regions",
"Operator": "eq",
"Value": false
},
{
"Check": "securityhub_enabled",
"ConfigKey": "mute_non_default_regions",
"Operator": "eq",
"Value": false
}
]
},
{
"Id": "ksi-mla",
"Name": "KSI-MLA: Monitoring, Logging, and Auditing",
"Description": "A secure cloud service offering will monitor, log, and audit all important events, activity, and changes",
"Attributes": [
{
"ItemId": "ksi-mla",
"Section": "Monitoring, Logging, and Auditing",
"Service": "aws"
}
],
"Checks": [
"apigateway_restapi_logging_enabled",
"cloudtrail_cloudwatch_logging_enabled",
"cloudtrail_kms_encryption_enabled",
"cloudtrail_log_file_validation_enabled",
"cloudtrail_multi_region_enabled",
"cloudtrail_s3_dataevents_read_enabled",
"cloudtrail_s3_dataevents_write_enabled",
"cloudwatch_log_group_kms_encryption_enabled",
"cloudwatch_log_group_retention_policy_specific_days_enabled",
"ecs_cluster_container_insights_enabled",
"eks_control_plane_logging_all_types_enabled",
"elb_logging_enabled",
"elbv2_logging_enabled",
"inspector2_is_enabled",
"opensearch_service_domains_cloudwatch_logging_enabled",
"rds_instance_enhanced_monitoring_enabled",
"rds_instance_integration_cloudwatch_logs",
"redshift_cluster_audit_logging",
"s3_bucket_server_access_logging_enabled",
"vpc_flow_logs_enabled",
"wafv2_webacl_logging_enabled",
"kms_key_enclave_debug_attestation_detected",
"kms_key_enclave_attestation_unknown_image"
]
},
{
"Id": "ksi-piy",
"Name": "KSI-PIY: Policy and Inventory",
"Description": "A secure cloud service offering will have intentional, organized, universal guidance for how every information resource, including personnel, is secured",
"Attributes": [
{
"ItemId": "ksi-piy",
"Section": "Policy and Inventory",
"Service": "aws"
}
],
"Checks": [
"config_recorder_all_regions_enabled",
"config_recorder_using_aws_service_role",
"ec2_instance_managed_by_ssm",
"organizations_account_part_of_organizations",
"organizations_delegated_administrators",
"organizations_scp_check_deny_regions",
"organizations_tags_policies_enabled_and_attached",
"resourceexplorer2_indexes_found",
"trustedadvisor_premium_support_plan_subscribed"
],
"ConfigRequirements": [
{
"Check": "config_recorder_all_regions_enabled",
"ConfigKey": "mute_non_default_regions",
"Operator": "eq",
"Value": false
}
]
},
{
"Id": "ksi-rpl",
"Name": "KSI-RPL: Recovery Planning",
"Description": "A secure cloud service offering will define, maintain, and test incident response plan(s) and recovery capabilities to ensure minimal service disruption and data loss",
"Attributes": [
{
"ItemId": "ksi-rpl",
"Section": "Recovery Planning",
"Service": "aws"
}
],
"Checks": [
"backup_plans_exist",
"backup_reportplans_exist",
"backup_vaults_exist",
"backup_vaults_encrypted",
"backup_recovery_point_encrypted",
"dlm_ebs_snapshot_lifecycle_policy_exists",
"dynamodb_tables_pitr_enabled",
"dynamodb_table_deletion_protection_enabled",
"efs_have_backup_enabled",
"fsx_file_system_copy_tags_to_backups_enabled",
"rds_instance_backup_enabled",
"rds_instance_deletion_protection",
"rds_cluster_deletion_protection",
"rds_snapshots_encrypted",
"redshift_cluster_automated_snapshot"
]
},
{
"Id": "ksi-svc",
"Name": "KSI-SVC: Service Configuration",
"Description": "A secure cloud service offering will follow FedRAMP encryption policies, continuously verify information resource integrity, and restrict access to third-party information resources",
"Attributes": [
{
"ItemId": "ksi-svc",
"Section": "Service Configuration",
"Service": "aws"
}
],
"Checks": [
"acm_certificates_expiration_check",
"apigateway_restapi_cache_encrypted",
"cloudtrail_kms_encryption_enabled",
"dynamodb_accelerator_cluster_encryption_enabled",
"dynamodb_tables_kms_cmk_encryption_enabled",
"ec2_ebs_volume_encryption",
"ec2_ebs_default_encryption",
"efs_encryption_at_rest_enabled",
"eks_cluster_kms_cmk_encryption_in_secrets_enabled",
"elasticache_redis_cluster_rest_encryption_enabled",
"elasticache_redis_cluster_in_transit_encryption_enabled",
"elbv2_ssl_listeners",
"kinesis_stream_encrypted_at_rest",
"kms_cmk_rotation_enabled",
"kms_cmk_not_deleted_unintentionally",
"kms_key_not_publicly_accessible",
"rds_instance_storage_encrypted",
"rds_cluster_storage_encrypted",
"redshift_cluster_encrypted_at_rest",
"redshift_cluster_in_transit_encryption_enabled",
"s3_bucket_default_encryption",
"s3_bucket_secure_transport_policy",
"sagemaker_notebook_instance_encryption_enabled",
"sns_topics_kms_encryption_at_rest_enabled",
"sqs_queues_server_side_encryption_enabled",
"kms_key_enclave_attestation_not_enforced"
]
},
{
"Id": "ksi-tpr",
"Name": "KSI-TPR: Third-Party Information Resources",
"Description": "A secure cloud service offering will understand, monitor, and manage supply chain risks from third-party information resources",
"Attributes": [
{
"ItemId": "ksi-tpr",
"Section": "Third-Party Information Resources",
"Service": "aws"
}
],
"Checks": [
"ecr_registry_scan_images_on_push_enabled",
"ecr_repositories_lifecycle_policy_enabled",
"ecr_repositories_not_publicly_accessible",
"ecr_repositories_scan_images_on_push_enabled",
"ecr_repositories_scan_vulnerabilities_in_latest_image",
"ecr_repositories_tag_immutability",
"inspector2_active_findings_exist",
"inspector2_is_enabled",
"awslambda_function_using_supported_runtimes",
"ssm_managed_compliant_patching",
"trustedadvisor_premium_support_plan_subscribed",
"guardduty_no_high_severity_findings"
]
},
{
"Id": "ksi-iam-07",
"Name": "KSI-IAM-07: Account Lifecycle Management",
"Description": "Securely manage the lifecycle and privileges of all accounts, roles, and groups",
"Attributes": [
{
"ItemId": "ksi-iam-07",
"Section": "Identity and Access Management",
"Service": "aws"
}
],
"Checks": [
"iam_no_root_access_key",
"iam_policy_attached_only_to_group_or_roles",
"iam_rotate_access_key_90_days",
"iam_role_access_not_stale_to_bedrock",
"iam_user_access_not_stale_to_bedrock",
"iam_user_access_not_stale_to_sagemaker",
"iam_user_accesskey_unused",
"iam_user_console_access_unused",
"organizations_delegated_administrators"
]
},
{
"Id": "ksi-mla-07",
"Name": "KSI-MLA-07: Monitoring and Logging Inventory",
"Description": "Maintain a list of information resources and event types that will be monitored, logged, and audited",
"Attributes": [
{
"ItemId": "ksi-mla-07",
"Section": "Monitoring, Logging, and Auditing",
"Service": "aws"
}
],
"Checks": [
"cloudtrail_multi_region_enabled",
"cloudwatch_log_group_retention_policy_specific_days_enabled",
"config_recorder_all_regions_enabled",
"inspector2_is_enabled",
"resourceexplorer2_indexes_found"
],
"ConfigRequirements": [
{
"Check": "config_recorder_all_regions_enabled",
"ConfigKey": "mute_non_default_regions",
"Operator": "eq",
"Value": false
}
]
}
]
}
@@ -1,305 +0,0 @@
{
"Framework": "FedRAMP-20x-KSI-Low",
"Name": "FedRAMP 20x Key Security Indicators (KSIs) - Low Impact Level v25.05C",
"Version": "25.05C",
"Provider": "Azure",
"Description": "FedRAMP 20x Key Security Indicators (KSIs) Low Impact Level represent core security indicators for cloud service providers, focusing on automation, continuous monitoring, and cloud-native security principles per FedRAMP 20x Phase One pilot requirements for Low impact systems.",
"Requirements": [
{
"Id": "ksi-cmt",
"Name": "KSI-CMT: Change Management",
"Description": "A secure cloud service provider will ensure that all system changes are properly documented and configuration baselines are updated accordingly",
"Attributes": [
{
"ItemId": "ksi-cmt",
"Section": "Change Management",
"Service": "azure"
}
],
"Checks": [
"monitor_alert_create_policy_assignment",
"monitor_alert_create_update_sqlserver_fr",
"monitor_alert_delete_sqlserver_fr",
"monitor_alert_create_update_nsg",
"monitor_alert_create_update_public_ip_address_rule",
"monitor_alert_create_update_security_solution",
"monitor_alert_delete_nsg",
"monitor_alert_delete_policy_assignment",
"monitor_alert_delete_public_ip_address_rule",
"monitor_alert_delete_security_solution",
"monitor_diagnostic_setting_with_appropriate_categories",
"defender_assessments_vm_endpoint_protection_installed"
]
},
{
"Id": "ksi-cna",
"Name": "KSI-CNA: Cloud Native Architecture",
"Description": "A secure cloud service offering will use cloud native architecture and design principles to enforce and enhance the Confidentiality, Integrity and Availability of the system",
"Attributes": [
{
"ItemId": "ksi-cna",
"Section": "Cloud Native Architecture",
"Service": "azure"
}
],
"Checks": [
"aks_clusters_created_with_private_nodes",
"aks_clusters_public_access_disabled",
"aks_network_policy_enabled",
"app_function_vnet_integration_enabled",
"app_function_not_publicly_accessible",
"containerregistry_not_publicly_accessible",
"containerregistry_uses_private_link",
"cosmosdb_account_use_private_endpoints",
"cosmosdb_account_firewall_use_selected_networks",
"databricks_workspace_vnet_injection_enabled",
"keyvault_access_only_through_private_endpoints",
"keyvault_private_endpoints",
"network_bastion_host_exists",
"network_flow_log_captured_sent",
"network_ssh_internet_access_restricted",
"network_rdp_internet_access_restricted",
"network_watcher_enabled",
"storage_default_network_access_rule_is_denied"
]
},
{
"Id": "ksi-iam",
"Name": "KSI-IAM: Identity and Access Management",
"Description": "A secure cloud service offering will protect user data, control access, and apply zero trust principles",
"Attributes": [
{
"ItemId": "ksi-iam",
"Section": "Identity and Access Management",
"Service": "azure"
}
],
"Checks": [
"entra_conditional_access_policy_require_mfa_for_management_api",
"entra_global_admin_in_less_than_five_users",
"entra_non_privileged_user_has_mfa",
"entra_policy_default_users_cannot_create_security_groups",
"entra_policy_ensure_default_user_cannot_create_apps",
"entra_policy_ensure_default_user_cannot_create_tenants",
"entra_policy_guest_invite_only_for_admin_roles",
"entra_policy_guest_users_access_restrictions",
"entra_policy_restricts_user_consent_for_apps",
"entra_policy_user_consent_for_verified_apps",
"entra_privileged_user_has_mfa",
"entra_security_defaults_enabled",
"entra_trusted_named_locations_exists",
"entra_user_with_vm_access_has_mfa",
"entra_users_cannot_create_microsoft_365_groups",
"iam_custom_role_has_permissions_to_administer_resource_locks",
"iam_role_user_access_admin_restricted",
"iam_subscription_roles_owner_custom_not_created",
"keyvault_rbac_enabled",
"app_function_identity_is_configured",
"app_function_identity_without_admin_privileges",
"app_ensure_auth_is_set_up",
"app_register_with_identity"
]
},
{
"Id": "ksi-inr",
"Name": "KSI-INR: Incident Response",
"Description": "A secure cloud service offering will respond to incidents according to FedRAMP requirements and cloud service provider policies",
"Attributes": [
{
"ItemId": "ksi-inr",
"Section": "Incident Response",
"Service": "azure"
}
],
"Checks": [
"defender_attack_path_notifications_properly_configured",
"defender_ensure_notify_alerts_severity_is_high",
"defender_ensure_notify_emails_to_owners",
"defender_additional_email_configured_with_a_security_contact",
"defender_container_images_resolved_vulnerabilities",
"defender_container_images_scan_enabled",
"defender_ensure_defender_for_app_services_is_on",
"defender_ensure_defender_for_arm_is_on",
"defender_ensure_defender_for_azure_sql_databases_is_on",
"defender_ensure_defender_for_containers_is_on",
"defender_ensure_defender_for_cosmosdb_is_on",
"defender_ensure_defender_for_databases_is_on",
"defender_ensure_defender_for_dns_is_on",
"defender_ensure_defender_for_keyvault_is_on",
"defender_ensure_defender_for_os_relational_databases_is_on",
"defender_ensure_defender_for_server_is_on",
"defender_ensure_defender_for_sql_servers_is_on",
"defender_ensure_defender_for_storage_is_on",
"defender_ensure_iot_hub_defender_is_on",
"defender_ensure_wdatp_is_enabled"
]
},
{
"Id": "ksi-mla",
"Name": "KSI-MLA: Monitoring, Logging, and Auditing",
"Description": "A secure cloud service offering will monitor, log, and audit all important events, activity, and changes",
"Attributes": [
{
"ItemId": "ksi-mla",
"Section": "Monitoring, Logging, and Auditing",
"Service": "azure"
}
],
"Checks": [
"app_function_application_insights_enabled",
"app_http_logs_enabled",
"appinsights_ensure_is_configured",
"defender_auto_provisioning_log_analytics_agent_vms_on",
"defender_auto_provisioning_vulnerabilty_assessments_machines_on",
"keyvault_logging_enabled",
"monitor_diagnostic_setting_with_appropriate_categories",
"monitor_diagnostic_settings_exists",
"network_flow_log_captured_sent",
"network_flow_log_more_than_90_days",
"network_watcher_enabled",
"postgresql_flexible_server_log_checkpoints_on",
"postgresql_flexible_server_log_connections_on",
"postgresql_flexible_server_log_disconnections_on",
"sqlserver_auditing_enabled",
"sqlserver_auditing_retention_90_days"
]
},
{
"Id": "ksi-piy",
"Name": "KSI-PIY: Policy and Inventory",
"Description": "A secure cloud service offering will have intentional, organized, universal guidance for how every information resource, including personnel, is secured",
"Attributes": [
{
"ItemId": "ksi-piy",
"Section": "Policy and Inventory",
"Service": "azure"
}
],
"Checks": [
"defender_ensure_defender_for_containers_is_on",
"defender_ensure_defender_for_app_services_is_on",
"defender_ensure_defender_for_azure_sql_databases_is_on",
"defender_ensure_defender_for_keyvault_is_on",
"defender_ensure_defender_for_server_is_on",
"defender_ensure_defender_for_sql_servers_is_on",
"defender_ensure_defender_for_storage_is_on"
]
},
{
"Id": "ksi-rpl",
"Name": "KSI-RPL: Recovery Planning",
"Description": "A secure cloud service offering will define, maintain, and test incident response plan(s) and recovery capabilities to ensure minimal service disruption and data loss",
"Attributes": [
{
"ItemId": "ksi-rpl",
"Section": "Recovery Planning",
"Service": "azure"
}
],
"Checks": [
"mysql_flexible_server_geo_redundant_backup_enabled",
"postgresql_flexible_server_geo_redundant_backup_enabled",
"storage_geo_redundant_enabled",
"storage_infrastructure_encryption_is_enabled",
"storage_ensure_soft_delete_is_enabled",
"vm_backup_enabled",
"vm_sufficient_daily_backup_retention_period"
]
},
{
"Id": "ksi-svc",
"Name": "KSI-SVC: Service Configuration",
"Description": "A secure cloud service offering will follow FedRAMP encryption policies, continuously verify information resource integrity, and restrict access to third-party information resources",
"Attributes": [
{
"ItemId": "ksi-svc",
"Section": "Service Configuration",
"Service": "azure"
}
],
"Checks": [
"app_client_certificates_on",
"app_ensure_http_is_redirected_to_https",
"app_minimum_tls_version_12",
"containerregistry_admin_user_disabled",
"cosmosdb_account_use_aad_and_rbac",
"databricks_workspace_cmk_encryption_enabled",
"keyvault_key_expiration_set_in_non_rbac",
"keyvault_key_rotation_enabled",
"keyvault_non_rbac_secret_expiration_set",
"mysql_flexible_server_ssl_connection_enabled",
"mysql_flexible_server_minimum_tls_version_12",
"postgresql_flexible_server_enforce_ssl_enabled",
"defender_ensure_defender_for_sql_servers_is_on",
"sqlserver_tde_encrypted_with_cmk",
"sqlserver_tde_encryption_enabled",
"sqlserver_recommended_minimal_tls_version",
"storage_secure_transfer_required_is_enabled",
"storage_ensure_encryption_with_customer_managed_keys",
"storage_infrastructure_encryption_is_enabled",
"storage_ensure_minimum_tls_version_12",
"vm_ensure_attached_disks_encrypted_with_cmk"
]
},
{
"Id": "ksi-tpr",
"Name": "KSI-TPR: Third-Party Information Resources",
"Description": "A secure cloud service offering will understand, monitor, and manage supply chain risks from third-party information resources",
"Attributes": [
{
"ItemId": "ksi-tpr",
"Section": "Third-Party Information Resources",
"Service": "azure"
}
],
"Checks": [
"app_ensure_java_version_is_latest",
"app_ensure_php_version_is_latest",
"app_ensure_python_version_is_latest",
"app_function_latest_runtime_version",
"defender_container_images_resolved_vulnerabilities",
"defender_container_images_scan_enabled",
"defender_ensure_system_updates_are_applied",
"defender_assessments_vm_endpoint_protection_installed"
]
},
{
"Id": "ksi-iam-07",
"Name": "KSI-IAM-07: Account Lifecycle Management",
"Description": "Securely manage the lifecycle and privileges of all accounts, roles, and groups",
"Attributes": [
{
"ItemId": "ksi-iam-07",
"Section": "Identity and Access Management",
"Service": "azure"
}
],
"Checks": [
"entra_non_privileged_user_has_mfa",
"entra_privileged_user_has_mfa",
"entra_user_with_recent_sign_in",
"entra_user_with_vm_access_has_mfa",
"iam_custom_role_has_permissions_to_administer_resource_locks",
"iam_role_user_access_admin_restricted",
"app_function_identity_is_configured"
]
},
{
"Id": "ksi-mla-07",
"Name": "KSI-MLA-07: Monitoring and Logging Inventory",
"Description": "Maintain a list of information resources and event types that will be monitored, logged, and audited",
"Attributes": [
{
"ItemId": "ksi-mla-07",
"Section": "Monitoring, Logging, and Auditing",
"Service": "azure"
}
],
"Checks": [
"monitor_diagnostic_setting_with_appropriate_categories",
"monitor_diagnostic_settings_exists",
"network_watcher_enabled"
]
}
]
}
File diff suppressed because it is too large Load Diff
@@ -1,294 +0,0 @@
{
"Framework": "FedRAMP-20x-KSI-Low",
"Name": "FedRAMP 20x Key Security Indicators (KSIs) - Low Impact Level v25.05C",
"Version": "25.05C",
"Provider": "GCP",
"Description": "FedRAMP 20x Key Security Indicators (KSIs) Low Impact Level represent core security indicators for cloud service providers, focusing on automation, continuous monitoring, and cloud-native security principles per FedRAMP 20x Phase One pilot requirements for Low impact systems.",
"Requirements": [
{
"Id": "ksi-cmt",
"Name": "KSI-CMT: Change Management",
"Description": "A secure cloud service provider will ensure that all system changes are properly documented and configuration baselines are updated accordingly",
"Attributes": [
{
"ItemId": "ksi-cmt",
"Section": "Change Management",
"Service": "gcp"
}
],
"Checks": [
"iam_audit_logs_enabled",
"iam_cloud_asset_inventory_enabled",
"logging_log_metric_filter_and_alert_for_audit_configuration_changes_enabled",
"logging_log_metric_filter_and_alert_for_bucket_permission_changes_enabled",
"logging_log_metric_filter_and_alert_for_custom_role_changes_enabled",
"logging_log_metric_filter_and_alert_for_project_ownership_changes_enabled",
"logging_log_metric_filter_and_alert_for_sql_instance_configuration_changes_enabled",
"logging_log_metric_filter_and_alert_for_vpc_firewall_rule_changes_enabled",
"logging_log_metric_filter_and_alert_for_vpc_network_changes_enabled",
"logging_log_metric_filter_and_alert_for_vpc_network_route_changes_enabled",
"compute_instance_serial_ports_in_use",
"compute_project_os_login_enabled"
]
},
{
"Id": "ksi-cna",
"Name": "KSI-CNA: Cloud Native Architecture",
"Description": "A secure cloud service offering will use cloud native architecture and design principles to enforce and enhance the Confidentiality, Integrity and Availability of the system",
"Attributes": [
{
"ItemId": "ksi-cna",
"Section": "Cloud Native Architecture",
"Service": "gcp"
}
],
"Checks": [
"cloudsql_instance_private_ip_assignment",
"cloudsql_instance_public_access",
"cloudsql_instance_public_ip",
"cloudstorage_bucket_uniform_bucket_level_access",
"compute_firewall_rdp_access_from_the_internet_allowed",
"compute_firewall_ssh_access_from_the_internet_allowed",
"compute_instance_block_project_wide_ssh_keys_disabled",
"compute_instance_confidential_computing_enabled",
"compute_instance_ip_forwarding_is_enabled",
"compute_instance_public_ip",
"compute_instance_shielded_vm_enabled",
"compute_loadbalancer_logging_enabled",
"compute_network_default_in_use",
"compute_network_dns_logging_enabled",
"compute_network_not_legacy",
"compute_subnet_flow_logs_enabled",
"gke_cluster_no_default_service_account"
]
},
{
"Id": "ksi-iam",
"Name": "KSI-IAM: Identity and Access Management",
"Description": "A secure cloud service offering will protect user data, control access, and apply zero trust principles",
"Attributes": [
{
"ItemId": "ksi-iam",
"Section": "Identity and Access Management",
"Service": "gcp"
}
],
"Checks": [
"apikeys_api_restrictions_configured",
"apikeys_key_exists",
"apikeys_key_rotated_in_90_days",
"compute_instance_default_service_account_in_use",
"compute_instance_default_service_account_in_use_with_full_api_access",
"iam_no_service_roles_at_project_level",
"iam_role_kms_enforce_separation_of_duties",
"iam_role_sa_enforce_separation_of_duties",
"iam_sa_no_administrative_privileges",
"iam_sa_no_user_managed_keys",
"iam_sa_user_managed_key_rotate_90_days",
"iam_sa_user_managed_key_unused",
"iam_service_account_unused"
]
},
{
"Id": "ksi-inr",
"Name": "KSI-INR: Incident Response",
"Description": "A secure cloud service offering will respond to incidents according to FedRAMP requirements and cloud service provider policies",
"Attributes": [
{
"ItemId": "ksi-inr",
"Section": "Incident Response",
"Service": "gcp"
}
],
"Checks": [
"iam_organization_essential_contacts_configured",
"iam_account_access_approval_enabled",
"logging_log_metric_filter_and_alert_for_audit_configuration_changes_enabled",
"logging_log_metric_filter_and_alert_for_bucket_permission_changes_enabled",
"logging_log_metric_filter_and_alert_for_custom_role_changes_enabled",
"logging_log_metric_filter_and_alert_for_project_ownership_changes_enabled",
"logging_log_metric_filter_and_alert_for_sql_instance_configuration_changes_enabled",
"logging_log_metric_filter_and_alert_for_vpc_firewall_rule_changes_enabled",
"logging_log_metric_filter_and_alert_for_vpc_network_changes_enabled",
"logging_log_metric_filter_and_alert_for_vpc_network_route_changes_enabled"
]
},
{
"Id": "ksi-mla",
"Name": "KSI-MLA: Monitoring, Logging, and Auditing",
"Description": "A secure cloud service offering will monitor, log, and audit all important events, activity, and changes",
"Attributes": [
{
"ItemId": "ksi-mla",
"Section": "Monitoring, Logging, and Auditing",
"Service": "gcp"
}
],
"Checks": [
"cloudsql_instance_postgres_enable_pgaudit_flag",
"cloudsql_instance_postgres_log_connections_flag",
"cloudsql_instance_postgres_log_disconnections_flag",
"cloudsql_instance_postgres_log_error_verbosity_flag",
"cloudsql_instance_postgres_log_min_duration_statement_flag",
"cloudsql_instance_postgres_log_min_error_statement_flag",
"cloudsql_instance_postgres_log_min_messages_flag",
"cloudsql_instance_postgres_log_statement_flag",
"cloudsql_instance_sqlserver_trace_flag",
"cloudstorage_bucket_log_retention_policy_lock",
"compute_loadbalancer_logging_enabled",
"compute_network_dns_logging_enabled",
"compute_subnet_flow_logs_enabled",
"iam_audit_logs_enabled",
"logging_log_metric_filter_and_alert_for_audit_configuration_changes_enabled",
"logging_log_metric_filter_and_alert_for_bucket_permission_changes_enabled",
"logging_log_metric_filter_and_alert_for_custom_role_changes_enabled",
"logging_log_metric_filter_and_alert_for_project_ownership_changes_enabled",
"logging_log_metric_filter_and_alert_for_sql_instance_configuration_changes_enabled",
"logging_log_metric_filter_and_alert_for_vpc_firewall_rule_changes_enabled",
"logging_log_metric_filter_and_alert_for_vpc_network_changes_enabled",
"logging_log_metric_filter_and_alert_for_vpc_network_route_changes_enabled",
"logging_sink_created"
]
},
{
"Id": "ksi-piy",
"Name": "KSI-PIY: Policy and Inventory",
"Description": "A secure cloud service offering will have intentional, organized, universal guidance for how every information resource, including personnel, is secured",
"Attributes": [
{
"ItemId": "ksi-piy",
"Section": "Policy and Inventory",
"Service": "gcp"
}
],
"Checks": [
"iam_cloud_asset_inventory_enabled",
"iam_organization_essential_contacts_configured",
"iam_audit_logs_enabled",
"compute_project_os_login_enabled",
"compute_instance_serial_ports_in_use",
"compute_instance_block_project_wide_ssh_keys_disabled",
"logging_sink_created"
]
},
{
"Id": "ksi-rpl",
"Name": "KSI-RPL: Recovery Planning",
"Description": "A secure cloud service offering will define, maintain, and test incident response plan(s) and recovery capabilities to ensure minimal service disruption and data loss",
"Attributes": [
{
"ItemId": "ksi-rpl",
"Section": "Recovery Planning",
"Service": "gcp"
}
],
"Checks": [
"cloudsql_instance_automated_backups",
"cloudstorage_bucket_log_retention_policy_lock",
"cloudstorage_bucket_versioning_enabled",
"cloudstorage_bucket_lifecycle_management_enabled"
]
},
{
"Id": "ksi-svc",
"Name": "KSI-SVC: Service Configuration",
"Description": "A secure cloud service offering will follow FedRAMP encryption policies, continuously verify information resource integrity, and restrict access to third-party information resources",
"Attributes": [
{
"ItemId": "ksi-svc",
"Section": "Service Configuration",
"Service": "gcp"
}
],
"Checks": [
"bigquery_dataset_cmk_encryption",
"bigquery_table_cmk_encryption",
"cloudsql_instance_mysql_local_infile_flag",
"cloudsql_instance_mysql_skip_show_database_flag",
"cloudsql_instance_postgres_enable_pgaudit_flag",
"cloudsql_instance_postgres_log_connections_flag",
"cloudsql_instance_postgres_log_disconnections_flag",
"cloudsql_instance_postgres_log_error_verbosity_flag",
"cloudsql_instance_postgres_log_min_duration_statement_flag",
"cloudsql_instance_postgres_log_min_error_statement_flag",
"cloudsql_instance_postgres_log_min_messages_flag",
"cloudsql_instance_postgres_log_statement_flag",
"cloudsql_instance_sqlserver_contained_database_authentication_flag",
"cloudsql_instance_sqlserver_cross_db_ownership_chaining_flag",
"cloudsql_instance_sqlserver_external_scripts_enabled_flag",
"cloudsql_instance_sqlserver_remote_access_flag",
"cloudsql_instance_sqlserver_trace_flag",
"cloudsql_instance_sqlserver_user_connections_flag",
"cloudsql_instance_sqlserver_user_options_flag",
"cloudsql_instance_ssl_connections",
"compute_instance_encryption_with_csek_enabled",
"compute_instance_shielded_vm_enabled",
"dataproc_encrypted_with_cmks_disabled",
"dns_dnssec_disabled",
"dns_rsasha1_in_use_to_key_sign_in_dnssec",
"dns_rsasha1_in_use_to_zone_sign_in_dnssec",
"kms_key_not_publicly_accessible",
"kms_key_rotation_enabled"
]
},
{
"Id": "ksi-tpr",
"Name": "KSI-TPR: Third-Party Information Resources",
"Description": "A secure cloud service offering will understand, monitor, and manage supply chain risks from third-party information resources",
"Attributes": [
{
"ItemId": "ksi-tpr",
"Section": "Third-Party Information Resources",
"Service": "gcp"
}
],
"Checks": [
"artifacts_container_analysis_enabled",
"gcr_container_scanning_enabled",
"compute_public_address_shodan",
"cloudsql_instance_automated_backups",
"iam_sa_user_managed_key_rotate_90_days",
"iam_service_account_unused",
"gemini_api_disabled"
]
},
{
"Id": "ksi-iam-07",
"Name": "KSI-IAM-07: Account Lifecycle Management",
"Description": "Securely manage the lifecycle and privileges of all accounts, roles, and groups",
"Attributes": [
{
"ItemId": "ksi-iam-07",
"Section": "Identity and Access Management",
"Service": "gcp"
}
],
"Checks": [
"apikeys_key_rotated_in_90_days",
"iam_sa_user_managed_key_rotate_90_days",
"iam_sa_user_managed_key_unused",
"iam_service_account_unused",
"compute_instance_default_service_account_in_use"
]
},
{
"Id": "ksi-mla-07",
"Name": "KSI-MLA-07: Monitoring and Logging Inventory",
"Description": "Maintain a list of information resources and event types that will be monitored, logged, and audited",
"Attributes": [
{
"ItemId": "ksi-mla-07",
"Section": "Monitoring, Logging, and Auditing",
"Service": "gcp"
}
],
"Checks": [
"iam_audit_logs_enabled",
"iam_cloud_asset_inventory_enabled",
"logging_sink_created",
"compute_subnet_flow_logs_enabled",
"compute_network_dns_logging_enabled"
]
}
]
}