Repository | databricks / terraform-databricks-examples |
Description | Examples of using Terraform to deploy Databricks resources |
Stars | 124 |
---|---|
Failed Checks |
Security Scanning |
Scan Date | 2023-10-30 17:57:40 |
Security Scanning
This repository failed the Experience Builder Terraform Module's Security Scanning validation. This means that a security scanning tool was not found to be implemented in any of the CICD tool configuration files in the repository.
There is an opportunity to:
- Remediate the findings identified by one of the recommended
Terraform security scanning tools (example
checkov
output found below) - Implement one of the security scanning tools within the CICD framework used by the repository
Checkov Output
2023-10-05 14:56:09,117 [MainThread ] [WARNI] Failed to download module terraform-aws-modules/vpc/aws:3.2.0 (for external modules, the --download-external-modules flag is required)
2023-10-05 14:56:09,117 [MainThread ] [WARNI] Failed to download module terraform-aws-modules/vpc/aws//modules/vpc-endpoints:3.2.0 (for external modules, the --download-external-modules flag is required)
2023-10-05 14:56:09,117 [MainThread ] [WARNI] Failed to download module terraform-aws-modules/vpc/aws//modules/vpc-endpoints:3.11.0 (for external modules, the --download-external-modules flag is required)
2023-10-05 14:56:09,117 [MainThread ] [WARNI] Failed to download module github.com/databricks/terraform-databricks-examples/modules/adb-with-private-links-exfiltration-protection:None (for external modules, the --download-external-modules flag is required)
2023-10-05 14:56:09,117 [MainThread ] [WARNI] Failed to download module github.com/databricks/terraform-databricks-examples/modules/adb-with-private-link-standard:None (for external modules, the --download-external-modules flag is required)
2023-10-05 14:56:09,118 [MainThread ] [WARNI] Failed to download module github.com/databricks/terraform-databricks-examples/modules/aws-workspace-basic:None (for external modules, the --download-external-modules flag is required)
2023-10-05 14:56:09,118 [MainThread ] [WARNI] Failed to download module github.com/databricks/terraform-databricks-examples/modules/aws-workspace-with-firewall:None (for external modules, the --download-external-modules flag is required)
2023-10-05 14:56:09,118 [MainThread ] [WARNI] Failed to download module github.com/databricks/terraform-databricks-examples/modules/aws-exfiltration-protection:None (for external modules, the --download-external-modules flag is required)
2023-10-05 14:56:09,118 [MainThread ] [WARNI] Failed to download module github.com/databricks/terraform-databricks-examples/modules/adb-exfiltration-protection:None (for external modules, the --download-external-modules flag is required)
terraform scan results:
Passed checks: 602, Failed checks: 303, Skipped checks: 0
Check: CKV_AZURE_109: "Ensure that key vault allows firewall rules settings"
FAILED for resource: azurerm_key_vault.akv1
File: /examples/adb-external-hive-metastore/akv.tf:1-10
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-key-vault-allows-firewall-rules-settings.html
1 | resource "azurerm_key_vault" "akv1" {
2 | name = "${local.prefix}-akv"
3 | location = azurerm_resource_group.this.location
4 | resource_group_name = azurerm_resource_group.this.name
5 | enabled_for_disk_encryption = true
6 | tenant_id = data.azurerm_client_config.current.tenant_id
7 | soft_delete_retention_days = 7
8 | purge_protection_enabled = false
9 | sku_name = "standard"
10 | }
Check: CKV_AZURE_42: "Ensure the key vault is recoverable"
FAILED for resource: azurerm_key_vault.akv1
File: /examples/adb-external-hive-metastore/akv.tf:1-10
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-the-key-vault-is-recoverable.html
1 | resource "azurerm_key_vault" "akv1" {
2 | name = "${local.prefix}-akv"
3 | location = azurerm_resource_group.this.location
4 | resource_group_name = azurerm_resource_group.this.name
5 | enabled_for_disk_encryption = true
6 | tenant_id = data.azurerm_client_config.current.tenant_id
7 | soft_delete_retention_days = 7
8 | purge_protection_enabled = false
9 | sku_name = "standard"
10 | }
Check: CKV_AZURE_189: "Ensure that Azure Key Vault disables public network access"
FAILED for resource: azurerm_key_vault.akv1
File: /examples/adb-external-hive-metastore/akv.tf:1-10
1 | resource "azurerm_key_vault" "akv1" {
2 | name = "${local.prefix}-akv"
3 | location = azurerm_resource_group.this.location
4 | resource_group_name = azurerm_resource_group.this.name
5 | enabled_for_disk_encryption = true
6 | tenant_id = data.azurerm_client_config.current.tenant_id
7 | soft_delete_retention_days = 7
8 | purge_protection_enabled = false
9 | sku_name = "standard"
10 | }
Check: CKV_AZURE_110: "Ensure that key vault enables purge protection"
FAILED for resource: azurerm_key_vault.akv1
File: /examples/adb-external-hive-metastore/akv.tf:1-10
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-that-key-vault-enables-purge-protection.html
1 | resource "azurerm_key_vault" "akv1" {
2 | name = "${local.prefix}-akv"
3 | location = azurerm_resource_group.this.location
4 | resource_group_name = azurerm_resource_group.this.name
5 | enabled_for_disk_encryption = true
6 | tenant_id = data.azurerm_client_config.current.tenant_id
7 | soft_delete_retention_days = 7
8 | purge_protection_enabled = false
9 | sku_name = "standard"
10 | }
Check: CKV_AZURE_44: "Ensure Storage Account is using the latest version of TLS encryption"
FAILED for resource: azurerm_storage_account.sqlserversa
File: /examples/adb-external-hive-metastore/sqlserver.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-storage-policies/bc-azr-storage-2.html
1 | resource "azurerm_storage_account" "sqlserversa" {
2 | name = "${random_string.naming.result}sqlserversa"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | }
Check: CKV_AZURE_206: "Ensure that Storage Accounts use replication"
FAILED for resource: azurerm_storage_account.sqlserversa
File: /examples/adb-external-hive-metastore/sqlserver.tf:1-7
1 | resource "azurerm_storage_account" "sqlserversa" {
2 | name = "${random_string.naming.result}sqlserversa"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | }
Check: CKV_AZURE_190: "Ensure that Storage blobs restrict public access"
FAILED for resource: azurerm_storage_account.sqlserversa
File: /examples/adb-external-hive-metastore/sqlserver.tf:1-7
1 | resource "azurerm_storage_account" "sqlserversa" {
2 | name = "${random_string.naming.result}sqlserversa"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | }
Check: CKV_AZURE_33: "Ensure Storage logging is enabled for Queue service for read, write and delete requests"
FAILED for resource: azurerm_storage_account.sqlserversa
File: /examples/adb-external-hive-metastore/sqlserver.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/enable-requests-on-storage-logging-for-queue-service.html
1 | resource "azurerm_storage_account" "sqlserversa" {
2 | name = "${random_string.naming.result}sqlserversa"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | }
Check: CKV_AZURE_59: "Ensure that Storage accounts disallow public access"
FAILED for resource: azurerm_storage_account.sqlserversa
File: /examples/adb-external-hive-metastore/sqlserver.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-storage-accounts-disallow-public-access.html
1 | resource "azurerm_storage_account" "sqlserversa" {
2 | name = "${random_string.naming.result}sqlserversa"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | }
Check: CKV_AZURE_113: "Ensure that SQL server disables public network access"
FAILED for resource: azurerm_mssql_server.metastoreserver
File: /examples/adb-external-hive-metastore/sqlserver.tf:9-17
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-sql-server-disables-public-network-access.html
9 | resource "azurerm_mssql_server" "metastoreserver" {
10 | name = "${random_string.naming.result}mssqlserver"
11 | resource_group_name = azurerm_resource_group.this.name
12 | location = azurerm_resource_group.this.location
13 | version = "12.0"
14 | administrator_login = var.db_username // sensitive data stored as env variables locally
15 | administrator_login_password = var.db_password
16 | public_network_access_enabled = true // consider to disable public access to the server, to set as false
17 | }
Check: CKV_AZURE_52: "Ensure MSSQL is using the latest version of TLS encryption"
FAILED for resource: azurerm_mssql_server.metastoreserver
File: /examples/adb-external-hive-metastore/sqlserver.tf:9-17
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-mssql-is-using-the-latest-version-of-tls-encryption.html
9 | resource "azurerm_mssql_server" "metastoreserver" {
10 | name = "${random_string.naming.result}mssqlserver"
11 | resource_group_name = azurerm_resource_group.this.name
12 | location = azurerm_resource_group.this.location
13 | version = "12.0"
14 | administrator_login = var.db_username // sensitive data stored as env variables locally
15 | administrator_login_password = var.db_password
16 | public_network_access_enabled = true // consider to disable public access to the server, to set as false
17 | }
Check: CKV_AZURE_224: "Ensure that the Ledger feature is enabled on database that requires cryptographic proof and nonrepudiation of data integrity"
FAILED for resource: azurerm_mssql_database.sqlmetastore
File: /examples/adb-external-hive-metastore/sqlserver.tf:19-30
19 | resource "azurerm_mssql_database" "sqlmetastore" {
20 | name = "${random_string.naming.result}metastore"
21 | server_id = azurerm_mssql_server.metastoreserver.id
22 | collation = "SQL_Latin1_General_CP1_CI_AS"
23 | license_type = "LicenseIncluded"
24 | read_scale = true
25 | max_size_gb = 4
26 | sku_name = "BC_Gen5_2"
27 | zone_redundant = true
28 | tags = local.tags
29 |
30 | }
Check: CKV_AZURE_41: "Ensure that the expiration date is set on all secrets"
FAILED for resource: azurerm_key_vault_secret.hiveurl
File: /examples/adb-external-hive-metastore/stage-2-workspace-objects/secrets.tf:10-14
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-secrets-policies/set-an-expiration-date-on-all-secrets.html
10 | resource "azurerm_key_vault_secret" "hiveurl" {
11 | name = "HIVE-URL"
12 | value = local.db_url
13 | key_vault_id = var.key_vault_id
14 | }
Check: CKV_AZURE_114: "Ensure that key vault secrets have "content_type" set"
FAILED for resource: azurerm_key_vault_secret.hiveurl
File: /examples/adb-external-hive-metastore/stage-2-workspace-objects/secrets.tf:10-14
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-that-key-vault-secrets-have-content-type-set.html
10 | resource "azurerm_key_vault_secret" "hiveurl" {
11 | name = "HIVE-URL"
12 | value = local.db_url
13 | key_vault_id = var.key_vault_id
14 | }
Check: CKV_AZURE_41: "Ensure that the expiration date is set on all secrets"
FAILED for resource: azurerm_key_vault_secret.hiveuser
File: /examples/adb-external-hive-metastore/stage-2-workspace-objects/secrets.tf:16-20
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-secrets-policies/set-an-expiration-date-on-all-secrets.html
16 | resource "azurerm_key_vault_secret" "hiveuser" {
17 | name = "HIVE-USER"
18 | value = var.db_username # use local group instead of var
19 | key_vault_id = var.key_vault_id
20 | }
Check: CKV_AZURE_114: "Ensure that key vault secrets have "content_type" set"
FAILED for resource: azurerm_key_vault_secret.hiveuser
File: /examples/adb-external-hive-metastore/stage-2-workspace-objects/secrets.tf:16-20
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-that-key-vault-secrets-have-content-type-set.html
16 | resource "azurerm_key_vault_secret" "hiveuser" {
17 | name = "HIVE-USER"
18 | value = var.db_username # use local group instead of var
19 | key_vault_id = var.key_vault_id
20 | }
Check: CKV_AZURE_41: "Ensure that the expiration date is set on all secrets"
FAILED for resource: azurerm_key_vault_secret.hivepwd
File: /examples/adb-external-hive-metastore/stage-2-workspace-objects/secrets.tf:22-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-secrets-policies/set-an-expiration-date-on-all-secrets.html
22 | resource "azurerm_key_vault_secret" "hivepwd" {
23 | name = "HIVE-PASSWORD"
24 | value = var.db_password
25 | key_vault_id = var.key_vault_id
26 | }
Check: CKV_AZURE_114: "Ensure that key vault secrets have "content_type" set"
FAILED for resource: azurerm_key_vault_secret.hivepwd
File: /examples/adb-external-hive-metastore/stage-2-workspace-objects/secrets.tf:22-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-that-key-vault-secrets-have-content-type-set.html
22 | resource "azurerm_key_vault_secret" "hivepwd" {
23 | name = "HIVE-PASSWORD"
24 | value = var.db_password
25 | key_vault_id = var.key_vault_id
26 | }
Check: CKV_AZURE_158: "Ensure that databricks workspace has not public"
FAILED for resource: azurerm_databricks_workspace.this
File: /examples/adb-external-hive-metastore/workspace.tf:1-22
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-azure-databricks-workspace-is-not-public.html
1 | resource "azurerm_databricks_workspace" "this" {
2 | name = "${local.prefix}-workspace"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | sku = "premium"
6 | tags = local.tags
7 | customer_managed_key_enabled = true
8 | custom_parameters {
9 | no_public_ip = var.no_public_ip
10 | virtual_network_id = azurerm_virtual_network.this.id
11 | private_subnet_name = azurerm_subnet.private.name
12 | public_subnet_name = azurerm_subnet.public.name
13 | public_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.public.id
14 | private_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.private.id
15 | storage_account_name = local.dbfsname
16 | }
17 | # We need this, otherwise destroy doesn't cleanup things correctly
18 | depends_on = [
19 | azurerm_subnet_network_security_group_association.public,
20 | azurerm_subnet_network_security_group_association.private
21 | ]
22 | }
Check: CKV_AZURE_50: "Ensure Virtual Machine Extensions are not Installed"
FAILED for resource: module.kafka_broker.azurerm_linux_virtual_machine.general_vm
File: /examples/adb-kafka/modules/general_vm/main.tf:32-63
Calling File: /examples/adb-kafka/main.tf:25-31
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/bc-azr-general-14.html
32 | resource "azurerm_linux_virtual_machine" "general_vm" {
33 | name = "${var.vm_name}-vm"
34 | resource_group_name = var.resource_group_name
35 | location = var.region
36 | size = "Standard_D16s_v3"
37 | admin_username = "azureuser"
38 |
39 | network_interface_ids = [
40 | azurerm_network_interface.general-nic.id,
41 | ]
42 |
43 | admin_ssh_key {
44 | username = "azureuser"
45 | public_key = tls_private_key.general_ssh.public_key_openssh // using generated ssh key
46 | }
47 |
48 | os_disk {
49 | caching = "ReadWrite"
50 | storage_account_type = "Standard_LRS"
51 | }
52 |
53 | source_image_reference {
54 | publisher = "Canonical"
55 | offer = "0001-com-ubuntu-server-focal"
56 | sku = "20_04-lts-gen2"
57 | version = "latest"
58 | }
59 |
60 | depends_on = [
61 | local_file.private_key,
62 | ]
63 | }
Check: CKV_AZURE_93: "Ensure that managed disks use a specific set of disk encryption sets for the customer-managed key encryption"
FAILED for resource: module.kafka_broker.azurerm_managed_disk.general_disk
File: /examples/adb-kafka/modules/general_vm/main.tf:65-72
Calling File: /examples/adb-kafka/main.tf:25-31
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-that-managed-disks-use-a-specific-set-of-disk-encryption-sets-for-the-customer-managed-key-encryption.html
65 | resource "azurerm_managed_disk" "general_disk" {
66 | name = "${var.vm_name}-disk"
67 | location = var.region
68 | resource_group_name = var.resource_group_name
69 | storage_account_type = "Standard_LRS"
70 | create_option = "Empty"
71 | disk_size_gb = 60
72 | }
Check: CKV_AZURE_10: "Ensure that SSH access is restricted from the internet"
FAILED for resource: azurerm_network_security_group.vmnsg
File: /examples/adb-kafka/vnet.tf:9-25
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/bc-azr-networking-3.html
9 | resource "azurerm_network_security_group" "vmnsg" {
10 | name = "${local.prefix}-vm-nsg"
11 | location = azurerm_resource_group.this.location
12 | resource_group_name = azurerm_resource_group.this.name
13 |
14 | security_rule {
15 | name = "allow_ssh"
16 | priority = 200
17 | direction = "Inbound"
18 | access = "Allow"
19 | protocol = "Tcp"
20 | source_port_range = "*"
21 | destination_port_range = "22"
22 | source_address_prefix = "*"
23 | destination_address_prefix = "*"
24 | }
25 | }
Check: CKV_AZURE_158: "Ensure that databricks workspace has not public"
FAILED for resource: azurerm_databricks_workspace.this
File: /examples/adb-kafka/workspace.tf:1-23
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-azure-databricks-workspace-is-not-public.html
1 | resource "azurerm_databricks_workspace" "this" {
2 | name = "${local.prefix}-workspace"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | sku = "premium"
6 | tags = local.tags
7 | customer_managed_key_enabled = true
8 | //infrastructure_encryption_enabled = true
9 | custom_parameters {
10 | no_public_ip = var.no_public_ip
11 | virtual_network_id = azurerm_virtual_network.this.id
12 | private_subnet_name = azurerm_subnet.private.name
13 | public_subnet_name = azurerm_subnet.public.name
14 | public_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.public.id
15 | private_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.private.id
16 | storage_account_name = local.dbfsname
17 | }
18 | # We need this, otherwise destroy doesn't cleanup things correctly
19 | depends_on = [
20 | azurerm_subnet_network_security_group_association.public,
21 | azurerm_subnet_network_security_group_association.private
22 | ]
23 | }
Check: CKV_AZURE_219: "Ensure Firewall defines a firewall policy"
FAILED for resource: azurerm_firewall.hubfw
File: /examples/adb-private-links/firewall.tf:9-21
9 | resource "azurerm_firewall" "hubfw" {
10 | name = "hubfirewall"
11 | location = azurerm_resource_group.this.location
12 | resource_group_name = azurerm_resource_group.this.name
13 | sku_name = "AZFW_VNet"
14 | sku_tier = "Standard"
15 |
16 | ip_configuration {
17 | name = "configuration"
18 | subnet_id = azurerm_subnet.hubfw.id
19 | public_ip_address_id = azurerm_public_ip.fwpublicip.id
20 | }
21 | }
Check: CKV_AZURE_216: "Ensure DenyIntelMode is set to Deny for Azure Firewalls"
FAILED for resource: azurerm_firewall.hubfw
File: /examples/adb-private-links/firewall.tf:9-21
9 | resource "azurerm_firewall" "hubfw" {
10 | name = "hubfirewall"
11 | location = azurerm_resource_group.this.location
12 | resource_group_name = azurerm_resource_group.this.name
13 | sku_name = "AZFW_VNet"
14 | sku_tier = "Standard"
15 |
16 | ip_configuration {
17 | name = "configuration"
18 | subnet_id = azurerm_subnet.hubfw.id
19 | public_ip_address_id = azurerm_public_ip.fwpublicip.id
20 | }
21 | }
Check: CKV_AZURE_44: "Ensure Storage Account is using the latest version of TLS encryption"
FAILED for resource: module.adls_content.azurerm_storage_account.personaldropbox
File: /examples/adb-splunk/modules/adls_content/main.tf:28-34
Calling File: /examples/adb-splunk/main.tf:43-47
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-storage-policies/bc-azr-storage-2.html
28 | resource "azurerm_storage_account" "personaldropbox" {
29 | name = local.storage_account_name
30 | resource_group_name = var.rg
31 | location = var.storage_account_location
32 | account_tier = "Standard"
33 | account_replication_type = "LRS"
34 | }
Check: CKV_AZURE_206: "Ensure that Storage Accounts use replication"
FAILED for resource: module.adls_content.azurerm_storage_account.personaldropbox
File: /examples/adb-splunk/modules/adls_content/main.tf:28-34
Calling File: /examples/adb-splunk/main.tf:43-47
28 | resource "azurerm_storage_account" "personaldropbox" {
29 | name = local.storage_account_name
30 | resource_group_name = var.rg
31 | location = var.storage_account_location
32 | account_tier = "Standard"
33 | account_replication_type = "LRS"
34 | }
Check: CKV_AZURE_190: "Ensure that Storage blobs restrict public access"
FAILED for resource: module.adls_content.azurerm_storage_account.personaldropbox
File: /examples/adb-splunk/modules/adls_content/main.tf:28-34
Calling File: /examples/adb-splunk/main.tf:43-47
28 | resource "azurerm_storage_account" "personaldropbox" {
29 | name = local.storage_account_name
30 | resource_group_name = var.rg
31 | location = var.storage_account_location
32 | account_tier = "Standard"
33 | account_replication_type = "LRS"
34 | }
Check: CKV_AZURE_33: "Ensure Storage logging is enabled for Queue service for read, write and delete requests"
FAILED for resource: module.adls_content.azurerm_storage_account.personaldropbox
File: /examples/adb-splunk/modules/adls_content/main.tf:28-34
Calling File: /examples/adb-splunk/main.tf:43-47
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/enable-requests-on-storage-logging-for-queue-service.html
28 | resource "azurerm_storage_account" "personaldropbox" {
29 | name = local.storage_account_name
30 | resource_group_name = var.rg
31 | location = var.storage_account_location
32 | account_tier = "Standard"
33 | account_replication_type = "LRS"
34 | }
Check: CKV_AZURE_59: "Ensure that Storage accounts disallow public access"
FAILED for resource: module.adls_content.azurerm_storage_account.personaldropbox
File: /examples/adb-splunk/modules/adls_content/main.tf:28-34
Calling File: /examples/adb-splunk/main.tf:43-47
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-storage-accounts-disallow-public-access.html
28 | resource "azurerm_storage_account" "personaldropbox" {
29 | name = local.storage_account_name
30 | resource_group_name = var.rg
31 | location = var.storage_account_location
32 | account_tier = "Standard"
33 | account_replication_type = "LRS"
34 | }
Check: CKV_AZURE_34: "Ensure that 'Public access level' is set to Private for blob containers"
FAILED for resource: module.adls_content.azurerm_storage_container.example_container
File: /examples/adb-splunk/modules/adls_content/main.tf:36-40
Calling File: /examples/adb-splunk/main.tf:43-47
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/set-public-access-level-to-private-for-blob-containers.html
36 | resource "azurerm_storage_container" "example_container" {
37 | name = "cnt1"
38 | storage_account_name = azurerm_storage_account.personaldropbox.name
39 | container_access_type = "container" // for anonymous read container from public
40 | }
Check: CKV_AZURE_50: "Ensure Virtual Machine Extensions are not Installed"
FAILED for resource: azurerm_linux_virtual_machine.example
File: /examples/adb-splunk/splunkvm.tf:32-68
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/bc-azr-general-14.html
32 | resource "azurerm_linux_virtual_machine" "example" {
33 | name = "splunk-vm"
34 | resource_group_name = azurerm_resource_group.this.name
35 | location = azurerm_resource_group.this.location
36 | size = "Standard_DS4_v2"
37 | admin_username = "azureuser"
38 |
39 | network_interface_ids = [
40 | azurerm_network_interface.splunk-nic.id,
41 | ]
42 |
43 | admin_ssh_key {
44 | username = "azureuser"
45 | public_key = tls_private_key.splunk_ssh.public_key_openssh // using generated ssh key
46 | # public_key = file("/home/azureuser/.ssh/authorized_keys") //using existing ssh key
47 | }
48 |
49 | os_disk {
50 | caching = "ReadWrite"
51 | storage_account_type = "Standard_LRS"
52 | }
53 |
54 | source_image_reference {
55 | publisher = "Canonical"
56 | offer = "0001-com-ubuntu-server-focal"
57 | sku = "20_04-lts-gen2"
58 | version = "latest"
59 | }
60 |
61 | depends_on = [
62 | local_file.private_key,
63 | local_file.setupscript,
64 | module.adls_content,
65 | azurerm_storage_blob.splunk_setup_file,
66 | azurerm_storage_blob.splunk_databricks_app_file
67 | ]
68 | }
Check: CKV_AZURE_158: "Ensure that databricks workspace has not public"
FAILED for resource: azurerm_databricks_workspace.this
File: /examples/adb-splunk/workspace.tf:1-22
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-azure-databricks-workspace-is-not-public.html
1 | resource "azurerm_databricks_workspace" "this" {
2 | name = "${local.prefix}-workspace"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | sku = "premium"
6 | tags = local.tags
7 | //infrastructure_encryption_enabled = true
8 | custom_parameters {
9 | no_public_ip = var.no_public_ip
10 | virtual_network_id = azurerm_virtual_network.this.id
11 | private_subnet_name = azurerm_subnet.private.name
12 | public_subnet_name = azurerm_subnet.public.name
13 | public_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.public.id
14 | private_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.private.id
15 | storage_account_name = local.dbfsname
16 | }
17 | # We need this, otherwise destroy doesn't cleanup things correctly
18 | depends_on = [
19 | azurerm_subnet_network_security_group_association.public,
20 | azurerm_subnet_network_security_group_association.private
21 | ]
22 | }
Check: CKV_AZURE_50: "Ensure Virtual Machine Extensions are not Installed"
FAILED for resource: azurerm_linux_virtual_machine.example
File: /examples/adb-squid-proxy/main/squid.tf:39-63
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/bc-azr-general-14.html
39 | resource "azurerm_linux_virtual_machine" "example" {
40 | name = "squid-vm"
41 | resource_group_name = azurerm_resource_group.this.name
42 | location = azurerm_resource_group.this.location
43 | size = "Standard_F2"
44 | admin_username = "azureuser"
45 |
46 | network_interface_ids = [
47 | azurerm_network_interface.squid-nic.id,
48 | ]
49 |
50 | admin_ssh_key {
51 | username = "azureuser"
52 | public_key = tls_private_key.squid_ssh.public_key_openssh // using generated ssh key
53 | # public_key = file("/home/azureuser/.ssh/authorized_keys") //using existing ssh key
54 | }
55 |
56 | os_disk {
57 | caching = "ReadWrite"
58 | storage_account_type = "Standard_LRS"
59 | }
60 |
61 | # use custom image to build vm
62 | source_image_id = data.azurerm_image.customimage.id
63 | }
Check: CKV_AZURE_44: "Ensure Storage Account is using the latest version of TLS encryption"
FAILED for resource: azurerm_storage_account.testsa
File: /examples/adb-squid-proxy/main/storage.tf:5-13
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-storage-policies/bc-azr-storage-2.html
5 | resource "azurerm_storage_account" "testsa" {
6 | name = lower(random_id.storage_account.hex)
7 | resource_group_name = azurerm_resource_group.this.name
8 | is_hns_enabled = true
9 | location = "southeastasia"
10 | account_tier = "Standard"
11 | account_replication_type = "LRS"
12 | tags = local.tags
13 | }
Check: CKV_AZURE_206: "Ensure that Storage Accounts use replication"
FAILED for resource: azurerm_storage_account.testsa
File: /examples/adb-squid-proxy/main/storage.tf:5-13
5 | resource "azurerm_storage_account" "testsa" {
6 | name = lower(random_id.storage_account.hex)
7 | resource_group_name = azurerm_resource_group.this.name
8 | is_hns_enabled = true
9 | location = "southeastasia"
10 | account_tier = "Standard"
11 | account_replication_type = "LRS"
12 | tags = local.tags
13 | }
Check: CKV_AZURE_190: "Ensure that Storage blobs restrict public access"
FAILED for resource: azurerm_storage_account.testsa
File: /examples/adb-squid-proxy/main/storage.tf:5-13
5 | resource "azurerm_storage_account" "testsa" {
6 | name = lower(random_id.storage_account.hex)
7 | resource_group_name = azurerm_resource_group.this.name
8 | is_hns_enabled = true
9 | location = "southeastasia"
10 | account_tier = "Standard"
11 | account_replication_type = "LRS"
12 | tags = local.tags
13 | }
Check: CKV_AZURE_33: "Ensure Storage logging is enabled for Queue service for read, write and delete requests"
FAILED for resource: azurerm_storage_account.testsa
File: /examples/adb-squid-proxy/main/storage.tf:5-13
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/enable-requests-on-storage-logging-for-queue-service.html
5 | resource "azurerm_storage_account" "testsa" {
6 | name = lower(random_id.storage_account.hex)
7 | resource_group_name = azurerm_resource_group.this.name
8 | is_hns_enabled = true
9 | location = "southeastasia"
10 | account_tier = "Standard"
11 | account_replication_type = "LRS"
12 | tags = local.tags
13 | }
Check: CKV_AZURE_59: "Ensure that Storage accounts disallow public access"
FAILED for resource: azurerm_storage_account.testsa
File: /examples/adb-squid-proxy/main/storage.tf:5-13
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-storage-accounts-disallow-public-access.html
5 | resource "azurerm_storage_account" "testsa" {
6 | name = lower(random_id.storage_account.hex)
7 | resource_group_name = azurerm_resource_group.this.name
8 | is_hns_enabled = true
9 | location = "southeastasia"
10 | account_tier = "Standard"
11 | account_replication_type = "LRS"
12 | tags = local.tags
13 | }
Check: CKV_AZURE_10: "Ensure that SSH access is restricted from the internet"
FAILED for resource: azurerm_network_security_rule.ssh
File: /examples/adb-squid-proxy/main/vnet.tf:101-113
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/bc-azr-networking-3.html
101 | resource "azurerm_network_security_rule" "ssh" {
102 | name = "ssh_squid"
103 | priority = 300
104 | direction = "Inbound"
105 | access = "Allow"
106 | protocol = "Tcp"
107 | source_port_range = "*"
108 | destination_port_range = "22"
109 | source_address_prefix = "*" //temporary rule for testing, allow any ip to connect; you can change to your client ip
110 | destination_address_prefix = "*"
111 | resource_group_name = azurerm_resource_group.this.name
112 | network_security_group_name = azurerm_network_security_group.squidnsg.name
113 | }
Check: CKV_AZURE_158: "Ensure that databricks workspace has not public"
FAILED for resource: azurerm_databricks_workspace.this
File: /examples/adb-squid-proxy/main/workspace.tf:5-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-azure-databricks-workspace-is-not-public.html
5 | resource "azurerm_databricks_workspace" "this" {
6 | name = "${local.prefix}-workspace"
7 | resource_group_name = azurerm_resource_group.this.name
8 | location = azurerm_resource_group.this.location
9 | sku = "premium"
10 | tags = local.tags
11 |
12 | custom_parameters {
13 | no_public_ip = true
14 | virtual_network_id = azurerm_virtual_network.dbvnet.id
15 | private_subnet_name = azurerm_subnet.private.name
16 | public_subnet_name = azurerm_subnet.public.name
17 | public_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.public.id
18 | private_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.private.id
19 | }
20 | # We need this, otherwise destroy doesn't cleanup things correctly
21 | depends_on = [
22 | azurerm_subnet_network_security_group_association.public,
23 | azurerm_subnet_network_security_group_association.private,
24 | azurerm_linux_virtual_machine.example // make sure workspace is after squid ready and configured
25 | ]
26 | }
Check: CKV_AZURE_44: "Ensure Storage Account is using the latest version of TLS encryption"
FAILED for resource: azurerm_storage_account.storage
File: /examples/adb-squid-proxy/modules/storage/main.tf:1-8
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-storage-policies/bc-azr-storage-2.html
1 | resource "azurerm_storage_account" "storage" {
2 | name = var.storagename
3 | resource_group_name = var.resource_group_name
4 | location = var.locationtest
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | is_hns_enabled = true
8 | }
Check: CKV_AZURE_206: "Ensure that Storage Accounts use replication"
FAILED for resource: azurerm_storage_account.storage
File: /examples/adb-squid-proxy/modules/storage/main.tf:1-8
1 | resource "azurerm_storage_account" "storage" {
2 | name = var.storagename
3 | resource_group_name = var.resource_group_name
4 | location = var.locationtest
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | is_hns_enabled = true
8 | }
Check: CKV_AZURE_190: "Ensure that Storage blobs restrict public access"
FAILED for resource: azurerm_storage_account.storage
File: /examples/adb-squid-proxy/modules/storage/main.tf:1-8
1 | resource "azurerm_storage_account" "storage" {
2 | name = var.storagename
3 | resource_group_name = var.resource_group_name
4 | location = var.locationtest
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | is_hns_enabled = true
8 | }
Check: CKV_AZURE_33: "Ensure Storage logging is enabled for Queue service for read, write and delete requests"
FAILED for resource: azurerm_storage_account.storage
File: /examples/adb-squid-proxy/modules/storage/main.tf:1-8
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/enable-requests-on-storage-logging-for-queue-service.html
1 | resource "azurerm_storage_account" "storage" {
2 | name = var.storagename
3 | resource_group_name = var.resource_group_name
4 | location = var.locationtest
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | is_hns_enabled = true
8 | }
Check: CKV_AZURE_59: "Ensure that Storage accounts disallow public access"
FAILED for resource: azurerm_storage_account.storage
File: /examples/adb-squid-proxy/modules/storage/main.tf:1-8
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-storage-accounts-disallow-public-access.html
1 | resource "azurerm_storage_account" "storage" {
2 | name = var.storagename
3 | resource_group_name = var.resource_group_name
4 | location = var.locationtest
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | is_hns_enabled = true
8 | }
Check: CKV_AZURE_95: "Ensure that automatic OS image patching is enabled for Virtual Machine Scale Sets"
FAILED for resource: azurerm_virtual_machine_scale_set.vmss
File: /examples/adb-squid-proxy/modules/vm/main.tf:100-158
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-that-automatic-os-image-patching-is-enabled-for-virtual-machine-scale-sets.html
Code lines for this resource are too many. Please use IDE of your choice to review the file.
Check: CKV_AZURE_50: "Ensure Virtual Machine Extensions are not Installed"
FAILED for resource: module.test_vm_instance.azurerm_linux_virtual_machine.teradatavm
File: /examples/adb-teradata/modules/teradata_vm/main.tf:32-64
Calling File: /examples/adb-teradata/main.tf:25-31
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/bc-azr-general-14.html
32 | resource "azurerm_linux_virtual_machine" "teradatavm" {
33 | name = "teradata-vm"
34 | resource_group_name = var.resource_group_name
35 | location = var.region
36 | size = "Standard_D16s_v3"
37 | admin_username = "azureuser"
38 |
39 | network_interface_ids = [
40 | azurerm_network_interface.teradata-nic.id,
41 | ]
42 |
43 | admin_ssh_key {
44 | username = "azureuser"
45 | public_key = tls_private_key.teradata_ssh.public_key_openssh // using generated ssh key
46 | # public_key = file("/home/azureuser/.ssh/authorized_keys") //using existing ssh key
47 | }
48 |
49 | os_disk {
50 | caching = "ReadWrite"
51 | storage_account_type = "Standard_LRS"
52 | }
53 |
54 | source_image_reference {
55 | publisher = "Canonical"
56 | offer = "0001-com-ubuntu-server-focal"
57 | sku = "20_04-lts-gen2"
58 | version = "latest"
59 | }
60 |
61 | depends_on = [
62 | local_file.private_key,
63 | ]
64 | }
Check: CKV_AZURE_93: "Ensure that managed disks use a specific set of disk encryption sets for the customer-managed key encryption"
FAILED for resource: module.test_vm_instance.azurerm_managed_disk.teradatadisk
File: /examples/adb-teradata/modules/teradata_vm/main.tf:66-73
Calling File: /examples/adb-teradata/main.tf:25-31
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-that-managed-disks-use-a-specific-set-of-disk-encryption-sets-for-the-customer-managed-key-encryption.html
66 | resource "azurerm_managed_disk" "teradatadisk" {
67 | name = "${var.naming_prefix}-disk1"
68 | location = var.region
69 | resource_group_name = var.resource_group_name
70 | storage_account_type = "Standard_LRS"
71 | create_option = "Empty"
72 | disk_size_gb = 60
73 | }
Check: CKV_AZURE_10: "Ensure that SSH access is restricted from the internet"
FAILED for resource: azurerm_network_security_group.vmnsg
File: /examples/adb-teradata/vnet.tf:9-47
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/bc-azr-networking-3.html
9 | resource "azurerm_network_security_group" "vmnsg" {
10 | name = "${local.prefix}-vm-nsg"
11 | location = azurerm_resource_group.this.location
12 | resource_group_name = azurerm_resource_group.this.name
13 |
14 | security_rule {
15 | name = "allow_ssh"
16 | priority = 200
17 | direction = "Inbound"
18 | access = "Allow"
19 | protocol = "Tcp"
20 | source_port_range = "*"
21 | destination_port_range = "22"
22 | source_address_prefix = "*"
23 | destination_address_prefix = "*"
24 | }
25 | security_rule {
26 | name = "teradata_in"
27 | priority = 210
28 | direction = "Inbound"
29 | access = "Allow"
30 | protocol = "Tcp"
31 | source_port_range = "*"
32 | destination_port_range = "1025"
33 | source_address_prefix = "*"
34 | destination_address_prefix = "*"
35 | }
36 | security_rule {
37 | name = "teradata_out"
38 | priority = 210
39 | direction = "Outbound"
40 | access = "Allow"
41 | protocol = "Tcp"
42 | source_port_range = "*"
43 | destination_port_range = "1025"
44 | source_address_prefix = "*"
45 | destination_address_prefix = "*"
46 | }
47 | }
Check: CKV_AZURE_158: "Ensure that databricks workspace has not public"
FAILED for resource: azurerm_databricks_workspace.this
File: /examples/adb-teradata/workspace.tf:1-23
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-azure-databricks-workspace-is-not-public.html
1 | resource "azurerm_databricks_workspace" "this" {
2 | name = "${local.prefix}-workspace"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | sku = "premium"
6 | tags = local.tags
7 | customer_managed_key_enabled = true
8 | //infrastructure_encryption_enabled = true
9 | custom_parameters {
10 | no_public_ip = var.no_public_ip
11 | virtual_network_id = azurerm_virtual_network.this.id
12 | private_subnet_name = azurerm_subnet.private.name
13 | public_subnet_name = azurerm_subnet.public.name
14 | public_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.public.id
15 | private_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.private.id
16 | storage_account_name = local.dbfsname
17 | }
18 | # We need this, otherwise destroy doesn't cleanup things correctly
19 | depends_on = [
20 | azurerm_subnet_network_security_group_association.public,
21 | azurerm_subnet_network_security_group_association.private
22 | ]
23 | }
Check: CKV_AZURE_44: "Ensure Storage Account is using the latest version of TLS encryption"
FAILED for resource: azurerm_storage_account.unity_catalog
File: /examples/adb-uc/stage_3_spn_deploys_uc/storage.tf:10-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-storage-policies/bc-azr-storage-2.html
10 | resource "azurerm_storage_account" "unity_catalog" {
11 | name = "${local.prefix}ucmetastore"
12 | resource_group_name = data.azurerm_resource_group.this.name
13 | location = data.azurerm_resource_group.this.location
14 | tags = data.azurerm_resource_group.this.tags
15 | account_tier = "Standard"
16 | account_replication_type = "ZRS"
17 | is_hns_enabled = true
18 |
19 | network_rules {
20 | default_action = "Deny"
21 | bypass = ["None"]
22 | private_link_access {
23 | endpoint_resource_id = azurerm_databricks_access_connector.unity.id
24 | }
25 | }
26 | }
Check: CKV_AZURE_206: "Ensure that Storage Accounts use replication"
FAILED for resource: azurerm_storage_account.unity_catalog
File: /examples/adb-uc/stage_3_spn_deploys_uc/storage.tf:10-26
10 | resource "azurerm_storage_account" "unity_catalog" {
11 | name = "${local.prefix}ucmetastore"
12 | resource_group_name = data.azurerm_resource_group.this.name
13 | location = data.azurerm_resource_group.this.location
14 | tags = data.azurerm_resource_group.this.tags
15 | account_tier = "Standard"
16 | account_replication_type = "ZRS"
17 | is_hns_enabled = true
18 |
19 | network_rules {
20 | default_action = "Deny"
21 | bypass = ["None"]
22 | private_link_access {
23 | endpoint_resource_id = azurerm_databricks_access_connector.unity.id
24 | }
25 | }
26 | }
Check: CKV_AZURE_190: "Ensure that Storage blobs restrict public access"
FAILED for resource: azurerm_storage_account.unity_catalog
File: /examples/adb-uc/stage_3_spn_deploys_uc/storage.tf:10-26
10 | resource "azurerm_storage_account" "unity_catalog" {
11 | name = "${local.prefix}ucmetastore"
12 | resource_group_name = data.azurerm_resource_group.this.name
13 | location = data.azurerm_resource_group.this.location
14 | tags = data.azurerm_resource_group.this.tags
15 | account_tier = "Standard"
16 | account_replication_type = "ZRS"
17 | is_hns_enabled = true
18 |
19 | network_rules {
20 | default_action = "Deny"
21 | bypass = ["None"]
22 | private_link_access {
23 | endpoint_resource_id = azurerm_databricks_access_connector.unity.id
24 | }
25 | }
26 | }
Check: CKV_AZURE_33: "Ensure Storage logging is enabled for Queue service for read, write and delete requests"
FAILED for resource: azurerm_storage_account.unity_catalog
File: /examples/adb-uc/stage_3_spn_deploys_uc/storage.tf:10-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/enable-requests-on-storage-logging-for-queue-service.html
10 | resource "azurerm_storage_account" "unity_catalog" {
11 | name = "${local.prefix}ucmetastore"
12 | resource_group_name = data.azurerm_resource_group.this.name
13 | location = data.azurerm_resource_group.this.location
14 | tags = data.azurerm_resource_group.this.tags
15 | account_tier = "Standard"
16 | account_replication_type = "ZRS"
17 | is_hns_enabled = true
18 |
19 | network_rules {
20 | default_action = "Deny"
21 | bypass = ["None"]
22 | private_link_access {
23 | endpoint_resource_id = azurerm_databricks_access_connector.unity.id
24 | }
25 | }
26 | }
Check: CKV_AZURE_43: "Ensure Storage Accounts adhere to the naming rules"
FAILED for resource: azurerm_storage_account.unity_catalog
File: /examples/adb-uc/stage_3_spn_deploys_uc/storage.tf:10-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-cognitive-services-account-encryption-cmks-are-enabled.html
10 | resource "azurerm_storage_account" "unity_catalog" {
11 | name = "${local.prefix}ucmetastore"
12 | resource_group_name = data.azurerm_resource_group.this.name
13 | location = data.azurerm_resource_group.this.location
14 | tags = data.azurerm_resource_group.this.tags
15 | account_tier = "Standard"
16 | account_replication_type = "ZRS"
17 | is_hns_enabled = true
18 |
19 | network_rules {
20 | default_action = "Deny"
21 | bypass = ["None"]
22 | private_link_access {
23 | endpoint_resource_id = azurerm_databricks_access_connector.unity.id
24 | }
25 | }
26 | }
Check: CKV_AZURE_59: "Ensure that Storage accounts disallow public access"
FAILED for resource: azurerm_storage_account.unity_catalog
File: /examples/adb-uc/stage_3_spn_deploys_uc/storage.tf:10-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-storage-accounts-disallow-public-access.html
10 | resource "azurerm_storage_account" "unity_catalog" {
11 | name = "${local.prefix}ucmetastore"
12 | resource_group_name = data.azurerm_resource_group.this.name
13 | location = data.azurerm_resource_group.this.location
14 | tags = data.azurerm_resource_group.this.tags
15 | account_tier = "Standard"
16 | account_replication_type = "ZRS"
17 | is_hns_enabled = true
18 |
19 | network_rules {
20 | default_action = "Deny"
21 | bypass = ["None"]
22 | private_link_access {
23 | endpoint_resource_id = azurerm_databricks_access_connector.unity.id
24 | }
25 | }
26 | }
Check: CKV_AZURE_36: "Ensure 'Trusted Microsoft Services' is enabled for Storage Account access"
FAILED for resource: azurerm_storage_account.unity_catalog
File: /examples/adb-uc/stage_3_spn_deploys_uc/storage.tf:10-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/enable-trusted-microsoft-services-for-storage-account-access.html
10 | resource "azurerm_storage_account" "unity_catalog" {
11 | name = "${local.prefix}ucmetastore"
12 | resource_group_name = data.azurerm_resource_group.this.name
13 | location = data.azurerm_resource_group.this.location
14 | tags = data.azurerm_resource_group.this.tags
15 | account_tier = "Standard"
16 | account_replication_type = "ZRS"
17 | is_hns_enabled = true
18 |
19 | network_rules {
20 | default_action = "Deny"
21 | bypass = ["None"]
22 | private_link_access {
23 | endpoint_resource_id = azurerm_databricks_access_connector.unity.id
24 | }
25 | }
26 | }
Check: CKV_AZURE_44: "Ensure Storage Account is using the latest version of TLS encryption"
FAILED for resource: module.metastore_and_users.azurerm_storage_account.unity_catalog
File: /examples/adb-unity-catalog-basic-demo/modules/metastore-and-users/main.tf:48-56
Calling File: /examples/adb-unity-catalog-basic-demo/main.tf:56-64
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-storage-policies/bc-azr-storage-2.html
48 | resource "azurerm_storage_account" "unity_catalog" {
49 | name = "${local.prefix}storageaccuc"
50 | resource_group_name = data.azurerm_resource_group.this.name
51 | location = data.azurerm_resource_group.this.location
52 | tags = data.azurerm_resource_group.this.tags
53 | account_tier = "Standard"
54 | account_replication_type = "LRS"
55 | is_hns_enabled = true
56 | }
Check: CKV_AZURE_206: "Ensure that Storage Accounts use replication"
FAILED for resource: module.metastore_and_users.azurerm_storage_account.unity_catalog
File: /examples/adb-unity-catalog-basic-demo/modules/metastore-and-users/main.tf:48-56
Calling File: /examples/adb-unity-catalog-basic-demo/main.tf:56-64
48 | resource "azurerm_storage_account" "unity_catalog" {
49 | name = "${local.prefix}storageaccuc"
50 | resource_group_name = data.azurerm_resource_group.this.name
51 | location = data.azurerm_resource_group.this.location
52 | tags = data.azurerm_resource_group.this.tags
53 | account_tier = "Standard"
54 | account_replication_type = "LRS"
55 | is_hns_enabled = true
56 | }
Check: CKV_AZURE_190: "Ensure that Storage blobs restrict public access"
FAILED for resource: module.metastore_and_users.azurerm_storage_account.unity_catalog
File: /examples/adb-unity-catalog-basic-demo/modules/metastore-and-users/main.tf:48-56
Calling File: /examples/adb-unity-catalog-basic-demo/main.tf:56-64
48 | resource "azurerm_storage_account" "unity_catalog" {
49 | name = "${local.prefix}storageaccuc"
50 | resource_group_name = data.azurerm_resource_group.this.name
51 | location = data.azurerm_resource_group.this.location
52 | tags = data.azurerm_resource_group.this.tags
53 | account_tier = "Standard"
54 | account_replication_type = "LRS"
55 | is_hns_enabled = true
56 | }
Check: CKV_AZURE_33: "Ensure Storage logging is enabled for Queue service for read, write and delete requests"
FAILED for resource: module.metastore_and_users.azurerm_storage_account.unity_catalog
File: /examples/adb-unity-catalog-basic-demo/modules/metastore-and-users/main.tf:48-56
Calling File: /examples/adb-unity-catalog-basic-demo/main.tf:56-64
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/enable-requests-on-storage-logging-for-queue-service.html
48 | resource "azurerm_storage_account" "unity_catalog" {
49 | name = "${local.prefix}storageaccuc"
50 | resource_group_name = data.azurerm_resource_group.this.name
51 | location = data.azurerm_resource_group.this.location
52 | tags = data.azurerm_resource_group.this.tags
53 | account_tier = "Standard"
54 | account_replication_type = "LRS"
55 | is_hns_enabled = true
56 | }
Check: CKV_AZURE_43: "Ensure Storage Accounts adhere to the naming rules"
FAILED for resource: module.metastore_and_users.azurerm_storage_account.unity_catalog
File: /examples/adb-unity-catalog-basic-demo/modules/metastore-and-users/main.tf:48-56
Calling File: /examples/adb-unity-catalog-basic-demo/main.tf:56-64
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-cognitive-services-account-encryption-cmks-are-enabled.html
48 | resource "azurerm_storage_account" "unity_catalog" {
49 | name = "${local.prefix}storageaccuc"
50 | resource_group_name = data.azurerm_resource_group.this.name
51 | location = data.azurerm_resource_group.this.location
52 | tags = data.azurerm_resource_group.this.tags
53 | account_tier = "Standard"
54 | account_replication_type = "LRS"
55 | is_hns_enabled = true
56 | }
Check: CKV_AZURE_59: "Ensure that Storage accounts disallow public access"
FAILED for resource: module.metastore_and_users.azurerm_storage_account.unity_catalog
File: /examples/adb-unity-catalog-basic-demo/modules/metastore-and-users/main.tf:48-56
Calling File: /examples/adb-unity-catalog-basic-demo/main.tf:56-64
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-storage-accounts-disallow-public-access.html
48 | resource "azurerm_storage_account" "unity_catalog" {
49 | name = "${local.prefix}storageaccuc"
50 | resource_group_name = data.azurerm_resource_group.this.name
51 | location = data.azurerm_resource_group.this.location
52 | tags = data.azurerm_resource_group.this.tags
53 | account_tier = "Standard"
54 | account_replication_type = "LRS"
55 | is_hns_enabled = true
56 | }
Check: CKV_AZURE_158: "Ensure that databricks workspace has not public"
FAILED for resource: azurerm_databricks_workspace.example
File: /examples/adb-vnet-injection/workspace.tf:1-22
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-azure-databricks-workspace-is-not-public.html
1 | resource "azurerm_databricks_workspace" "example" {
2 | name = "${local.prefix}-workspace"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | sku = "premium"
6 | tags = local.tags
7 |
8 | custom_parameters {
9 | no_public_ip = var.no_public_ip
10 | virtual_network_id = azurerm_virtual_network.this.id
11 | private_subnet_name = azurerm_subnet.private.name
12 | public_subnet_name = azurerm_subnet.public.name
13 | public_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.public.id
14 | private_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.private.id
15 | storage_account_name = local.dbfsname
16 | }
17 | # We need this, otherwise destroy doesn't cleanup things correctly
18 | depends_on = [
19 | azurerm_subnet_network_security_group_association.public,
20 | azurerm_subnet_network_security_group_association.private
21 | ]
22 | }
Check: CKV_AWS_130: "Ensure VPC subnets do not assign public IP by default"
FAILED for resource: aws_subnet.public_subnets[0]
File: /examples/aws-databricks-flat/networks_special.tf:13-19
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/ensure-vpc-subnets-do-not-assign-public-ip-by-default.html
13 | resource "aws_subnet" "public_subnets" {
14 | count = length(var.public_subnets_cidr)
15 | vpc_id = aws_vpc.mainvpc.id
16 | cidr_block = var.public_subnets_cidr[count.index]
17 | availability_zone = data.aws_availability_zones.available.names[count.index]
18 | map_public_ip_on_launch = true
19 | }
Check: CKV_AWS_23: "Ensure every security groups rule has a description"
FAILED for resource: aws_security_group.test_sg
File: /examples/aws-databricks-flat/networks_special.tf:56-74
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/networking-31.html
56 | resource "aws_security_group" "test_sg" {
57 | name = "default-security-group-${local.prefix}"
58 | description = "Default security group for ${local.prefix}"
59 | vpc_id = aws_vpc.mainvpc.id
60 |
61 | ingress {
62 | from_port = 0
63 | to_port = 0
64 | protocol = -1
65 | self = true
66 | }
67 |
68 | egress {
69 | from_port = 0
70 | to_port = 0
71 | protocol = "-1"
72 | cidr_blocks = ["0.0.0.0/0"]
73 | }
74 | }
Check: CKV_AWS_53: "Ensure S3 bucket has block public ACLS enabled"
FAILED for resource: aws_s3_bucket_public_access_block.root_storage_bucket
File: /examples/aws-databricks-flat/rootbucket.tf:13-17
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/bc-aws-s3-19.html
13 | resource "aws_s3_bucket_public_access_block" "root_storage_bucket" {
14 | bucket = aws_s3_bucket.root_storage_bucket.id
15 | ignore_public_acls = true
16 | depends_on = [aws_s3_bucket.root_storage_bucket]
17 | }
Check: CKV_AWS_56: "Ensure S3 bucket has 'restrict_public_bucket' enabled"
FAILED for resource: aws_s3_bucket_public_access_block.root_storage_bucket
File: /examples/aws-databricks-flat/rootbucket.tf:13-17
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/bc-aws-s3-22.html
13 | resource "aws_s3_bucket_public_access_block" "root_storage_bucket" {
14 | bucket = aws_s3_bucket.root_storage_bucket.id
15 | ignore_public_acls = true
16 | depends_on = [aws_s3_bucket.root_storage_bucket]
17 | }
Check: CKV_AWS_54: "Ensure S3 bucket has block public policy enabled"
FAILED for resource: aws_s3_bucket_public_access_block.root_storage_bucket
File: /examples/aws-databricks-flat/rootbucket.tf:13-17
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/bc-aws-s3-20.html
13 | resource "aws_s3_bucket_public_access_block" "root_storage_bucket" {
14 | bucket = aws_s3_bucket.root_storage_bucket.id
15 | ignore_public_acls = true
16 | depends_on = [aws_s3_bucket.root_storage_bucket]
17 | }
Check: CKV_AWS_109: "Ensure IAM policies does not allow permissions management / resource exposure without constraints"
FAILED for resource: module.databricks_cmk.aws_iam_policy_document.databricks_managed_services_cmk
File: /examples/aws-databricks-modular-privatelink/modules/databricks_cmk/data.tf:1-26
Calling File: /examples/aws-databricks-modular-privatelink/main.tf:20-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-iam-policies/ensure-iam-policies-do-not-allow-permissions-management-resource-exposure-without-constraint.html
1 | data "aws_iam_policy_document" "databricks_managed_services_cmk" {
2 | version = "2012-10-17"
3 | statement {
4 | sid = "Enable IAM User Permissions"
5 | effect = "Allow"
6 | principals {
7 | type = "AWS"
8 | identifiers = [var.cmk_admin]
9 | }
10 | actions = ["kms:*"]
11 | resources = ["*"]
12 | }
13 | statement {
14 | sid = "Allow Databricks to use KMS key for control plane managed services"
15 | effect = "Allow"
16 | principals {
17 | type = "AWS"
18 | identifiers = ["arn:aws:iam::414351767826:root"]
19 | }
20 | actions = [
21 | "kms:Encrypt",
22 | "kms:Decrypt"
23 | ]
24 | resources = ["*"]
25 | }
26 | }
Check: CKV_AWS_111: "Ensure IAM policies does not allow write access without constraints"
FAILED for resource: module.databricks_cmk.aws_iam_policy_document.databricks_managed_services_cmk
File: /examples/aws-databricks-modular-privatelink/modules/databricks_cmk/data.tf:1-26
Calling File: /examples/aws-databricks-modular-privatelink/main.tf:20-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-iam-policies/ensure-iam-policies-do-not-allow-write-access-without-constraint.html
1 | data "aws_iam_policy_document" "databricks_managed_services_cmk" {
2 | version = "2012-10-17"
3 | statement {
4 | sid = "Enable IAM User Permissions"
5 | effect = "Allow"
6 | principals {
7 | type = "AWS"
8 | identifiers = [var.cmk_admin]
9 | }
10 | actions = ["kms:*"]
11 | resources = ["*"]
12 | }
13 | statement {
14 | sid = "Allow Databricks to use KMS key for control plane managed services"
15 | effect = "Allow"
16 | principals {
17 | type = "AWS"
18 | identifiers = ["arn:aws:iam::414351767826:root"]
19 | }
20 | actions = [
21 | "kms:Encrypt",
22 | "kms:Decrypt"
23 | ]
24 | resources = ["*"]
25 | }
26 | }
Check: CKV_AWS_356: "Ensure no IAM policies documents allow "*" as a statement's resource for restrictable actions"
FAILED for resource: module.databricks_cmk.aws_iam_policy_document.databricks_managed_services_cmk
File: /examples/aws-databricks-modular-privatelink/modules/databricks_cmk/data.tf:1-26
Calling File: /examples/aws-databricks-modular-privatelink/main.tf:20-26
1 | data "aws_iam_policy_document" "databricks_managed_services_cmk" {
2 | version = "2012-10-17"
3 | statement {
4 | sid = "Enable IAM User Permissions"
5 | effect = "Allow"
6 | principals {
7 | type = "AWS"
8 | identifiers = [var.cmk_admin]
9 | }
10 | actions = ["kms:*"]
11 | resources = ["*"]
12 | }
13 | statement {
14 | sid = "Allow Databricks to use KMS key for control plane managed services"
15 | effect = "Allow"
16 | principals {
17 | type = "AWS"
18 | identifiers = ["arn:aws:iam::414351767826:root"]
19 | }
20 | actions = [
21 | "kms:Encrypt",
22 | "kms:Decrypt"
23 | ]
24 | resources = ["*"]
25 | }
26 | }
Check: CKV_AWS_109: "Ensure IAM policies does not allow permissions management / resource exposure without constraints"
FAILED for resource: module.databricks_cmk.aws_iam_policy_document.databricks_storage_cmk
File: /examples/aws-databricks-modular-privatelink/modules/databricks_cmk/data.tf:28-95
Calling File: /examples/aws-databricks-modular-privatelink/main.tf:20-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-iam-policies/ensure-iam-policies-do-not-allow-permissions-management-resource-exposure-without-constraint.html
Code lines for this resource are too many. Please use IDE of your choice to review the file.
Check: CKV_AWS_111: "Ensure IAM policies does not allow write access without constraints"
FAILED for resource: module.databricks_cmk.aws_iam_policy_document.databricks_storage_cmk
File: /examples/aws-databricks-modular-privatelink/modules/databricks_cmk/data.tf:28-95
Calling File: /examples/aws-databricks-modular-privatelink/main.tf:20-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-iam-policies/ensure-iam-policies-do-not-allow-write-access-without-constraint.html
Code lines for this resource are too many. Please use IDE of your choice to review the file.
Check: CKV_AWS_356: "Ensure no IAM policies documents allow "*" as a statement's resource for restrictable actions"
FAILED for resource: module.databricks_cmk.aws_iam_policy_document.databricks_storage_cmk
File: /examples/aws-databricks-modular-privatelink/modules/databricks_cmk/data.tf:28-95
Calling File: /examples/aws-databricks-modular-privatelink/main.tf:20-26
Code lines for this resource are too many. Please use IDE of your choice to review the file.
Check: CKV_AWS_7: "Ensure rotation for customer created CMKs is enabled"
FAILED for resource: module.databricks_cmk.aws_kms_key.workspace_storage_cmk
File: /examples/aws-databricks-modular-privatelink/modules/databricks_cmk/main.tf:1-6
Calling File: /examples/aws-databricks-modular-privatelink/main.tf:20-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-logging-policies/logging-8.html
1 | resource "aws_kms_key" "workspace_storage_cmk" {
2 | policy = data.aws_iam_policy_document.databricks_storage_cmk.json
3 | tags = {
4 | Name = "${var.resource_prefix}-${var.region}-ws-cmk"
5 | }
6 | }
Check: CKV_AWS_7: "Ensure rotation for customer created CMKs is enabled"
FAILED for resource: module.databricks_cmk.aws_kms_key.managed_services_cmk
File: /examples/aws-databricks-modular-privatelink/modules/databricks_cmk/main.tf:13-18
Calling File: /examples/aws-databricks-modular-privatelink/main.tf:20-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-logging-policies/logging-8.html
13 | resource "aws_kms_key" "managed_services_cmk" {
14 | policy = data.aws_iam_policy_document.databricks_managed_services_cmk.json
15 | tags = {
16 | Name = "${var.resource_prefix}-${var.region}-ms-cmk"
17 | }
18 | }
Check: CKV_AWS_53: "Ensure S3 bucket has block public ACLS enabled"
FAILED for resource: module.workspace_collection["workspace_1"].module.my_root_bucket.aws_s3_bucket_public_access_block.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:11-15
Calling File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/main.tf:15-21
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/bc-aws-s3-19.html
11 | resource "aws_s3_bucket_public_access_block" "root_storage_bucket" {
12 | bucket = aws_s3_bucket.root_storage_bucket.id
13 | ignore_public_acls = true
14 | depends_on = [aws_s3_bucket.root_storage_bucket]
15 | }
Check: CKV_AWS_56: "Ensure S3 bucket has 'restrict_public_bucket' enabled"
FAILED for resource: module.workspace_collection["workspace_1"].module.my_root_bucket.aws_s3_bucket_public_access_block.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:11-15
Calling File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/main.tf:15-21
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/bc-aws-s3-22.html
11 | resource "aws_s3_bucket_public_access_block" "root_storage_bucket" {
12 | bucket = aws_s3_bucket.root_storage_bucket.id
13 | ignore_public_acls = true
14 | depends_on = [aws_s3_bucket.root_storage_bucket]
15 | }
Check: CKV_AWS_54: "Ensure S3 bucket has block public policy enabled"
FAILED for resource: module.workspace_collection["workspace_1"].module.my_root_bucket.aws_s3_bucket_public_access_block.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:11-15
Calling File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/main.tf:15-21
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/bc-aws-s3-20.html
11 | resource "aws_s3_bucket_public_access_block" "root_storage_bucket" {
12 | bucket = aws_s3_bucket.root_storage_bucket.id
13 | ignore_public_acls = true
14 | depends_on = [aws_s3_bucket.root_storage_bucket]
15 | }
Check: CKV_AWS_23: "Ensure every security groups rule has a description"
FAILED for resource: aws_security_group.privatelink
File: /examples/aws-databricks-modular-privatelink/privatelink.tf:42-80
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/networking-31.html
42 | resource "aws_security_group" "privatelink" {
43 | vpc_id = aws_vpc.mainvpc.id
44 |
45 | ingress {
46 | description = "Inbound rules"
47 | from_port = 443
48 | to_port = 443
49 | protocol = "tcp"
50 | security_groups = [aws_security_group.sg.id]
51 | }
52 |
53 | ingress {
54 | description = "Inbound rules"
55 | from_port = 6666
56 | to_port = 6666
57 | protocol = "tcp"
58 | security_groups = [aws_security_group.sg.id]
59 | }
60 |
61 | egress {
62 | description = "Outbound rules"
63 | from_port = 443
64 | to_port = 443
65 | protocol = "tcp"
66 | security_groups = [aws_security_group.sg.id]
67 | }
68 |
69 | egress {
70 | description = "Outbound rules"
71 | from_port = 6666
72 | to_port = 6666
73 | protocol = "tcp"
74 | security_groups = [aws_security_group.sg.id]
75 | }
76 |
77 | tags = {
78 | Name = "${local.prefix}-privatelink-sg"
79 | }
80 | }
Check: CKV_AWS_130: "Ensure VPC subnets do not assign public IP by default"
FAILED for resource: aws_subnet.public_subnets[0]
File: /examples/aws-databricks-modular-privatelink/vpc.tf:14-24
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/ensure-vpc-subnets-do-not-assign-public-ip-by-default.html
14 | resource "aws_subnet" "public_subnets" {
15 | count = length(var.public_subnets_cidr)
16 | vpc_id = aws_vpc.mainvpc.id
17 | cidr_block = var.public_subnets_cidr[count.index]
18 | availability_zone = data.aws_availability_zones.available.names[count.index]
19 | map_public_ip_on_launch = true
20 |
21 | tags = merge(var.tags, {
22 | Name = "${local.prefix}-${aws_vpc.mainvpc.id}-public-subnet"
23 | })
24 | }
Check: CKV_AWS_23: "Ensure every security groups rule has a description"
FAILED for resource: aws_security_group.sg
File: /examples/aws-databricks-modular-privatelink/vpc.tf:101-139
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/networking-31.html
101 | resource "aws_security_group" "sg" {
102 | vpc_id = aws_vpc.mainvpc.id
103 | depends_on = [aws_vpc.mainvpc]
104 | name = "databricks-vpc-security-group-${local.prefix}"
105 | description = "databricks vpc security group for ${local.prefix}"
106 |
107 | dynamic "ingress" {
108 | for_each = local.sg_ingress_protocol
109 | content {
110 | from_port = 0
111 | to_port = 65535
112 | protocol = ingress.value
113 | self = true
114 | }
115 | }
116 |
117 | dynamic "egress" {
118 | for_each = local.sg_egress_protocol
119 | content {
120 | from_port = 0
121 | to_port = 65535
122 | protocol = egress.value
123 | self = true
124 | }
125 | }
126 |
127 | dynamic "egress" {
128 | for_each = local.sg_egress_ports
129 | content {
130 | from_port = egress.value
131 | to_port = egress.value
132 | protocol = "tcp"
133 | cidr_blocks = ["0.0.0.0/0"]
134 | }
135 | }
136 | tags = {
137 | Name = "${local.prefix}-dataplane-sg"
138 | }
139 | }
Check: CKV_AWS_53: "Ensure S3 bucket has block public ACLS enabled"
FAILED for resource: aws_s3_bucket_public_access_block.external
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:116-120
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/bc-aws-s3-19.html
116 | resource "aws_s3_bucket_public_access_block" "external" {
117 | bucket = aws_s3_bucket.external.id
118 | ignore_public_acls = true
119 | depends_on = [aws_s3_bucket.external]
120 | }
Check: CKV_AWS_56: "Ensure S3 bucket has 'restrict_public_bucket' enabled"
FAILED for resource: aws_s3_bucket_public_access_block.external
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:116-120
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/bc-aws-s3-22.html
116 | resource "aws_s3_bucket_public_access_block" "external" {
117 | bucket = aws_s3_bucket.external.id
118 | ignore_public_acls = true
119 | depends_on = [aws_s3_bucket.external]
120 | }
Check: CKV_AWS_54: "Ensure S3 bucket has block public policy enabled"
FAILED for resource: aws_s3_bucket_public_access_block.external
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:116-120
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/bc-aws-s3-20.html
116 | resource "aws_s3_bucket_public_access_block" "external" {
117 | bucket = aws_s3_bucket.external.id
118 | ignore_public_acls = true
119 | depends_on = [aws_s3_bucket.external]
120 | }
Check: CKV_AWS_119: "Ensure DynamoDB Tables are encrypted using a KMS Customer Managed CMK"
FAILED for resource: aws_dynamodb_table.terraform_locks
File: /examples/aws-remote-backend-infra/main.tf:32-40
Guide: https://docs.bridgecrew.io/docs/ensure-that-dynamodb-tables-are-encrypted
32 | resource "aws_dynamodb_table" "terraform_locks" {
33 | name = var.dynamodb_table
34 | billing_mode = "PAY_PER_REQUEST"
35 | hash_key = "LockID"
36 | attribute {
37 | name = "LockID"
38 | type = "S"
39 | }
40 | }
Check: CKV_AWS_28: "Ensure Dynamodb point in time recovery (backup) is enabled"
FAILED for resource: aws_dynamodb_table.terraform_locks
File: /examples/aws-remote-backend-infra/main.tf:32-40
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/general-6.html
32 | resource "aws_dynamodb_table" "terraform_locks" {
33 | name = var.dynamodb_table
34 | billing_mode = "PAY_PER_REQUEST"
35 | hash_key = "LockID"
36 | attribute {
37 | name = "LockID"
38 | type = "S"
39 | }
40 | }
Check: CKV_AWS_119: "Ensure DynamoDB Tables are encrypted using a KMS Customer Managed CMK"
FAILED for resource: aws_dynamodb_table.terraform_locks_databricks_project
File: /examples/aws-remote-backend-infra/main.tf:42-50
Guide: https://docs.bridgecrew.io/docs/ensure-that-dynamodb-tables-are-encrypted
42 | resource "aws_dynamodb_table" "terraform_locks_databricks_project" {
43 | name = var.dynamodb_table_databricks_project
44 | billing_mode = "PAY_PER_REQUEST"
45 | hash_key = "LockID"
46 | attribute {
47 | name = "LockID"
48 | type = "S"
49 | }
50 | }
Check: CKV_AWS_28: "Ensure Dynamodb point in time recovery (backup) is enabled"
FAILED for resource: aws_dynamodb_table.terraform_locks_databricks_project
File: /examples/aws-remote-backend-infra/main.tf:42-50
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/general-6.html
42 | resource "aws_dynamodb_table" "terraform_locks_databricks_project" {
43 | name = var.dynamodb_table_databricks_project
44 | billing_mode = "PAY_PER_REQUEST"
45 | hash_key = "LockID"
46 | attribute {
47 | name = "LockID"
48 | type = "S"
49 | }
50 | }
Check: CKV_GCP_26: "Ensure that VPC Flow Logs is enabled for every subnet in a VPC Network"
FAILED for resource: google_compute_subnetwork.network-with-private-secondary-ip-ranges
File: /examples/gcp-byovpc/vpc.tf:7-21
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/google-cloud-policies/logging-policies-1/bc-gcp-logging-1.html
7 | resource "google_compute_subnetwork" "network-with-private-secondary-ip-ranges" {
8 | name = var.subnet_name
9 | ip_cidr_range = var.subnet_ip_cidr_range
10 | region = var.google_region
11 | network = google_compute_network.dbx_private_vpc.id
12 | secondary_ip_range {
13 | range_name = "pods"
14 | ip_cidr_range = var.pod_ip_cidr_range
15 | }
16 | secondary_ip_range {
17 | range_name = "svc"
18 | ip_cidr_range = var.svc_ip_cidr_range
19 | }
20 | private_ip_google_access = true
21 | }
Check: CKV_GCP_76: "Ensure that Private google access is enabled for IPV6"
FAILED for resource: google_compute_subnetwork.network-with-private-secondary-ip-ranges
File: /examples/gcp-byovpc/vpc.tf:7-21
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/google-cloud-policies/google-cloud-networking-policies/ensure-gcp-private-google-access-is-enabled-for-ipv6.html
7 | resource "google_compute_subnetwork" "network-with-private-secondary-ip-ranges" {
8 | name = var.subnet_name
9 | ip_cidr_range = var.subnet_ip_cidr_range
10 | region = var.google_region
11 | network = google_compute_network.dbx_private_vpc.id
12 | secondary_ip_range {
13 | range_name = "pods"
14 | ip_cidr_range = var.pod_ip_cidr_range
15 | }
16 | secondary_ip_range {
17 | range_name = "svc"
18 | ip_cidr_range = var.svc_ip_cidr_range
19 | }
20 | private_ip_google_access = true
21 | }
Check: CKV_AZURE_219: "Ensure Firewall defines a firewall policy"
FAILED for resource: azurerm_firewall.hubfw
File: /modules/adb-exfiltration-protection/firewall.tf:9-21
9 | resource "azurerm_firewall" "hubfw" {
10 | name = "hubfirewall"
11 | location = azurerm_resource_group.this.location
12 | resource_group_name = azurerm_resource_group.this.name
13 | sku_name = "AZFW_VNet"
14 | sku_tier = "Standard"
15 |
16 | ip_configuration {
17 | name = "configuration"
18 | subnet_id = azurerm_subnet.hubfw.id
19 | public_ip_address_id = azurerm_public_ip.fwpublicip.id
20 | }
21 | }
Check: CKV_AZURE_216: "Ensure DenyIntelMode is set to Deny for Azure Firewalls"
FAILED for resource: azurerm_firewall.hubfw
File: /modules/adb-exfiltration-protection/firewall.tf:9-21
9 | resource "azurerm_firewall" "hubfw" {
10 | name = "hubfirewall"
11 | location = azurerm_resource_group.this.location
12 | resource_group_name = azurerm_resource_group.this.name
13 | sku_name = "AZFW_VNet"
14 | sku_tier = "Standard"
15 |
16 | ip_configuration {
17 | name = "configuration"
18 | subnet_id = azurerm_subnet.hubfw.id
19 | public_ip_address_id = azurerm_public_ip.fwpublicip.id
20 | }
21 | }
Check: CKV_AZURE_44: "Ensure Storage Account is using the latest version of TLS encryption"
FAILED for resource: azurerm_storage_account.allowedstorage
File: /modules/adb-exfiltration-protection/storage.tf:1-10
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-storage-policies/bc-azr-storage-2.html
1 | resource "azurerm_storage_account" "allowedstorage" {
2 | name = "${random_string.naming.result}allowedstorage"
3 | resource_group_name = azurerm_resource_group.this.name
4 |
5 | location = azurerm_resource_group.this.location
6 | account_tier = "Standard"
7 | account_replication_type = "LRS"
8 | is_hns_enabled = true
9 | tags = local.tags
10 | }
Check: CKV_AZURE_206: "Ensure that Storage Accounts use replication"
FAILED for resource: azurerm_storage_account.allowedstorage
File: /modules/adb-exfiltration-protection/storage.tf:1-10
1 | resource "azurerm_storage_account" "allowedstorage" {
2 | name = "${random_string.naming.result}allowedstorage"
3 | resource_group_name = azurerm_resource_group.this.name
4 |
5 | location = azurerm_resource_group.this.location
6 | account_tier = "Standard"
7 | account_replication_type = "LRS"
8 | is_hns_enabled = true
9 | tags = local.tags
10 | }
Check: CKV_AZURE_190: "Ensure that Storage blobs restrict public access"
FAILED for resource: azurerm_storage_account.allowedstorage
File: /modules/adb-exfiltration-protection/storage.tf:1-10
1 | resource "azurerm_storage_account" "allowedstorage" {
2 | name = "${random_string.naming.result}allowedstorage"
3 | resource_group_name = azurerm_resource_group.this.name
4 |
5 | location = azurerm_resource_group.this.location
6 | account_tier = "Standard"
7 | account_replication_type = "LRS"
8 | is_hns_enabled = true
9 | tags = local.tags
10 | }
Check: CKV_AZURE_33: "Ensure Storage logging is enabled for Queue service for read, write and delete requests"
FAILED for resource: azurerm_storage_account.allowedstorage
File: /modules/adb-exfiltration-protection/storage.tf:1-10
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/enable-requests-on-storage-logging-for-queue-service.html
1 | resource "azurerm_storage_account" "allowedstorage" {
2 | name = "${random_string.naming.result}allowedstorage"
3 | resource_group_name = azurerm_resource_group.this.name
4 |
5 | location = azurerm_resource_group.this.location
6 | account_tier = "Standard"
7 | account_replication_type = "LRS"
8 | is_hns_enabled = true
9 | tags = local.tags
10 | }
Check: CKV_AZURE_59: "Ensure that Storage accounts disallow public access"
FAILED for resource: azurerm_storage_account.allowedstorage
File: /modules/adb-exfiltration-protection/storage.tf:1-10
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-storage-accounts-disallow-public-access.html
1 | resource "azurerm_storage_account" "allowedstorage" {
2 | name = "${random_string.naming.result}allowedstorage"
3 | resource_group_name = azurerm_resource_group.this.name
4 |
5 | location = azurerm_resource_group.this.location
6 | account_tier = "Standard"
7 | account_replication_type = "LRS"
8 | is_hns_enabled = true
9 | tags = local.tags
10 | }
Check: CKV_AZURE_44: "Ensure Storage Account is using the latest version of TLS encryption"
FAILED for resource: azurerm_storage_account.deniedstorage
File: /modules/adb-exfiltration-protection/storage.tf:13-22
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-storage-policies/bc-azr-storage-2.html
13 | resource "azurerm_storage_account" "deniedstorage" {
14 | name = "${random_string.naming.result}deniedstorage"
15 | resource_group_name = azurerm_resource_group.this.name
16 |
17 | location = azurerm_resource_group.this.location
18 | account_tier = "Standard"
19 | account_replication_type = "LRS"
20 | is_hns_enabled = true
21 | tags = local.tags
22 | }
Check: CKV_AZURE_206: "Ensure that Storage Accounts use replication"
FAILED for resource: azurerm_storage_account.deniedstorage
File: /modules/adb-exfiltration-protection/storage.tf:13-22
13 | resource "azurerm_storage_account" "deniedstorage" {
14 | name = "${random_string.naming.result}deniedstorage"
15 | resource_group_name = azurerm_resource_group.this.name
16 |
17 | location = azurerm_resource_group.this.location
18 | account_tier = "Standard"
19 | account_replication_type = "LRS"
20 | is_hns_enabled = true
21 | tags = local.tags
22 | }
Check: CKV_AZURE_190: "Ensure that Storage blobs restrict public access"
FAILED for resource: azurerm_storage_account.deniedstorage
File: /modules/adb-exfiltration-protection/storage.tf:13-22
13 | resource "azurerm_storage_account" "deniedstorage" {
14 | name = "${random_string.naming.result}deniedstorage"
15 | resource_group_name = azurerm_resource_group.this.name
16 |
17 | location = azurerm_resource_group.this.location
18 | account_tier = "Standard"
19 | account_replication_type = "LRS"
20 | is_hns_enabled = true
21 | tags = local.tags
22 | }
Check: CKV_AZURE_33: "Ensure Storage logging is enabled for Queue service for read, write and delete requests"
FAILED for resource: azurerm_storage_account.deniedstorage
File: /modules/adb-exfiltration-protection/storage.tf:13-22
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/enable-requests-on-storage-logging-for-queue-service.html
13 | resource "azurerm_storage_account" "deniedstorage" {
14 | name = "${random_string.naming.result}deniedstorage"
15 | resource_group_name = azurerm_resource_group.this.name
16 |
17 | location = azurerm_resource_group.this.location
18 | account_tier = "Standard"
19 | account_replication_type = "LRS"
20 | is_hns_enabled = true
21 | tags = local.tags
22 | }
Check: CKV_AZURE_59: "Ensure that Storage accounts disallow public access"
FAILED for resource: azurerm_storage_account.deniedstorage
File: /modules/adb-exfiltration-protection/storage.tf:13-22
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-storage-accounts-disallow-public-access.html
13 | resource "azurerm_storage_account" "deniedstorage" {
14 | name = "${random_string.naming.result}deniedstorage"
15 | resource_group_name = azurerm_resource_group.this.name
16 |
17 | location = azurerm_resource_group.this.location
18 | account_tier = "Standard"
19 | account_replication_type = "LRS"
20 | is_hns_enabled = true
21 | tags = local.tags
22 | }
Check: CKV_AZURE_158: "Ensure that databricks workspace has not public"
FAILED for resource: azurerm_databricks_workspace.this
File: /modules/adb-exfiltration-protection/workspace.tf:1-22
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-azure-databricks-workspace-is-not-public.html
1 | resource "azurerm_databricks_workspace" "this" {
2 | name = "${local.prefix}-workspace"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | sku = "premium"
6 | tags = local.tags
7 | //infrastructure_encryption_enabled = true
8 | custom_parameters {
9 | no_public_ip = var.no_public_ip
10 | virtual_network_id = azurerm_virtual_network.this.id
11 | private_subnet_name = azurerm_subnet.private.name
12 | public_subnet_name = azurerm_subnet.public.name
13 | public_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.public.id
14 | private_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.private.id
15 | storage_account_name = local.dbfsname
16 | }
17 | # We need this, otherwise destroy doesn't cleanup things correctly
18 | depends_on = [
19 | azurerm_subnet_network_security_group_association.public,
20 | azurerm_subnet_network_security_group_association.private
21 | ]
22 | }
Check: CKV_AZURE_104: "Ensure that Azure Data factory public network access is disabled"
FAILED for resource: module.adb-lakehouse.azurerm_data_factory.adf[0]
File: /modules/adb-lakehouse/azure_data_factory.tf:1-8
Calling File: /examples/adb-lakehouse/main.tf:1-19
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-azure-data-factory-public-network-access-is-disabled.html
1 | resource "azurerm_data_factory" "adf" {
2 | count = var.data_factory_name != "" ? 1 : 0
3 |
4 | name = var.data_factory_name
5 | location = var.location
6 | resource_group_name = azurerm_resource_group.this.name
7 | tags = var.tags
8 | }
Check: CKV_AZURE_103: "Ensure that Azure Data Factory uses Git repository for source control"
FAILED for resource: module.adb-lakehouse.azurerm_data_factory.adf[0]
File: /modules/adb-lakehouse/azure_data_factory.tf:1-8
Calling File: /examples/adb-lakehouse/main.tf:1-19
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-that-azure-data-factory-uses-git-repository-for-source-control.html
1 | resource "azurerm_data_factory" "adf" {
2 | count = var.data_factory_name != "" ? 1 : 0
3 |
4 | name = var.data_factory_name
5 | location = var.location
6 | resource_group_name = azurerm_resource_group.this.name
7 | tags = var.tags
8 | }
Check: CKV_AZURE_109: "Ensure that key vault allows firewall rules settings"
FAILED for resource: module.adb-lakehouse.azurerm_key_vault.example
File: /modules/adb-lakehouse/key_vault.tf:1-11
Calling File: /examples/adb-lakehouse/main.tf:1-19
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-key-vault-allows-firewall-rules-settings.html
1 | resource "azurerm_key_vault" "example" {
2 | name = var.key_vault_name
3 | location = var.location
4 | resource_group_name = azurerm_resource_group.this.name
5 | enabled_for_disk_encryption = true
6 | tenant_id = data.azurerm_client_config.current.tenant_id
7 | soft_delete_retention_days = 7
8 | purge_protection_enabled = false
9 | sku_name = "standard"
10 | tags = var.tags
11 | }
Check: CKV_AZURE_42: "Ensure the key vault is recoverable"
FAILED for resource: module.adb-lakehouse.azurerm_key_vault.example
File: /modules/adb-lakehouse/key_vault.tf:1-11
Calling File: /examples/adb-lakehouse/main.tf:1-19
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-the-key-vault-is-recoverable.html
1 | resource "azurerm_key_vault" "example" {
2 | name = var.key_vault_name
3 | location = var.location
4 | resource_group_name = azurerm_resource_group.this.name
5 | enabled_for_disk_encryption = true
6 | tenant_id = data.azurerm_client_config.current.tenant_id
7 | soft_delete_retention_days = 7
8 | purge_protection_enabled = false
9 | sku_name = "standard"
10 | tags = var.tags
11 | }
Check: CKV_AZURE_189: "Ensure that Azure Key Vault disables public network access"
FAILED for resource: module.adb-lakehouse.azurerm_key_vault.example
File: /modules/adb-lakehouse/key_vault.tf:1-11
Calling File: /examples/adb-lakehouse/main.tf:1-19
1 | resource "azurerm_key_vault" "example" {
2 | name = var.key_vault_name
3 | location = var.location
4 | resource_group_name = azurerm_resource_group.this.name
5 | enabled_for_disk_encryption = true
6 | tenant_id = data.azurerm_client_config.current.tenant_id
7 | soft_delete_retention_days = 7
8 | purge_protection_enabled = false
9 | sku_name = "standard"
10 | tags = var.tags
11 | }
Check: CKV_AZURE_110: "Ensure that key vault enables purge protection"
FAILED for resource: module.adb-lakehouse.azurerm_key_vault.example
File: /modules/adb-lakehouse/key_vault.tf:1-11
Calling File: /examples/adb-lakehouse/main.tf:1-19
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-that-key-vault-enables-purge-protection.html
1 | resource "azurerm_key_vault" "example" {
2 | name = var.key_vault_name
3 | location = var.location
4 | resource_group_name = azurerm_resource_group.this.name
5 | enabled_for_disk_encryption = true
6 | tenant_id = data.azurerm_client_config.current.tenant_id
7 | soft_delete_retention_days = 7
8 | purge_protection_enabled = false
9 | sku_name = "standard"
10 | tags = var.tags
11 | }
Check: CKV_AZURE_44: "Ensure Storage Account is using the latest version of TLS encryption"
FAILED for resource: module.adb-lakehouse.azurerm_storage_account.unity_catalog
File: /modules/adb-lakehouse/unity-catalog.tf:16-24
Calling File: /examples/adb-lakehouse/main.tf:1-19
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-storage-policies/bc-azr-storage-2.html
16 | resource "azurerm_storage_account" "unity_catalog" {
17 | name = var.metastore_storage_name
18 | location = azurerm_resource_group.shared_resource_group.location
19 | resource_group_name = var.shared_resource_group_name
20 | tags = var.tags
21 | account_tier = "Standard"
22 | account_replication_type = "GRS"
23 | is_hns_enabled = true
24 | }
Check: CKV_AZURE_190: "Ensure that Storage blobs restrict public access"
FAILED for resource: module.adb-lakehouse.azurerm_storage_account.unity_catalog
File: /modules/adb-lakehouse/unity-catalog.tf:16-24
Calling File: /examples/adb-lakehouse/main.tf:1-19
16 | resource "azurerm_storage_account" "unity_catalog" {
17 | name = var.metastore_storage_name
18 | location = azurerm_resource_group.shared_resource_group.location
19 | resource_group_name = var.shared_resource_group_name
20 | tags = var.tags
21 | account_tier = "Standard"
22 | account_replication_type = "GRS"
23 | is_hns_enabled = true
24 | }
Check: CKV_AZURE_33: "Ensure Storage logging is enabled for Queue service for read, write and delete requests"
FAILED for resource: module.adb-lakehouse.azurerm_storage_account.unity_catalog
File: /modules/adb-lakehouse/unity-catalog.tf:16-24
Calling File: /examples/adb-lakehouse/main.tf:1-19
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/enable-requests-on-storage-logging-for-queue-service.html
16 | resource "azurerm_storage_account" "unity_catalog" {
17 | name = var.metastore_storage_name
18 | location = azurerm_resource_group.shared_resource_group.location
19 | resource_group_name = var.shared_resource_group_name
20 | tags = var.tags
21 | account_tier = "Standard"
22 | account_replication_type = "GRS"
23 | is_hns_enabled = true
24 | }
Check: CKV_AZURE_59: "Ensure that Storage accounts disallow public access"
FAILED for resource: module.adb-lakehouse.azurerm_storage_account.unity_catalog
File: /modules/adb-lakehouse/unity-catalog.tf:16-24
Calling File: /examples/adb-lakehouse/main.tf:1-19
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-storage-accounts-disallow-public-access.html
16 | resource "azurerm_storage_account" "unity_catalog" {
17 | name = var.metastore_storage_name
18 | location = azurerm_resource_group.shared_resource_group.location
19 | resource_group_name = var.shared_resource_group_name
20 | tags = var.tags
21 | account_tier = "Standard"
22 | account_replication_type = "GRS"
23 | is_hns_enabled = true
24 | }
Check: CKV_AZURE_158: "Ensure that databricks workspace has not public"
FAILED for resource: module.adb-lakehouse.azurerm_databricks_workspace.this
File: /modules/adb-lakehouse/vnet_injected_databricks_workspace.tf:63-80
Calling File: /examples/adb-lakehouse/main.tf:1-19
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-azure-databricks-workspace-is-not-public.html
63 | resource "azurerm_databricks_workspace" "this" {
64 | name = var.databricks_workspace_name
65 | resource_group_name = var.spoke_resource_group_name
66 | managed_resource_group_name = var.managed_resource_group_name
67 | location = var.location
68 | sku = "premium"
69 |
70 | custom_parameters {
71 | no_public_ip = true
72 | virtual_network_id = azurerm_virtual_network.this.id
73 | private_subnet_name = azurerm_subnet.private.name
74 | public_subnet_name = azurerm_subnet.public.name
75 | private_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.private.id
76 | public_subnet_network_security_group_association_id = azurerm_subnet_network_security_group_association.public.id
77 | }
78 |
79 | tags = var.tags
80 | }
Check: CKV_AZURE_50: "Ensure Virtual Machine Extensions are not Installed"
FAILED for resource: azurerm_windows_virtual_machine.testvm
File: /modules/adb-with-private-link-standard/testvm_transit.tf:69-91
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/bc-azr-general-14.html
69 | resource "azurerm_windows_virtual_machine" "testvm" {
70 | name = "${local.prefix}vm"
71 | resource_group_name = azurerm_resource_group.transit_rg.name
72 | location = azurerm_resource_group.transit_rg.location
73 | size = "Standard_F4s_v2"
74 | admin_username = "azureuser"
75 | admin_password = "T${random_string.password.result}!!"
76 | network_interface_ids = [
77 | azurerm_network_interface.testvmnic.id,
78 | ]
79 |
80 | os_disk {
81 | caching = "ReadWrite"
82 | storage_account_type = "Standard_LRS"
83 | }
84 |
85 | source_image_reference {
86 | publisher = "MicrosoftWindowsDesktop"
87 | offer = "windows-10"
88 | sku = "19h2-pro-g2"
89 | version = "latest"
90 | }
91 | }
Check: CKV_AZURE_151: "Ensure Windows VM enables encryption"
FAILED for resource: azurerm_windows_virtual_machine.testvm
File: /modules/adb-with-private-link-standard/testvm_transit.tf:69-91
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-iam-policies/ensure-azure-windows-vm-enables-encryption.html
69 | resource "azurerm_windows_virtual_machine" "testvm" {
70 | name = "${local.prefix}vm"
71 | resource_group_name = azurerm_resource_group.transit_rg.name
72 | location = azurerm_resource_group.transit_rg.location
73 | size = "Standard_F4s_v2"
74 | admin_username = "azureuser"
75 | admin_password = "T${random_string.password.result}!!"
76 | network_interface_ids = [
77 | azurerm_network_interface.testvmnic.id,
78 | ]
79 |
80 | os_disk {
81 | caching = "ReadWrite"
82 | storage_account_type = "Standard_LRS"
83 | }
84 |
85 | source_image_reference {
86 | publisher = "MicrosoftWindowsDesktop"
87 | offer = "windows-10"
88 | sku = "19h2-pro-g2"
89 | version = "latest"
90 | }
91 | }
Check: CKV_AZURE_219: "Ensure Firewall defines a firewall policy"
FAILED for resource: azurerm_firewall.hubfw
File: /modules/adb-with-private-links-exfiltration-protection/firewall.tf:9-21
9 | resource "azurerm_firewall" "hubfw" {
10 | name = "hubfirewall"
11 | location = azurerm_resource_group.this.location
12 | resource_group_name = azurerm_resource_group.this.name
13 | sku_name = "AZFW_VNet"
14 | sku_tier = "Standard"
15 |
16 | ip_configuration {
17 | name = "configuration"
18 | subnet_id = azurerm_subnet.hubfw.id
19 | public_ip_address_id = azurerm_public_ip.fwpublicip.id
20 | }
21 | }
Check: CKV_AZURE_216: "Ensure DenyIntelMode is set to Deny for Azure Firewalls"
FAILED for resource: azurerm_firewall.hubfw
File: /modules/adb-with-private-links-exfiltration-protection/firewall.tf:9-21
9 | resource "azurerm_firewall" "hubfw" {
10 | name = "hubfirewall"
11 | location = azurerm_resource_group.this.location
12 | resource_group_name = azurerm_resource_group.this.name
13 | sku_name = "AZFW_VNet"
14 | sku_tier = "Standard"
15 |
16 | ip_configuration {
17 | name = "configuration"
18 | subnet_id = azurerm_subnet.hubfw.id
19 | public_ip_address_id = azurerm_public_ip.fwpublicip.id
20 | }
21 | }
Check: CKV_AZURE_50: "Ensure Virtual Machine Extensions are not Installed"
FAILED for resource: azurerm_windows_virtual_machine.testvm
File: /modules/adb-with-private-links-exfiltration-protection/testvm.tf:69-91
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/bc-azr-general-14.html
69 | resource "azurerm_windows_virtual_machine" "testvm" {
70 | name = "${local.prefix}-test"
71 | resource_group_name = azurerm_resource_group.this.name
72 | location = azurerm_resource_group.this.location
73 | size = "Standard_F4s_v2"
74 | admin_username = "azureuser"
75 | admin_password = var.test_vm_password
76 | network_interface_ids = [
77 | azurerm_network_interface.testvmnic.id,
78 | ]
79 |
80 | os_disk {
81 | caching = "ReadWrite"
82 | storage_account_type = "Standard_LRS"
83 | }
84 |
85 | source_image_reference {
86 | publisher = "MicrosoftWindowsDesktop"
87 | offer = "windows-10"
88 | sku = "19h2-pro-g2"
89 | version = "latest"
90 | }
91 | }
Check: CKV_AZURE_151: "Ensure Windows VM enables encryption"
FAILED for resource: azurerm_windows_virtual_machine.testvm
File: /modules/adb-with-private-links-exfiltration-protection/testvm.tf:69-91
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-iam-policies/ensure-azure-windows-vm-enables-encryption.html
69 | resource "azurerm_windows_virtual_machine" "testvm" {
70 | name = "${local.prefix}-test"
71 | resource_group_name = azurerm_resource_group.this.name
72 | location = azurerm_resource_group.this.location
73 | size = "Standard_F4s_v2"
74 | admin_username = "azureuser"
75 | admin_password = var.test_vm_password
76 | network_interface_ids = [
77 | azurerm_network_interface.testvmnic.id,
78 | ]
79 |
80 | os_disk {
81 | caching = "ReadWrite"
82 | storage_account_type = "Standard_LRS"
83 | }
84 |
85 | source_image_reference {
86 | publisher = "MicrosoftWindowsDesktop"
87 | offer = "windows-10"
88 | sku = "19h2-pro-g2"
89 | version = "latest"
90 | }
91 | }
Check: CKV_AWS_345: "Ensure that Network firewall encryption is via a CMK"
FAILED for resource: aws_networkfirewall_rule_group.databricks_fqdns_rg
File: /modules/aws-exfiltration-protection/firewall.tf:1-23
1 | resource "aws_networkfirewall_rule_group" "databricks_fqdns_rg" {
2 | capacity = 100
3 | name = "${local.prefix}-databricks-fqdns-rg"
4 | type = "STATEFUL"
5 | rule_group {
6 | rules_source {
7 | rules_source_list {
8 | generated_rules_type = "ALLOWLIST"
9 | target_types = ["TLS_SNI", "HTTP_HOST"]
10 | targets = concat([var.db_web_app, var.db_tunnel, var.db_rds, local.db_root_bucket], var.whitelisted_urls)
11 | }
12 | }
13 | rule_variables {
14 | ip_sets {
15 | key = "HOME_NET"
16 | ip_set {
17 | definition = [var.spoke_cidr_block, var.hub_cidr_block]
18 | }
19 | }
20 | }
21 | }
22 | tags = var.tags
23 | }
Check: CKV_AWS_345: "Ensure that Network firewall encryption is via a CMK"
FAILED for resource: aws_networkfirewall_rule_group.allow_db_cpl_protocols_rg
File: /modules/aws-exfiltration-protection/firewall.tf:25-60
25 | resource "aws_networkfirewall_rule_group" "allow_db_cpl_protocols_rg" {
26 | capacity = 100
27 | description = "Allows control plane traffic traffic from source"
28 | name = "${local.prefix}-allow-db-cpl-protocols-rg"
29 | type = "STATEFUL"
30 | rule_group {
31 | rule_variables {
32 | ip_sets {
33 | key = "HOME_NET"
34 | ip_set {
35 | definition = [var.spoke_cidr_block, var.hub_cidr_block]
36 | }
37 | }
38 | }
39 | rules_source {
40 | dynamic "stateful_rule" {
41 | for_each = local.protocols_control_plane
42 | content {
43 | action = "PASS"
44 | header {
45 | destination = var.db_control_plane
46 | destination_port = "443"
47 | protocol = stateful_rule.value
48 | direction = "ANY"
49 | source_port = "ANY"
50 | source = "ANY"
51 | }
52 | rule_option {
53 | keyword = "sid:${stateful_rule.key + 1}"
54 | }
55 | }
56 | }
57 | }
58 | }
59 | tags = var.tags
60 | }
Check: CKV_AWS_345: "Ensure that Network firewall encryption is via a CMK"
FAILED for resource: aws_networkfirewall_rule_group.deny_protocols_rg
File: /modules/aws-exfiltration-protection/firewall.tf:62-98
62 | resource "aws_networkfirewall_rule_group" "deny_protocols_rg" {
63 | capacity = 100
64 | description = "Drops FTP,ICMP, SSH traffic from source"
65 | name = "${local.prefix}-deny-protocols-rg"
66 | type = "STATEFUL"
67 | rule_group {
68 | rule_variables {
69 | ip_sets {
70 | key = "HOME_NET"
71 | ip_set {
72 | definition = [var.spoke_cidr_block, var.hub_cidr_block]
73 | }
74 | }
75 | }
76 | rules_source {
77 | dynamic "stateful_rule" {
78 | for_each = local.protocols
79 | content {
80 | action = "DROP"
81 | header {
82 | destination = "ANY"
83 | destination_port = "ANY"
84 | protocol = stateful_rule.value
85 | direction = "ANY"
86 | source_port = "ANY"
87 | source = "ANY"
88 | }
89 | rule_option {
90 | keyword = "sid:${stateful_rule.key + 1}"
91 | }
92 | }
93 | }
94 | }
95 | }
96 |
97 | tags = var.tags
98 | }
Check: CKV_AWS_346: "Ensure Network Firewall Policy defines an encryption configuration that uses a customer managed Key (CMK)"
FAILED for resource: aws_networkfirewall_firewall_policy.egress_policy
File: /modules/aws-exfiltration-protection/firewall.tf:100-116
100 | resource "aws_networkfirewall_firewall_policy" "egress_policy" {
101 | name = "${local.prefix}-egress-policy"
102 | firewall_policy {
103 | stateless_default_actions = ["aws:forward_to_sfe"]
104 | stateless_fragment_default_actions = ["aws:forward_to_sfe"]
105 | stateful_rule_group_reference {
106 | resource_arn = aws_networkfirewall_rule_group.databricks_fqdns_rg.arn
107 | }
108 | stateful_rule_group_reference {
109 | resource_arn = aws_networkfirewall_rule_group.deny_protocols_rg.arn
110 | }
111 | stateful_rule_group_reference {
112 | resource_arn = aws_networkfirewall_rule_group.allow_db_cpl_protocols_rg.arn
113 | }
114 | }
115 | tags = var.tags
116 | }
Check: CKV_AWS_345: "Ensure that Network firewall encryption is via a CMK"
FAILED for resource: aws_networkfirewall_firewall.exfiltration_firewall
File: /modules/aws-exfiltration-protection/firewall.tf:118-129
118 | resource "aws_networkfirewall_firewall" "exfiltration_firewall" {
119 | name = "${local.prefix}-fw"
120 | firewall_policy_arn = aws_networkfirewall_firewall_policy.egress_policy.arn
121 | vpc_id = aws_vpc.hub_vpc.id
122 | dynamic "subnet_mapping" {
123 | for_each = aws_subnet.hub_firewall_subnet[*].id
124 | content {
125 | subnet_id = subnet_mapping.value
126 | }
127 | }
128 | tags = var.tags
129 | }
Check: CKV_AWS_344: "Ensure that Network firewalls have deletion protection enabled"
FAILED for resource: aws_networkfirewall_firewall.exfiltration_firewall
File: /modules/aws-exfiltration-protection/firewall.tf:118-129
118 | resource "aws_networkfirewall_firewall" "exfiltration_firewall" {
119 | name = "${local.prefix}-fw"
120 | firewall_policy_arn = aws_networkfirewall_firewall_policy.egress_policy.arn
121 | vpc_id = aws_vpc.hub_vpc.id
122 | dynamic "subnet_mapping" {
123 | for_each = aws_subnet.hub_firewall_subnet[*].id
124 | content {
125 | subnet_id = subnet_mapping.value
126 | }
127 | }
128 | tags = var.tags
129 | }
Check: CKV_AWS_331: "Ensure Transit Gateways do not automatically accept VPC attachment requests"
FAILED for resource: aws_ec2_transit_gateway.tgw
File: /modules/aws-exfiltration-protection/transit_gateway.tf:1-9
1 | resource "aws_ec2_transit_gateway" "tgw" {
2 | description = "Transit Gateway for Hub/Spoke"
3 | auto_accept_shared_attachments = "enable"
4 | default_route_table_association = "enable"
5 | default_route_table_propagation = "enable"
6 | tags = merge(var.tags, {
7 | Name = "${local.prefix}-tgw"
8 | })
9 | }
Check: CKV_AWS_130: "Ensure VPC subnets do not assign public IP by default"
FAILED for resource: aws_subnet.hub_nat_public_subnet[0]
File: /modules/aws-exfiltration-protection/vpc_hub.tf:21-30
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/ensure-vpc-subnets-do-not-assign-public-ip-by-default.html
21 | resource "aws_subnet" "hub_nat_public_subnet" {
22 | vpc_id = aws_vpc.hub_vpc.id
23 | count = length(local.hub_nat_public_subnets_cidr)
24 | cidr_block = element(local.hub_nat_public_subnets_cidr, count.index)
25 | availability_zone = element(local.availability_zones, count.index)
26 | map_public_ip_on_launch = true
27 | tags = merge(var.tags, {
28 | Name = "${local.prefix}-hub-nat-public-${element(local.availability_zones, count.index)}"
29 | })
30 | }
Check: CKV_AWS_23: "Ensure every security groups rule has a description"
FAILED for resource: aws_security_group.default_spoke_sg
File: /modules/aws-exfiltration-protection/vpc_spoke.tf:50-87
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/networking-31.html
50 | resource "aws_security_group" "default_spoke_sg" {
51 | name = "${local.prefix}-default_spoke_sg"
52 | description = "Default security group to allow inbound/outbound from the VPC"
53 | vpc_id = aws_vpc.spoke_vpc.id
54 | depends_on = [aws_vpc.spoke_vpc]
55 |
56 | dynamic "ingress" {
57 | for_each = local.sg_ingress_protocol
58 | content {
59 | from_port = 0
60 | to_port = 65535
61 | protocol = ingress.value
62 | self = true
63 | }
64 | }
65 |
66 | dynamic "egress" {
67 | for_each = local.sg_egress_protocol
68 | content {
69 | from_port = 0
70 | to_port = 65535
71 | protocol = egress.value
72 | self = true
73 | }
74 | }
75 |
76 | dynamic "egress" {
77 | for_each = local.sg_egress_ports
78 | content {
79 | from_port = egress.value
80 | to_port = egress.value
81 | protocol = "tcp"
82 | cidr_blocks = ["0.0.0.0/0"]
83 | }
84 | }
85 |
86 | tags = var.tags
87 | }
Check: CKV_AWS_345: "Ensure that Network firewall encryption is via a CMK"
FAILED for resource: aws_networkfirewall_rule_group.databricks_fqdns_rg
File: /modules/aws-workspace-with-firewall/firewall.tf:12-34
12 | resource "aws_networkfirewall_rule_group" "databricks_fqdns_rg" {
13 | capacity = 100
14 | name = "${local.prefix}-databricks-fqdns-rg"
15 | type = "STATEFUL"
16 | rule_group {
17 | rules_source {
18 | rules_source_list {
19 | generated_rules_type = "ALLOWLIST"
20 | target_types = ["TLS_SNI", "HTTP_HOST"]
21 | targets = concat([var.db_web_app, var.db_tunnel, var.db_rds, local.db_root_bucket], var.whitelisted_urls)
22 | }
23 | }
24 | rule_variables {
25 | ip_sets {
26 | key = "HOME_NET"
27 | ip_set {
28 | definition = [var.cidr_block]
29 | }
30 | }
31 | }
32 | }
33 | tags = var.tags
34 | }
Check: CKV_AWS_345: "Ensure that Network firewall encryption is via a CMK"
FAILED for resource: aws_networkfirewall_rule_group.allow_db_cpl_protocols_rg
File: /modules/aws-workspace-with-firewall/firewall.tf:36-72
36 | resource "aws_networkfirewall_rule_group" "allow_db_cpl_protocols_rg" {
37 | capacity = 100
38 | description = "Allows control plane traffic from source"
39 | name = "${local.prefix}-allow-db-cpl-protocols-rg"
40 | type = "STATEFUL"
41 | rule_group {
42 | rule_variables {
43 | ip_sets {
44 | key = "HOME_NET"
45 | ip_set {
46 | definition = [var.cidr_block]
47 | }
48 | }
49 | }
50 | rules_source {
51 | dynamic "stateful_rule" {
52 | for_each = local.protocols_control_plane
53 | content {
54 | action = "PASS"
55 | header {
56 | destination = var.db_control_plane
57 | destination_port = "443"
58 | protocol = stateful_rule.value
59 | direction = "ANY"
60 | source_port = "ANY"
61 | source = "ANY"
62 | }
63 | rule_option {
64 | keyword = "sid:${stateful_rule.key + 1}"
65 | }
66 | }
67 | }
68 | }
69 | }
70 |
71 | tags = var.tags
72 | }
Check: CKV_AWS_345: "Ensure that Network firewall encryption is via a CMK"
FAILED for resource: aws_networkfirewall_rule_group.deny_protocols_rg
File: /modules/aws-workspace-with-firewall/firewall.tf:74-110
74 | resource "aws_networkfirewall_rule_group" "deny_protocols_rg" {
75 | capacity = 100
76 | description = "Drops FTP,ICMP, SSH traffic from source"
77 | name = "${local.prefix}-deny-protocols-rg"
78 | type = "STATEFUL"
79 | rule_group {
80 | rule_variables {
81 | ip_sets {
82 | key = "HOME_NET"
83 | ip_set {
84 | definition = [var.cidr_block]
85 | }
86 | }
87 | }
88 | rules_source {
89 | dynamic "stateful_rule" {
90 | for_each = local.protocols
91 | content {
92 | action = "DROP"
93 | header {
94 | destination = "ANY"
95 | destination_port = "ANY"
96 | protocol = stateful_rule.value
97 | direction = "ANY"
98 | source_port = "ANY"
99 | source = "ANY"
100 | }
101 | rule_option {
102 | keyword = "sid:${stateful_rule.key + 1}"
103 | }
104 | }
105 | }
106 | }
107 | }
108 |
109 | tags = var.tags
110 | }
Check: CKV_AWS_346: "Ensure Network Firewall Policy defines an encryption configuration that uses a customer managed Key (CMK)"
FAILED for resource: aws_networkfirewall_firewall_policy.egress_policy
File: /modules/aws-workspace-with-firewall/firewall.tf:112-128
112 | resource "aws_networkfirewall_firewall_policy" "egress_policy" {
113 | name = "${local.prefix}-egress-policy"
114 | firewall_policy {
115 | stateless_default_actions = ["aws:forward_to_sfe"]
116 | stateless_fragment_default_actions = ["aws:forward_to_sfe"]
117 | stateful_rule_group_reference {
118 | resource_arn = aws_networkfirewall_rule_group.databricks_fqdns_rg.arn
119 | }
120 | stateful_rule_group_reference {
121 | resource_arn = aws_networkfirewall_rule_group.deny_protocols_rg.arn
122 | }
123 | stateful_rule_group_reference {
124 | resource_arn = aws_networkfirewall_rule_group.allow_db_cpl_protocols_rg.arn
125 | }
126 | }
127 | tags = var.tags
128 | }
Check: CKV_AWS_345: "Ensure that Network firewall encryption is via a CMK"
FAILED for resource: aws_networkfirewall_firewall.exfiltration_firewall
File: /modules/aws-workspace-with-firewall/firewall.tf:130-141
130 | resource "aws_networkfirewall_firewall" "exfiltration_firewall" {
131 | name = "${local.prefix}-fw"
132 | firewall_policy_arn = aws_networkfirewall_firewall_policy.egress_policy.arn
133 | vpc_id = aws_vpc.db_vpc.id
134 | dynamic "subnet_mapping" {
135 | for_each = aws_subnet.db_firewall_subnet[*].id
136 | content {
137 | subnet_id = subnet_mapping.value
138 | }
139 | }
140 | tags = var.tags
141 | }
Check: CKV_AWS_344: "Ensure that Network firewalls have deletion protection enabled"
FAILED for resource: aws_networkfirewall_firewall.exfiltration_firewall
File: /modules/aws-workspace-with-firewall/firewall.tf:130-141
130 | resource "aws_networkfirewall_firewall" "exfiltration_firewall" {
131 | name = "${local.prefix}-fw"
132 | firewall_policy_arn = aws_networkfirewall_firewall_policy.egress_policy.arn
133 | vpc_id = aws_vpc.db_vpc.id
134 | dynamic "subnet_mapping" {
135 | for_each = aws_subnet.db_firewall_subnet[*].id
136 | content {
137 | subnet_id = subnet_mapping.value
138 | }
139 | }
140 | tags = var.tags
141 | }
Check: CKV_AWS_130: "Ensure VPC subnets do not assign public IP by default"
FAILED for resource: aws_subnet.db_nat_public_subnet
File: /modules/aws-workspace-with-firewall/gateway.tf:1-10
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/ensure-vpc-subnets-do-not-assign-public-ip-by-default.html
1 | resource "aws_subnet" "db_nat_public_subnet" {
2 | vpc_id = aws_vpc.db_vpc.id
3 | count = length(local.nat_public_subnets_cidr)
4 | cidr_block = element(local.nat_public_subnets_cidr, count.index)
5 | availability_zone = element(local.availability_zones, count.index)
6 | map_public_ip_on_launch = true
7 | tags = merge(var.tags, {
8 | Name = "${local.prefix}-db-nat-public-${element(local.availability_zones, count.index)}"
9 | })
10 | }
Check: CKV_AWS_23: "Ensure every security groups rule has a description"
FAILED for resource: aws_security_group.default_sg
File: /modules/aws-workspace-with-firewall/security_group.tf:1-38
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/networking-31.html
1 | resource "aws_security_group" "default_sg" {
2 | name = "${local.prefix}-default-sg"
3 | description = "Default security group to allow inbound/outbound from the VPC"
4 | vpc_id = aws_vpc.db_vpc.id
5 | depends_on = [aws_vpc.db_vpc]
6 |
7 | dynamic "ingress" {
8 | for_each = local.sg_ingress_protocol
9 | content {
10 | from_port = 0
11 | to_port = 65535
12 | protocol = ingress.value
13 | self = true
14 | }
15 | }
16 |
17 | dynamic "egress" {
18 | for_each = local.sg_egress_protocol
19 | content {
20 | from_port = 0
21 | to_port = 65535
22 | protocol = egress.value
23 | self = true
24 | }
25 | }
26 |
27 | dynamic "egress" {
28 | for_each = local.sg_egress_ports
29 | content {
30 | from_port = egress.value
31 | to_port = egress.value
32 | protocol = "tcp"
33 | cidr_blocks = ["0.0.0.0/0"]
34 | }
35 | }
36 |
37 | tags = var.tags
38 | }
Check: CKV_GCP_26: "Ensure that VPC Flow Logs is enabled for every subnet in a VPC Network"
FAILED for resource: google_compute_subnetwork.network-with-private-secondary-ip-ranges
File: /modules/gcp-workspace-byovpc/vpc.tf:7-21
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/google-cloud-policies/logging-policies-1/bc-gcp-logging-1.html
7 | resource "google_compute_subnetwork" "network-with-private-secondary-ip-ranges" {
8 | name = var.subnet_name
9 | ip_cidr_range = var.subnet_ip_cidr_range
10 | region = var.google_region
11 | network = google_compute_network.dbx_private_vpc.id
12 | secondary_ip_range {
13 | range_name = "pods"
14 | ip_cidr_range = var.pod_ip_cidr_range
15 | }
16 | secondary_ip_range {
17 | range_name = "svc"
18 | ip_cidr_range = var.svc_ip_cidr_range
19 | }
20 | private_ip_google_access = true
21 | }
Check: CKV_GCP_76: "Ensure that Private google access is enabled for IPV6"
FAILED for resource: google_compute_subnetwork.network-with-private-secondary-ip-ranges
File: /modules/gcp-workspace-byovpc/vpc.tf:7-21
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/google-cloud-policies/google-cloud-networking-policies/ensure-gcp-private-google-access-is-enabled-for-ipv6.html
7 | resource "google_compute_subnetwork" "network-with-private-secondary-ip-ranges" {
8 | name = var.subnet_name
9 | ip_cidr_range = var.subnet_ip_cidr_range
10 | region = var.google_region
11 | network = google_compute_network.dbx_private_vpc.id
12 | secondary_ip_range {
13 | range_name = "pods"
14 | ip_cidr_range = var.pod_ip_cidr_range
15 | }
16 | secondary_ip_range {
17 | range_name = "svc"
18 | ip_cidr_range = var.svc_ip_cidr_range
19 | }
20 | private_ip_google_access = true
21 | }
Check: CKV_AWS_53: "Ensure S3 bucket has block public ACLS enabled"
FAILED for resource: module.workspace_collection["workspace_2"].module.my_root_bucket.aws_s3_bucket_public_access_block.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:11-15
Calling File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/main.tf:15-21
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/bc-aws-s3-19.html
11 | resource "aws_s3_bucket_public_access_block" "root_storage_bucket" {
12 | bucket = aws_s3_bucket.root_storage_bucket.id
13 | ignore_public_acls = true
14 | depends_on = [aws_s3_bucket.root_storage_bucket]
15 | }
Check: CKV_AWS_56: "Ensure S3 bucket has 'restrict_public_bucket' enabled"
FAILED for resource: module.workspace_collection["workspace_2"].module.my_root_bucket.aws_s3_bucket_public_access_block.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:11-15
Calling File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/main.tf:15-21
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/bc-aws-s3-22.html
11 | resource "aws_s3_bucket_public_access_block" "root_storage_bucket" {
12 | bucket = aws_s3_bucket.root_storage_bucket.id
13 | ignore_public_acls = true
14 | depends_on = [aws_s3_bucket.root_storage_bucket]
15 | }
Check: CKV_AWS_54: "Ensure S3 bucket has block public policy enabled"
FAILED for resource: module.workspace_collection["workspace_2"].module.my_root_bucket.aws_s3_bucket_public_access_block.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:11-15
Calling File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/main.tf:15-21
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/bc-aws-s3-20.html
11 | resource "aws_s3_bucket_public_access_block" "root_storage_bucket" {
12 | bucket = aws_s3_bucket.root_storage_bucket.id
13 | ignore_public_acls = true
14 | depends_on = [aws_s3_bucket.root_storage_bucket]
15 | }
Check: CKV2_AZURE_33: "Ensure storage account is configured with private endpoint"
FAILED for resource: azurerm_storage_account.sqlserversa
File: /examples/adb-external-hive-metastore/sqlserver.tf:1-7
1 | resource "azurerm_storage_account" "sqlserversa" {
2 | name = "${random_string.naming.result}sqlserversa"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | }
Check: CKV2_AZURE_33: "Ensure storage account is configured with private endpoint"
FAILED for resource: module.adls_content.azurerm_storage_account.personaldropbox
File: /examples/adb-splunk/modules/adls_content/main.tf:28-34
28 | resource "azurerm_storage_account" "personaldropbox" {
29 | name = local.storage_account_name
30 | resource_group_name = var.rg
31 | location = var.storage_account_location
32 | account_tier = "Standard"
33 | account_replication_type = "LRS"
34 | }
Check: CKV2_AZURE_33: "Ensure storage account is configured with private endpoint"
FAILED for resource: azurerm_storage_account.testsa
File: /examples/adb-squid-proxy/main/storage.tf:5-13
5 | resource "azurerm_storage_account" "testsa" {
6 | name = lower(random_id.storage_account.hex)
7 | resource_group_name = azurerm_resource_group.this.name
8 | is_hns_enabled = true
9 | location = "southeastasia"
10 | account_tier = "Standard"
11 | account_replication_type = "LRS"
12 | tags = local.tags
13 | }
Check: CKV2_AZURE_33: "Ensure storage account is configured with private endpoint"
FAILED for resource: azurerm_storage_account.storage
File: /examples/adb-squid-proxy/modules/storage/main.tf:1-8
1 | resource "azurerm_storage_account" "storage" {
2 | name = var.storagename
3 | resource_group_name = var.resource_group_name
4 | location = var.locationtest
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | is_hns_enabled = true
8 | }
Check: CKV2_AZURE_33: "Ensure storage account is configured with private endpoint"
FAILED for resource: azurerm_storage_account.unity_catalog
File: /examples/adb-uc/stage_3_spn_deploys_uc/storage.tf:10-26
10 | resource "azurerm_storage_account" "unity_catalog" {
11 | name = "${local.prefix}ucmetastore"
12 | resource_group_name = data.azurerm_resource_group.this.name
13 | location = data.azurerm_resource_group.this.location
14 | tags = data.azurerm_resource_group.this.tags
15 | account_tier = "Standard"
16 | account_replication_type = "ZRS"
17 | is_hns_enabled = true
18 |
19 | network_rules {
20 | default_action = "Deny"
21 | bypass = ["None"]
22 | private_link_access {
23 | endpoint_resource_id = azurerm_databricks_access_connector.unity.id
24 | }
25 | }
26 | }
Check: CKV2_AZURE_33: "Ensure storage account is configured with private endpoint"
FAILED for resource: module.metastore_and_users.azurerm_storage_account.unity_catalog
File: /examples/adb-unity-catalog-basic-demo/modules/metastore-and-users/main.tf:48-56
48 | resource "azurerm_storage_account" "unity_catalog" {
49 | name = "${local.prefix}storageaccuc"
50 | resource_group_name = data.azurerm_resource_group.this.name
51 | location = data.azurerm_resource_group.this.location
52 | tags = data.azurerm_resource_group.this.tags
53 | account_tier = "Standard"
54 | account_replication_type = "LRS"
55 | is_hns_enabled = true
56 | }
Check: CKV2_AZURE_33: "Ensure storage account is configured with private endpoint"
FAILED for resource: azurerm_storage_account.allowedstorage
File: /modules/adb-exfiltration-protection/storage.tf:1-10
1 | resource "azurerm_storage_account" "allowedstorage" {
2 | name = "${random_string.naming.result}allowedstorage"
3 | resource_group_name = azurerm_resource_group.this.name
4 |
5 | location = azurerm_resource_group.this.location
6 | account_tier = "Standard"
7 | account_replication_type = "LRS"
8 | is_hns_enabled = true
9 | tags = local.tags
10 | }
Check: CKV2_AZURE_33: "Ensure storage account is configured with private endpoint"
FAILED for resource: azurerm_storage_account.deniedstorage
File: /modules/adb-exfiltration-protection/storage.tf:13-22
13 | resource "azurerm_storage_account" "deniedstorage" {
14 | name = "${random_string.naming.result}deniedstorage"
15 | resource_group_name = azurerm_resource_group.this.name
16 |
17 | location = azurerm_resource_group.this.location
18 | account_tier = "Standard"
19 | account_replication_type = "LRS"
20 | is_hns_enabled = true
21 | tags = local.tags
22 | }
Check: CKV2_AZURE_33: "Ensure storage account is configured with private endpoint"
FAILED for resource: module.adb-lakehouse.azurerm_storage_account.dls
File: /modules/adb-lakehouse/storage.tf:1-10
1 | resource "azurerm_storage_account" "dls" {
2 | count = length(var.storage_account_names)
3 | name = "dls${var.storage_account_names[count.index]}${var.environment_name}"
4 | location = var.location
5 | resource_group_name = var.spoke_resource_group_name
6 | account_tier = "Standard"
7 | account_replication_type = "GRS"
8 | tags = var.tags
9 | is_hns_enabled = true
10 | }
Check: CKV2_AZURE_33: "Ensure storage account is configured with private endpoint"
FAILED for resource: module.adb-lakehouse.azurerm_storage_account.unity_catalog
File: /modules/adb-lakehouse/unity-catalog.tf:16-24
16 | resource "azurerm_storage_account" "unity_catalog" {
17 | name = var.metastore_storage_name
18 | location = azurerm_resource_group.shared_resource_group.location
19 | resource_group_name = var.shared_resource_group_name
20 | tags = var.tags
21 | account_tier = "Standard"
22 | account_replication_type = "GRS"
23 | is_hns_enabled = true
24 | }
Check: CKV2_AZURE_21: "Ensure Storage logging is enabled for Blob service for read requests"
FAILED for resource: module.adls_content.azurerm_storage_container.example_container
File: /examples/adb-splunk/modules/adls_content/main.tf:36-40
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/ensure-storage-logging-is-enabled-for-blob-service-for-read-requests.html
36 | resource "azurerm_storage_container" "example_container" {
37 | name = "cnt1"
38 | storage_account_name = azurerm_storage_account.personaldropbox.name
39 | container_access_type = "container" // for anonymous read container from public
40 | }
Check: CKV2_AZURE_21: "Ensure Storage logging is enabled for Blob service for read requests"
FAILED for resource: azurerm_storage_container.unity_catalog
File: /examples/adb-uc/stage_3_spn_deploys_uc/storage.tf:28-32
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/ensure-storage-logging-is-enabled-for-blob-service-for-read-requests.html
28 | resource "azurerm_storage_container" "unity_catalog" {
29 | name = "${local.prefix}metastorecontainer"
30 | storage_account_name = azurerm_storage_account.unity_catalog.name
31 | container_access_type = "private"
32 | }
Check: CKV2_AZURE_21: "Ensure Storage logging is enabled for Blob service for read requests"
FAILED for resource: azurerm_storage_container.dev_catalog
File: /examples/adb-unity-catalog-basic-demo/main.tf:111-115
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/ensure-storage-logging-is-enabled-for-blob-service-for-read-requests.html
111 | resource "azurerm_storage_container" "dev_catalog" {
112 | name = "dev-catalog"
113 | storage_account_name = module.metastore_and_users.azurerm_storage_account_unity_catalog.name
114 | container_access_type = "private"
115 | }
Check: CKV2_AZURE_21: "Ensure Storage logging is enabled for Blob service for read requests"
FAILED for resource: module.metastore_and_users.azurerm_storage_container.unity_catalog
File: /examples/adb-unity-catalog-basic-demo/modules/metastore-and-users/main.tf:59-63
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/ensure-storage-logging-is-enabled-for-blob-service-for-read-requests.html
59 | resource "azurerm_storage_container" "unity_catalog" {
60 | name = "${local.prefix}-container"
61 | storage_account_name = azurerm_storage_account.unity_catalog.name
62 | container_access_type = "private"
63 | }
Check: CKV2_AZURE_21: "Ensure Storage logging is enabled for Blob service for read requests"
FAILED for resource: module.adb-lakehouse.azurerm_storage_container.unity_catalog
File: /modules/adb-lakehouse/unity-catalog.tf:26-30
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/ensure-storage-logging-is-enabled-for-blob-service-for-read-requests.html
26 | resource "azurerm_storage_container" "unity_catalog" {
27 | name = "${var.metastore_storage_name}-container"
28 | storage_account_name = azurerm_storage_account.unity_catalog.name
29 | container_access_type = "private"
30 | }
Check: CKV_AZURE_119: "Ensure that Network Interfaces don't use public IPs"
FAILED for resource: module.kafka_broker.azurerm_network_interface.general-nic
File: /examples/adb-kafka/modules/general_vm/main.tf:1-12
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-network-interfaces-dont-use-public-ips.html
1 | resource "azurerm_network_interface" "general-nic" {
2 | name = "${var.vm_name}-nic"
3 | location = var.region
4 | resource_group_name = var.resource_group_name
5 |
6 | ip_configuration {
7 | name = "internal"
8 | subnet_id = var.subnet_id
9 | private_ip_address_allocation = "Dynamic"
10 | public_ip_address_id = azurerm_public_ip.general-nic-pubip.id
11 | }
12 | }
Check: CKV_AZURE_119: "Ensure that Network Interfaces don't use public IPs"
FAILED for resource: azurerm_network_interface.splunk-nic
File: /examples/adb-splunk/splunkvm.tf:1-12
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-network-interfaces-dont-use-public-ips.html
1 | resource "azurerm_network_interface" "splunk-nic" {
2 | name = "splunk-nic"
3 | location = azurerm_resource_group.this.location
4 | resource_group_name = azurerm_resource_group.this.name
5 |
6 | ip_configuration {
7 | name = "internal"
8 | subnet_id = azurerm_subnet.splunksubnet.id
9 | private_ip_address_allocation = "Dynamic"
10 | public_ip_address_id = azurerm_public_ip.splunk-nic-pubip.id
11 | }
12 | }
Check: CKV_AZURE_119: "Ensure that Network Interfaces don't use public IPs"
FAILED for resource: azurerm_network_interface.squid-nic
File: /examples/adb-squid-proxy/main/squid.tf:1-12
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-network-interfaces-dont-use-public-ips.html
1 | resource "azurerm_network_interface" "squid-nic" {
2 | name = "squid-nic"
3 | location = azurerm_resource_group.this.location
4 | resource_group_name = azurerm_resource_group.this.name
5 |
6 | ip_configuration {
7 | name = "internal"
8 | subnet_id = azurerm_subnet.squid-public-subnet.id
9 | private_ip_address_allocation = "Dynamic"
10 | public_ip_address_id = azurerm_public_ip.squid-nic-pubip.id
11 | }
12 | }
Check: CKV_AZURE_119: "Ensure that Network Interfaces don't use public IPs"
FAILED for resource: azurerm_network_interface.jumpbox
File: /examples/adb-squid-proxy/modules/vm/main.tf:169-182
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-network-interfaces-dont-use-public-ips.html
169 | resource "azurerm_network_interface" "jumpbox" {
170 | name = "jumpbox-nic"
171 | location = var.location
172 | resource_group_name = azurerm_resource_group.vmss.name
173 |
174 | ip_configuration {
175 | name = "IPConfiguration"
176 | subnet_id = azurerm_subnet.vmss.id
177 | private_ip_address_allocation = "dynamic"
178 | public_ip_address_id = azurerm_public_ip.jumpbox.id
179 | }
180 |
181 | tags = var.tags
182 | }
Check: CKV_AZURE_119: "Ensure that Network Interfaces don't use public IPs"
FAILED for resource: module.test_vm_instance.azurerm_network_interface.teradata-nic
File: /examples/adb-teradata/modules/teradata_vm/main.tf:1-12
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-network-interfaces-dont-use-public-ips.html
1 | resource "azurerm_network_interface" "teradata-nic" {
2 | name = "${var.naming_prefix}-teradatanic"
3 | location = var.region
4 | resource_group_name = var.resource_group_name
5 |
6 | ip_configuration {
7 | name = "internal"
8 | subnet_id = var.subnet_id
9 | private_ip_address_allocation = "Dynamic"
10 | public_ip_address_id = azurerm_public_ip.teradata-nic-pubip.id
11 | }
12 | }
Check: CKV_AZURE_119: "Ensure that Network Interfaces don't use public IPs"
FAILED for resource: azurerm_network_interface.testvmnic
File: /modules/adb-with-private-link-standard/testvm_transit.tf:7-18
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-network-interfaces-dont-use-public-ips.html
7 | resource "azurerm_network_interface" "testvmnic" {
8 | name = "${local.prefix}-testvm-nic"
9 | location = azurerm_resource_group.transit_rg.location
10 | resource_group_name = azurerm_resource_group.transit_rg.name
11 |
12 | ip_configuration {
13 | name = "testvmip"
14 | subnet_id = azurerm_subnet.testvmsubnet.id
15 | private_ip_address_allocation = "Dynamic"
16 | public_ip_address_id = azurerm_public_ip.testvmpublicip.id
17 | }
18 | }
Check: CKV_AZURE_119: "Ensure that Network Interfaces don't use public IPs"
FAILED for resource: azurerm_network_interface.testvmnic
File: /modules/adb-with-private-links-exfiltration-protection/testvm.tf:1-12
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-networking-policies/ensure-that-network-interfaces-dont-use-public-ips.html
1 | resource "azurerm_network_interface" "testvmnic" {
2 | name = "${local.prefix}-testvm-nic"
3 | location = azurerm_resource_group.this.location
4 | resource_group_name = azurerm_resource_group.this.name
5 |
6 | ip_configuration {
7 | name = "testvmip"
8 | subnet_id = azurerm_subnet.testvmsubnet.id
9 | private_ip_address_allocation = "Dynamic"
10 | public_ip_address_id = azurerm_public_ip.testvmpublicip.id
11 | }
12 | }
Check: CKV2_AZURE_15: "Ensure that Azure data factories are encrypted with a customer-managed key"
FAILED for resource: module.adb-lakehouse.azurerm_data_factory.adf[0]
File: /modules/adb-lakehouse/azure_data_factory.tf:1-8
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-that-azure-data-factories-are-encrypted-with-a-customer-managed-key.html
1 | resource "azurerm_data_factory" "adf" {
2 | count = var.data_factory_name != "" ? 1 : 0
3 |
4 | name = var.data_factory_name
5 | location = var.location
6 | resource_group_name = azurerm_resource_group.this.name
7 | tags = var.tags
8 | }
Check: CKV2_AZURE_27: "Ensure Azure AD authentication is enabled for Azure SQL (MSSQL)"
FAILED for resource: azurerm_mssql_server.metastoreserver
File: /examples/adb-external-hive-metastore/sqlserver.tf:9-17
Guide: https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/azr-general-85
9 | resource "azurerm_mssql_server" "metastoreserver" {
10 | name = "${random_string.naming.result}mssqlserver"
11 | resource_group_name = azurerm_resource_group.this.name
12 | location = azurerm_resource_group.this.location
13 | version = "12.0"
14 | administrator_login = var.db_username // sensitive data stored as env variables locally
15 | administrator_login_password = var.db_password
16 | public_network_access_enabled = true // consider to disable public access to the server, to set as false
17 | }
Check: CKV_AZURE_24: "Ensure that 'Auditing' Retention is 'greater than 90 days' for SQL servers"
FAILED for resource: azurerm_mssql_server.metastoreserver
File: /examples/adb-external-hive-metastore/sqlserver.tf:9-17
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-logging-policies/bc-azr-logging-3.html
9 | resource "azurerm_mssql_server" "metastoreserver" {
10 | name = "${random_string.naming.result}mssqlserver"
11 | resource_group_name = azurerm_resource_group.this.name
12 | location = azurerm_resource_group.this.location
13 | version = "12.0"
14 | administrator_login = var.db_username // sensitive data stored as env variables locally
15 | administrator_login_password = var.db_password
16 | public_network_access_enabled = true // consider to disable public access to the server, to set as false
17 | }
Check: CKV2_AZURE_12: "Ensure that virtual machines are backed up using Azure Backup"
FAILED for resource: azurerm_virtual_machine.jumpbox
File: /examples/adb-squid-proxy/modules/vm/main.tf:184-221
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-that-virtual-machines-are-backed-up-using-azure-backup.html
184 | resource "azurerm_virtual_machine" "jumpbox" {
185 | name = "jumpbox"
186 | location = var.location
187 | resource_group_name = azurerm_resource_group.vmss.name
188 | network_interface_ids = [azurerm_network_interface.jumpbox.id]
189 | vm_size = "Standard_DS1_v2"
190 |
191 | storage_image_reference {
192 | publisher = "Canonical"
193 | offer = "UbuntuServer"
194 | sku = "16.04-LTS"
195 | version = "latest"
196 | }
197 |
198 | storage_os_disk {
199 | name = "jumpbox-osdisk"
200 | caching = "ReadWrite"
201 | create_option = "FromImage"
202 | managed_disk_type = "Standard_LRS"
203 | }
204 |
205 | os_profile {
206 | computer_name = "jumpbox"
207 | admin_username = var.admin_user
208 | admin_password = var.admin_password
209 | }
210 |
211 | os_profile_linux_config {
212 | disable_password_authentication = true
213 |
214 | ssh_keys {
215 | path = "/home/azureuser/.ssh/authorized_keys"
216 | key_data = file("~/.ssh/id_rsa.pub")
217 | }
218 | }
219 |
220 | tags = var.tags
221 | }
Check: CKV2_AZURE_38: "Ensure soft-delete is enabled on Azure storage account"
FAILED for resource: azurerm_storage_account.sqlserversa
File: /examples/adb-external-hive-metastore/sqlserver.tf:1-7
1 | resource "azurerm_storage_account" "sqlserversa" {
2 | name = "${random_string.naming.result}sqlserversa"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | }
Check: CKV2_AZURE_38: "Ensure soft-delete is enabled on Azure storage account"
FAILED for resource: module.adls_content.azurerm_storage_account.personaldropbox
File: /examples/adb-splunk/modules/adls_content/main.tf:28-34
28 | resource "azurerm_storage_account" "personaldropbox" {
29 | name = local.storage_account_name
30 | resource_group_name = var.rg
31 | location = var.storage_account_location
32 | account_tier = "Standard"
33 | account_replication_type = "LRS"
34 | }
Check: CKV2_AZURE_38: "Ensure soft-delete is enabled on Azure storage account"
FAILED for resource: azurerm_storage_account.testsa
File: /examples/adb-squid-proxy/main/storage.tf:5-13
5 | resource "azurerm_storage_account" "testsa" {
6 | name = lower(random_id.storage_account.hex)
7 | resource_group_name = azurerm_resource_group.this.name
8 | is_hns_enabled = true
9 | location = "southeastasia"
10 | account_tier = "Standard"
11 | account_replication_type = "LRS"
12 | tags = local.tags
13 | }
Check: CKV2_AZURE_38: "Ensure soft-delete is enabled on Azure storage account"
FAILED for resource: azurerm_storage_account.storage
File: /examples/adb-squid-proxy/modules/storage/main.tf:1-8
1 | resource "azurerm_storage_account" "storage" {
2 | name = var.storagename
3 | resource_group_name = var.resource_group_name
4 | location = var.locationtest
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | is_hns_enabled = true
8 | }
Check: CKV2_AZURE_38: "Ensure soft-delete is enabled on Azure storage account"
FAILED for resource: azurerm_storage_account.unity_catalog
File: /examples/adb-uc/stage_3_spn_deploys_uc/storage.tf:10-26
10 | resource "azurerm_storage_account" "unity_catalog" {
11 | name = "${local.prefix}ucmetastore"
12 | resource_group_name = data.azurerm_resource_group.this.name
13 | location = data.azurerm_resource_group.this.location
14 | tags = data.azurerm_resource_group.this.tags
15 | account_tier = "Standard"
16 | account_replication_type = "ZRS"
17 | is_hns_enabled = true
18 |
19 | network_rules {
20 | default_action = "Deny"
21 | bypass = ["None"]
22 | private_link_access {
23 | endpoint_resource_id = azurerm_databricks_access_connector.unity.id
24 | }
25 | }
26 | }
Check: CKV2_AZURE_38: "Ensure soft-delete is enabled on Azure storage account"
FAILED for resource: module.metastore_and_users.azurerm_storage_account.unity_catalog
File: /examples/adb-unity-catalog-basic-demo/modules/metastore-and-users/main.tf:48-56
48 | resource "azurerm_storage_account" "unity_catalog" {
49 | name = "${local.prefix}storageaccuc"
50 | resource_group_name = data.azurerm_resource_group.this.name
51 | location = data.azurerm_resource_group.this.location
52 | tags = data.azurerm_resource_group.this.tags
53 | account_tier = "Standard"
54 | account_replication_type = "LRS"
55 | is_hns_enabled = true
56 | }
Check: CKV2_AZURE_38: "Ensure soft-delete is enabled on Azure storage account"
FAILED for resource: azurerm_storage_account.allowedstorage
File: /modules/adb-exfiltration-protection/storage.tf:1-10
1 | resource "azurerm_storage_account" "allowedstorage" {
2 | name = "${random_string.naming.result}allowedstorage"
3 | resource_group_name = azurerm_resource_group.this.name
4 |
5 | location = azurerm_resource_group.this.location
6 | account_tier = "Standard"
7 | account_replication_type = "LRS"
8 | is_hns_enabled = true
9 | tags = local.tags
10 | }
Check: CKV2_AZURE_38: "Ensure soft-delete is enabled on Azure storage account"
FAILED for resource: azurerm_storage_account.deniedstorage
File: /modules/adb-exfiltration-protection/storage.tf:13-22
13 | resource "azurerm_storage_account" "deniedstorage" {
14 | name = "${random_string.naming.result}deniedstorage"
15 | resource_group_name = azurerm_resource_group.this.name
16 |
17 | location = azurerm_resource_group.this.location
18 | account_tier = "Standard"
19 | account_replication_type = "LRS"
20 | is_hns_enabled = true
21 | tags = local.tags
22 | }
Check: CKV2_AZURE_38: "Ensure soft-delete is enabled on Azure storage account"
FAILED for resource: module.adb-lakehouse.azurerm_storage_account.dls
File: /modules/adb-lakehouse/storage.tf:1-10
1 | resource "azurerm_storage_account" "dls" {
2 | count = length(var.storage_account_names)
3 | name = "dls${var.storage_account_names[count.index]}${var.environment_name}"
4 | location = var.location
5 | resource_group_name = var.spoke_resource_group_name
6 | account_tier = "Standard"
7 | account_replication_type = "GRS"
8 | tags = var.tags
9 | is_hns_enabled = true
10 | }
Check: CKV2_AZURE_38: "Ensure soft-delete is enabled on Azure storage account"
FAILED for resource: module.adb-lakehouse.azurerm_storage_account.unity_catalog
File: /modules/adb-lakehouse/unity-catalog.tf:16-24
16 | resource "azurerm_storage_account" "unity_catalog" {
17 | name = var.metastore_storage_name
18 | location = azurerm_resource_group.shared_resource_group.location
19 | resource_group_name = var.shared_resource_group_name
20 | tags = var.tags
21 | account_tier = "Standard"
22 | account_replication_type = "GRS"
23 | is_hns_enabled = true
24 | }
Check: CKV2_AZURE_10: "Ensure that Microsoft Antimalware is configured to automatically updates for Virtual Machines"
FAILED for resource: azurerm_virtual_machine.jumpbox
File: /examples/adb-squid-proxy/modules/vm/main.tf:184-221
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-that-microsoft-antimalware-is-configured-to-automatically-updates-for-virtual-machines.html
184 | resource "azurerm_virtual_machine" "jumpbox" {
185 | name = "jumpbox"
186 | location = var.location
187 | resource_group_name = azurerm_resource_group.vmss.name
188 | network_interface_ids = [azurerm_network_interface.jumpbox.id]
189 | vm_size = "Standard_DS1_v2"
190 |
191 | storage_image_reference {
192 | publisher = "Canonical"
193 | offer = "UbuntuServer"
194 | sku = "16.04-LTS"
195 | version = "latest"
196 | }
197 |
198 | storage_os_disk {
199 | name = "jumpbox-osdisk"
200 | caching = "ReadWrite"
201 | create_option = "FromImage"
202 | managed_disk_type = "Standard_LRS"
203 | }
204 |
205 | os_profile {
206 | computer_name = "jumpbox"
207 | admin_username = var.admin_user
208 | admin_password = var.admin_password
209 | }
210 |
211 | os_profile_linux_config {
212 | disable_password_authentication = true
213 |
214 | ssh_keys {
215 | path = "/home/azureuser/.ssh/authorized_keys"
216 | key_data = file("~/.ssh/id_rsa.pub")
217 | }
218 | }
219 |
220 | tags = var.tags
221 | }
Check: CKV2_AZURE_1: "Ensure storage for critical data are encrypted with Customer Managed Key"
FAILED for resource: azurerm_storage_account.sqlserversa
File: /examples/adb-external-hive-metastore/sqlserver.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-storage-for-critical-data-are-encrypted-with-customer-managed-key.html
1 | resource "azurerm_storage_account" "sqlserversa" {
2 | name = "${random_string.naming.result}sqlserversa"
3 | resource_group_name = azurerm_resource_group.this.name
4 | location = azurerm_resource_group.this.location
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | }
Check: CKV2_AZURE_1: "Ensure storage for critical data are encrypted with Customer Managed Key"
FAILED for resource: module.adls_content.azurerm_storage_account.personaldropbox
File: /examples/adb-splunk/modules/adls_content/main.tf:28-34
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-storage-for-critical-data-are-encrypted-with-customer-managed-key.html
28 | resource "azurerm_storage_account" "personaldropbox" {
29 | name = local.storage_account_name
30 | resource_group_name = var.rg
31 | location = var.storage_account_location
32 | account_tier = "Standard"
33 | account_replication_type = "LRS"
34 | }
Check: CKV2_AZURE_1: "Ensure storage for critical data are encrypted with Customer Managed Key"
FAILED for resource: azurerm_storage_account.testsa
File: /examples/adb-squid-proxy/main/storage.tf:5-13
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-storage-for-critical-data-are-encrypted-with-customer-managed-key.html
5 | resource "azurerm_storage_account" "testsa" {
6 | name = lower(random_id.storage_account.hex)
7 | resource_group_name = azurerm_resource_group.this.name
8 | is_hns_enabled = true
9 | location = "southeastasia"
10 | account_tier = "Standard"
11 | account_replication_type = "LRS"
12 | tags = local.tags
13 | }
Check: CKV2_AZURE_1: "Ensure storage for critical data are encrypted with Customer Managed Key"
FAILED for resource: azurerm_storage_account.storage
File: /examples/adb-squid-proxy/modules/storage/main.tf:1-8
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-storage-for-critical-data-are-encrypted-with-customer-managed-key.html
1 | resource "azurerm_storage_account" "storage" {
2 | name = var.storagename
3 | resource_group_name = var.resource_group_name
4 | location = var.locationtest
5 | account_tier = "Standard"
6 | account_replication_type = "LRS"
7 | is_hns_enabled = true
8 | }
Check: CKV2_AZURE_1: "Ensure storage for critical data are encrypted with Customer Managed Key"
FAILED for resource: azurerm_storage_account.unity_catalog
File: /examples/adb-uc/stage_3_spn_deploys_uc/storage.tf:10-26
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-storage-for-critical-data-are-encrypted-with-customer-managed-key.html
10 | resource "azurerm_storage_account" "unity_catalog" {
11 | name = "${local.prefix}ucmetastore"
12 | resource_group_name = data.azurerm_resource_group.this.name
13 | location = data.azurerm_resource_group.this.location
14 | tags = data.azurerm_resource_group.this.tags
15 | account_tier = "Standard"
16 | account_replication_type = "ZRS"
17 | is_hns_enabled = true
18 |
19 | network_rules {
20 | default_action = "Deny"
21 | bypass = ["None"]
22 | private_link_access {
23 | endpoint_resource_id = azurerm_databricks_access_connector.unity.id
24 | }
25 | }
26 | }
Check: CKV2_AZURE_1: "Ensure storage for critical data are encrypted with Customer Managed Key"
FAILED for resource: module.metastore_and_users.azurerm_storage_account.unity_catalog
File: /examples/adb-unity-catalog-basic-demo/modules/metastore-and-users/main.tf:48-56
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-storage-for-critical-data-are-encrypted-with-customer-managed-key.html
48 | resource "azurerm_storage_account" "unity_catalog" {
49 | name = "${local.prefix}storageaccuc"
50 | resource_group_name = data.azurerm_resource_group.this.name
51 | location = data.azurerm_resource_group.this.location
52 | tags = data.azurerm_resource_group.this.tags
53 | account_tier = "Standard"
54 | account_replication_type = "LRS"
55 | is_hns_enabled = true
56 | }
Check: CKV2_AZURE_1: "Ensure storage for critical data are encrypted with Customer Managed Key"
FAILED for resource: azurerm_storage_account.allowedstorage
File: /modules/adb-exfiltration-protection/storage.tf:1-10
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-storage-for-critical-data-are-encrypted-with-customer-managed-key.html
1 | resource "azurerm_storage_account" "allowedstorage" {
2 | name = "${random_string.naming.result}allowedstorage"
3 | resource_group_name = azurerm_resource_group.this.name
4 |
5 | location = azurerm_resource_group.this.location
6 | account_tier = "Standard"
7 | account_replication_type = "LRS"
8 | is_hns_enabled = true
9 | tags = local.tags
10 | }
Check: CKV2_AZURE_1: "Ensure storage for critical data are encrypted with Customer Managed Key"
FAILED for resource: azurerm_storage_account.deniedstorage
File: /modules/adb-exfiltration-protection/storage.tf:13-22
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-storage-for-critical-data-are-encrypted-with-customer-managed-key.html
13 | resource "azurerm_storage_account" "deniedstorage" {
14 | name = "${random_string.naming.result}deniedstorage"
15 | resource_group_name = azurerm_resource_group.this.name
16 |
17 | location = azurerm_resource_group.this.location
18 | account_tier = "Standard"
19 | account_replication_type = "LRS"
20 | is_hns_enabled = true
21 | tags = local.tags
22 | }
Check: CKV2_AZURE_1: "Ensure storage for critical data are encrypted with Customer Managed Key"
FAILED for resource: module.adb-lakehouse.azurerm_storage_account.dls
File: /modules/adb-lakehouse/storage.tf:1-10
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-storage-for-critical-data-are-encrypted-with-customer-managed-key.html
1 | resource "azurerm_storage_account" "dls" {
2 | count = length(var.storage_account_names)
3 | name = "dls${var.storage_account_names[count.index]}${var.environment_name}"
4 | location = var.location
5 | resource_group_name = var.spoke_resource_group_name
6 | account_tier = "Standard"
7 | account_replication_type = "GRS"
8 | tags = var.tags
9 | is_hns_enabled = true
10 | }
Check: CKV2_AZURE_1: "Ensure storage for critical data are encrypted with Customer Managed Key"
FAILED for resource: module.adb-lakehouse.azurerm_storage_account.unity_catalog
File: /modules/adb-lakehouse/unity-catalog.tf:16-24
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/azure-policies/azure-general-policies/ensure-storage-for-critical-data-are-encrypted-with-customer-managed-key.html
16 | resource "azurerm_storage_account" "unity_catalog" {
17 | name = var.metastore_storage_name
18 | location = azurerm_resource_group.shared_resource_group.location
19 | resource_group_name = var.shared_resource_group_name
20 | tags = var.tags
21 | account_tier = "Standard"
22 | account_replication_type = "GRS"
23 | is_hns_enabled = true
24 | }
Check: CKV2_AZURE_32: "Ensure private endpoint is configured to key vault"
FAILED for resource: azurerm_key_vault.akv1
File: /examples/adb-external-hive-metastore/akv.tf:1-10
1 | resource "azurerm_key_vault" "akv1" {
2 | name = "${local.prefix}-akv"
3 | location = azurerm_resource_group.this.location
4 | resource_group_name = azurerm_resource_group.this.name
5 | enabled_for_disk_encryption = true
6 | tenant_id = data.azurerm_client_config.current.tenant_id
7 | soft_delete_retention_days = 7
8 | purge_protection_enabled = false
9 | sku_name = "standard"
10 | }
Check: CKV2_AZURE_32: "Ensure private endpoint is configured to key vault"
FAILED for resource: module.adb-lakehouse.azurerm_key_vault.example
File: /modules/adb-lakehouse/key_vault.tf:1-11
1 | resource "azurerm_key_vault" "example" {
2 | name = var.key_vault_name
3 | location = var.location
4 | resource_group_name = azurerm_resource_group.this.name
5 | enabled_for_disk_encryption = true
6 | tenant_id = data.azurerm_client_config.current.tenant_id
7 | soft_delete_retention_days = 7
8 | purge_protection_enabled = false
9 | sku_name = "standard"
10 | tags = var.tags
11 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.hubfw
File: /examples/adb-private-links/vnet.tf:116-122
116 | resource "azurerm_subnet" "hubfw" {
117 | //name must be fixed as AzureFirewallSubnet
118 | name = "AzureFirewallSubnet"
119 | resource_group_name = azurerm_resource_group.this.name
120 | virtual_network_name = azurerm_virtual_network.hubvnet.name
121 | address_prefixes = [cidrsubnet(var.hubcidr, 3, 0)]
122 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.hubfw
File: /modules/adb-exfiltration-protection/vnet.tf:88-95
88 | resource "azurerm_subnet" "hubfw" {
89 | //name must be fixed as AzureFirewallSubnet
90 | name = "AzureFirewallSubnet"
91 | resource_group_name = azurerm_resource_group.this.name
92 | virtual_network_name = azurerm_virtual_network.hubvnet.name
93 | address_prefixes = [cidrsubnet(var.hubcidr, 3, 0)]
94 | service_endpoints = ["Microsoft.Storage"]
95 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.hubfw
File: /modules/adb-with-private-links-exfiltration-protection/vnet.tf:117-123
117 | resource "azurerm_subnet" "hubfw" {
118 | //name must be fixed as AzureFirewallSubnet
119 | name = "AzureFirewallSubnet"
120 | resource_group_name = azurerm_resource_group.this.name
121 | virtual_network_name = azurerm_virtual_network.hubvnet.name
122 | address_prefixes = [cidrsubnet(var.hubcidr, 3, 0)]
123 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.plsubnet
File: /examples/adb-external-hive-metastore/vnet.tf:72-78
72 | resource "azurerm_subnet" "plsubnet" {
73 | name = "${local.prefix}-privatelink"
74 | resource_group_name = azurerm_resource_group.this.name
75 | virtual_network_name = azurerm_virtual_network.this.name
76 | address_prefixes = [cidrsubnet(local.cidr, 3, 2)]
77 | private_endpoint_network_policies_enabled = true
78 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.sqlsubnet
File: /examples/adb-external-hive-metastore/vnet.tf:89-95
89 | resource "azurerm_subnet" "sqlsubnet" {
90 | name = "sql-server-subnet"
91 | resource_group_name = azurerm_resource_group.this.name
92 | virtual_network_name = azurerm_virtual_network.sqlvnet.name
93 | address_prefixes = [cidrsubnet(local.sqlcidr, 3, 2)]
94 | service_endpoints = ["Microsoft.Sql"]
95 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.plsubnet
File: /examples/adb-private-links/vnet.tf:99-105
99 | resource "azurerm_subnet" "plsubnet" {
100 | name = "${local.prefix}-privatelink"
101 | resource_group_name = azurerm_resource_group.this.name
102 | virtual_network_name = azurerm_virtual_network.this.name
103 | address_prefixes = [cidrsubnet(local.cidr, 3, 2)]
104 | enforce_private_link_endpoint_network_policies = true // set to true to disable subnet policy
105 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.splunksubnet
File: /examples/adb-splunk/vnet.tf:72-78
72 | resource "azurerm_subnet" "splunksubnet" {
73 | name = "${local.prefix}-splunk"
74 | resource_group_name = azurerm_resource_group.this.name
75 | virtual_network_name = azurerm_virtual_network.this.name
76 | address_prefixes = [cidrsubnet(local.cidr, 3, 2)]
77 | //enforce_private_link_endpoint_network_policies = true // set to true to disable subnet policy
78 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.squid-public-subnet
File: /examples/adb-squid-proxy/main/vnet.tf:71-76
71 | resource "azurerm_subnet" "squid-public-subnet" {
72 | name = "${local.prefix}-squid-public"
73 | resource_group_name = azurerm_resource_group.this.name
74 | virtual_network_name = azurerm_virtual_network.squidvnet.name
75 | address_prefixes = [cidrsubnet(local.squidcidr, 3, 0)]
76 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.vmss
File: /examples/adb-squid-proxy/modules/vm/main.tf:38-43
38 | resource "azurerm_subnet" "vmss" {
39 | name = "vmss-subnet"
40 | resource_group_name = azurerm_resource_group.vmss.name
41 | virtual_network_name = azurerm_virtual_network.vmss.name
42 | address_prefixes = ["10.0.2.0/24"]
43 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.plsubnet
File: /modules/adb-exfiltration-protection/vnet.tf:72-78
72 | resource "azurerm_subnet" "plsubnet" {
73 | name = "${local.prefix}-privatelink"
74 | resource_group_name = azurerm_resource_group.this.name
75 | virtual_network_name = azurerm_virtual_network.this.name
76 | address_prefixes = [cidrsubnet(local.cidr, 3, 2)]
77 | //private_endpoint_network_policies_enabled = true // set to true to disable subnet policy
78 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.testvmsubnet
File: /modules/adb-with-private-link-standard/testvm_transit.tf:93-98
93 | resource "azurerm_subnet" "testvmsubnet" {
94 | name = "${local.prefix}-testvmsubnet"
95 | resource_group_name = azurerm_resource_group.transit_rg.name
96 | virtual_network_name = azurerm_virtual_network.transit_vnet.name
97 | address_prefixes = [cidrsubnet(var.cidr_transit, 3, 3)]
98 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.dp_plsubnet
File: /modules/adb-with-private-link-standard/vnet_dp.tf:99-105
99 | resource "azurerm_subnet" "dp_plsubnet" {
100 | name = "${local.prefix}-dp-privatelink"
101 | resource_group_name = azurerm_resource_group.dp_rg.name
102 | virtual_network_name = azurerm_virtual_network.dp_vnet.name
103 | address_prefixes = [cidrsubnet(var.cidr_dp, 6, 2)]
104 | private_endpoint_network_policies_enabled = true
105 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.transit_plsubnet
File: /modules/adb-with-private-link-standard/vnet_transit.tf:99-105
99 | resource "azurerm_subnet" "transit_plsubnet" {
100 | name = "${local.prefix}-transit-privatelink"
101 | resource_group_name = azurerm_resource_group.transit_rg.name
102 | virtual_network_name = azurerm_virtual_network.transit_vnet.name
103 | address_prefixes = [cidrsubnet(var.cidr_transit, 6, 2)]
104 | private_endpoint_network_policies_enabled = true
105 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.testvmsubnet
File: /modules/adb-with-private-links-exfiltration-protection/testvm.tf:93-98
93 | resource "azurerm_subnet" "testvmsubnet" {
94 | name = "${local.prefix}-testvmsubnet"
95 | resource_group_name = azurerm_resource_group.this.name
96 | virtual_network_name = azurerm_virtual_network.this.name
97 | address_prefixes = [cidrsubnet(local.cidr, 3, 3)]
98 | }
Check: CKV2_AZURE_31: "Ensure VNET subnet is configured with a Network Security Group (NSG)"
FAILED for resource: azurerm_subnet.plsubnet
File: /modules/adb-with-private-links-exfiltration-protection/vnet.tf:100-106
100 | resource "azurerm_subnet" "plsubnet" {
101 | name = "${local.prefix}-privatelink"
102 | resource_group_name = azurerm_resource_group.this.name
103 | virtual_network_name = azurerm_virtual_network.this.name
104 | address_prefixes = [cidrsubnet(local.cidr, 3, 2)]
105 | private_endpoint_network_policies_enabled = true // set to true to disable subnet policy
106 | }
Check: CKV2_GCP_18: "Ensure GCP network defines a firewall and does not use the default firewall"
FAILED for resource: google_compute_network.dbx_private_vpc
File: /examples/gcp-byovpc/vpc.tf:1-5
1 | resource "google_compute_network" "dbx_private_vpc" {
2 | project = var.google_project
3 | name = "${var.prefix}-${random_string.suffix.result}"
4 | auto_create_subnetworks = false
5 | }
Check: CKV2_GCP_18: "Ensure GCP network defines a firewall and does not use the default firewall"
FAILED for resource: google_compute_network.dbx_private_vpc
File: /modules/gcp-workspace-byovpc/vpc.tf:1-5
1 | resource "google_compute_network" "dbx_private_vpc" {
2 | project = var.google_project
3 | name = "${var.prefix}-${random_string.suffix.result}"
4 | auto_create_subnetworks = false
5 | }
Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-flat/rootbucket.tf:1-11
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-rootbucket"
10 | })
11 | }
Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
FAILED for resource: aws_s3_bucket.data_bucket
File: /examples/aws-databricks-modular-privatelink/instance_profile.tf:2-6
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
2 | resource "aws_s3_bucket" "data_bucket" {
3 | bucket = "data-bucket-for-test" // hard-coded value for demo only
4 | acl = "private"
5 | force_destroy = true
6 | }
Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
FAILED for resource: module.workspace_collection["workspace_1"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
FAILED for resource: aws_s3_bucket.metastore
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:2-12
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
2 | resource "aws_s3_bucket" "metastore" {
3 | bucket = "${local.prefix}-metastore-jlaw"
4 | acl = "private"
5 | versioning {
6 | enabled = false
7 | }
8 | force_destroy = true
9 | tags = merge(var.tags, {
10 | Name = "${local.prefix}-uc-metastore"
11 | })
12 | }
Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
FAILED for resource: aws_s3_bucket.external
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:103-114
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
103 | resource "aws_s3_bucket" "external" {
104 | bucket = "${local.prefix}-external"
105 | acl = "private"
106 | versioning {
107 | enabled = false
108 | }
109 | // destroy all objects with bucket destroy
110 | force_destroy = true
111 | tags = merge(var.tags, {
112 | Name = "${local.prefix}-external"
113 | })
114 | }
Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
FAILED for resource: aws_s3_bucket.terraform_state
File: /examples/aws-remote-backend-infra/main.tf:15-30
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
15 | resource "aws_s3_bucket" "terraform_state" {
16 | bucket = var.bucket_name
17 | # Enable versioning so we can see the full revision history of state files
18 | versioning {
19 | enabled = true
20 | }
21 | force_destroy = true
22 | # Enable server-side encryption by default
23 | server_side_encryption_configuration {
24 | rule {
25 | apply_server_side_encryption_by_default {
26 | sse_algorithm = "AES256"
27 | }
28 | }
29 | }
30 | }
Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
FAILED for resource: module.aws_base.aws_s3_bucket.root_storage_bucket
File: /modules/aws-databricks-base-infra/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${var.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${var.prefix}-rootbucket"
6 | })
7 | }
Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
FAILED for resource: module.unity_catalog.aws_s3_bucket.metastore
File: /modules/aws-databricks-unity-catalog/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
1 | resource "aws_s3_bucket" "metastore" {
2 | bucket = "${var.prefix}-metastore"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${var.prefix}-metastore"
6 | })
7 | }
Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-exfiltration-protection/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${local.prefix}-rootbucket"
6 | })
7 | }
Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-workspace-basic/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${local.prefix}-rootbucket"
6 | })
7 | }
Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-workspace-with-firewall/s3.tf:1-11
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-rootbucket"
10 | })
11 | }
Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
FAILED for resource: module.workspace_collection["workspace_2"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Check: CKV2_AWS_62: "Ensure S3 buckets should have event notifications enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-flat/rootbucket.tf:1-11
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-rootbucket"
10 | })
11 | }
Check: CKV2_AWS_62: "Ensure S3 buckets should have event notifications enabled"
FAILED for resource: aws_s3_bucket.data_bucket
File: /examples/aws-databricks-modular-privatelink/instance_profile.tf:2-6
2 | resource "aws_s3_bucket" "data_bucket" {
3 | bucket = "data-bucket-for-test" // hard-coded value for demo only
4 | acl = "private"
5 | force_destroy = true
6 | }
Check: CKV2_AWS_62: "Ensure S3 buckets should have event notifications enabled"
FAILED for resource: module.workspace_collection["workspace_1"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Check: CKV2_AWS_62: "Ensure S3 buckets should have event notifications enabled"
FAILED for resource: aws_s3_bucket.metastore
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:2-12
2 | resource "aws_s3_bucket" "metastore" {
3 | bucket = "${local.prefix}-metastore-jlaw"
4 | acl = "private"
5 | versioning {
6 | enabled = false
7 | }
8 | force_destroy = true
9 | tags = merge(var.tags, {
10 | Name = "${local.prefix}-uc-metastore"
11 | })
12 | }
Check: CKV2_AWS_62: "Ensure S3 buckets should have event notifications enabled"
FAILED for resource: aws_s3_bucket.external
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:103-114
103 | resource "aws_s3_bucket" "external" {
104 | bucket = "${local.prefix}-external"
105 | acl = "private"
106 | versioning {
107 | enabled = false
108 | }
109 | // destroy all objects with bucket destroy
110 | force_destroy = true
111 | tags = merge(var.tags, {
112 | Name = "${local.prefix}-external"
113 | })
114 | }
Check: CKV2_AWS_62: "Ensure S3 buckets should have event notifications enabled"
FAILED for resource: aws_s3_bucket.terraform_state
File: /examples/aws-remote-backend-infra/main.tf:15-30
15 | resource "aws_s3_bucket" "terraform_state" {
16 | bucket = var.bucket_name
17 | # Enable versioning so we can see the full revision history of state files
18 | versioning {
19 | enabled = true
20 | }
21 | force_destroy = true
22 | # Enable server-side encryption by default
23 | server_side_encryption_configuration {
24 | rule {
25 | apply_server_side_encryption_by_default {
26 | sse_algorithm = "AES256"
27 | }
28 | }
29 | }
30 | }
Check: CKV2_AWS_62: "Ensure S3 buckets should have event notifications enabled"
FAILED for resource: module.aws_base.aws_s3_bucket.root_storage_bucket
File: /modules/aws-databricks-base-infra/s3.tf:1-7
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${var.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${var.prefix}-rootbucket"
6 | })
7 | }
Check: CKV2_AWS_62: "Ensure S3 buckets should have event notifications enabled"
FAILED for resource: module.unity_catalog.aws_s3_bucket.metastore
File: /modules/aws-databricks-unity-catalog/s3.tf:1-7
1 | resource "aws_s3_bucket" "metastore" {
2 | bucket = "${var.prefix}-metastore"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${var.prefix}-metastore"
6 | })
7 | }
Check: CKV2_AWS_62: "Ensure S3 buckets should have event notifications enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-exfiltration-protection/s3.tf:1-7
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${local.prefix}-rootbucket"
6 | })
7 | }
Check: CKV2_AWS_62: "Ensure S3 buckets should have event notifications enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-workspace-basic/s3.tf:1-7
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${local.prefix}-rootbucket"
6 | })
7 | }
Check: CKV2_AWS_62: "Ensure S3 buckets should have event notifications enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-workspace-with-firewall/s3.tf:1-11
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-rootbucket"
10 | })
11 | }
Check: CKV2_AWS_62: "Ensure S3 buckets should have event notifications enabled"
FAILED for resource: module.workspace_collection["workspace_2"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Check: CKV2_AWS_19: "Ensure that all EIP addresses allocated to a VPC are attached to EC2 instances"
FAILED for resource: aws_eip.nat_gateway_elastic_ips[0]
File: /examples/aws-databricks-flat/networks_special.tf:22-25
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/ensure-that-all-eip-addresses-allocated-to-a-vpc-are-attached-to-ec2-instances.html
22 | resource "aws_eip" "nat_gateway_elastic_ips" {
23 | count = length(var.public_subnets_cidr)
24 | vpc = true
25 | }
Check: CKV2_AWS_19: "Ensure that all EIP addresses allocated to a VPC are attached to EC2 instances"
FAILED for resource: aws_eip.nat_gateway_elastic_ips[0]
File: /examples/aws-databricks-modular-privatelink/vpc.tf:57-60
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/ensure-that-all-eip-addresses-allocated-to-a-vpc-are-attached-to-ec2-instances.html
57 | resource "aws_eip" "nat_gateway_elastic_ips" {
58 | count = length(var.public_subnets_cidr)
59 | vpc = true
60 | }
Check: CKV2_AWS_12: "Ensure the default security group of every VPC restricts all traffic"
FAILED for resource: aws_vpc.mainvpc
File: /examples/aws-databricks-flat/networks_special.tf:3-10
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/networking-4.html
3 | resource "aws_vpc" "mainvpc" {
4 | cidr_block = var.vpc_cidr
5 | enable_dns_hostnames = true
6 |
7 | tags = merge(var.tags, {
8 | Name = "${local.prefix}-vpc"
9 | })
10 | }
Check: CKV2_AWS_12: "Ensure the default security group of every VPC restricts all traffic"
FAILED for resource: aws_vpc.mainvpc
File: /examples/aws-databricks-modular-privatelink/vpc.tf:3-11
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/networking-4.html
3 | resource "aws_vpc" "mainvpc" {
4 | cidr_block = var.vpc_cidr
5 | enable_dns_hostnames = true
6 | enable_dns_support = true
7 |
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-vpc"
10 | })
11 | }
Check: CKV2_AWS_12: "Ensure the default security group of every VPC restricts all traffic"
FAILED for resource: aws_vpc.hub_vpc
File: /modules/aws-exfiltration-protection/vpc_hub.tf:1-8
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/networking-4.html
1 | resource "aws_vpc" "hub_vpc" {
2 | cidr_block = var.hub_cidr_block
3 | enable_dns_hostnames = true
4 | enable_dns_support = true
5 | tags = merge(var.tags, {
6 | Name = "${local.prefix}-hub-vpc"
7 | })
8 | }
Check: CKV2_AWS_12: "Ensure the default security group of every VPC restricts all traffic"
FAILED for resource: aws_vpc.spoke_vpc
File: /modules/aws-exfiltration-protection/vpc_spoke.tf:1-8
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/networking-4.html
1 | resource "aws_vpc" "spoke_vpc" {
2 | cidr_block = var.spoke_cidr_block
3 | enable_dns_hostnames = true
4 | enable_dns_support = true
5 | tags = merge(var.tags, {
6 | Name = "${local.prefix}-spoke-vpc"
7 | })
8 | }
Check: CKV2_AWS_12: "Ensure the default security group of every VPC restricts all traffic"
FAILED for resource: aws_vpc.db_vpc
File: /modules/aws-workspace-with-firewall/vpc.tf:1-8
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/networking-4.html
1 | resource "aws_vpc" "db_vpc" {
2 | cidr_block = var.cidr_block
3 | enable_dns_hostnames = true
4 | enable_dns_support = true
5 | tags = merge(var.tags, {
6 | Name = "${local.prefix}-db-vpc"
7 | })
8 | }
Check: CKV2_AWS_63: "Ensure Network firewall has logging configuration defined"
FAILED for resource: aws_networkfirewall_firewall.exfiltration_firewall
File: /modules/aws-exfiltration-protection/firewall.tf:118-129
118 | resource "aws_networkfirewall_firewall" "exfiltration_firewall" {
119 | name = "${local.prefix}-fw"
120 | firewall_policy_arn = aws_networkfirewall_firewall_policy.egress_policy.arn
121 | vpc_id = aws_vpc.hub_vpc.id
122 | dynamic "subnet_mapping" {
123 | for_each = aws_subnet.hub_firewall_subnet[*].id
124 | content {
125 | subnet_id = subnet_mapping.value
126 | }
127 | }
128 | tags = var.tags
129 | }
Check: CKV2_AWS_63: "Ensure Network firewall has logging configuration defined"
FAILED for resource: aws_networkfirewall_firewall.exfiltration_firewall
File: /modules/aws-workspace-with-firewall/firewall.tf:130-141
130 | resource "aws_networkfirewall_firewall" "exfiltration_firewall" {
131 | name = "${local.prefix}-fw"
132 | firewall_policy_arn = aws_networkfirewall_firewall_policy.egress_policy.arn
133 | vpc_id = aws_vpc.db_vpc.id
134 | dynamic "subnet_mapping" {
135 | for_each = aws_subnet.db_firewall_subnet[*].id
136 | content {
137 | subnet_id = subnet_mapping.value
138 | }
139 | }
140 | tags = var.tags
141 | }
Check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-flat/rootbucket.tf:1-11
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-16-enable-versioning.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-rootbucket"
10 | })
11 | }
Check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled"
FAILED for resource: aws_s3_bucket.data_bucket
File: /examples/aws-databricks-modular-privatelink/instance_profile.tf:2-6
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-16-enable-versioning.html
2 | resource "aws_s3_bucket" "data_bucket" {
3 | bucket = "data-bucket-for-test" // hard-coded value for demo only
4 | acl = "private"
5 | force_destroy = true
6 | }
Check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled"
FAILED for resource: module.workspace_collection["workspace_1"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-16-enable-versioning.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled"
FAILED for resource: aws_s3_bucket.metastore
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:2-12
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-16-enable-versioning.html
2 | resource "aws_s3_bucket" "metastore" {
3 | bucket = "${local.prefix}-metastore-jlaw"
4 | acl = "private"
5 | versioning {
6 | enabled = false
7 | }
8 | force_destroy = true
9 | tags = merge(var.tags, {
10 | Name = "${local.prefix}-uc-metastore"
11 | })
12 | }
Check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled"
FAILED for resource: aws_s3_bucket.external
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:103-114
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-16-enable-versioning.html
103 | resource "aws_s3_bucket" "external" {
104 | bucket = "${local.prefix}-external"
105 | acl = "private"
106 | versioning {
107 | enabled = false
108 | }
109 | // destroy all objects with bucket destroy
110 | force_destroy = true
111 | tags = merge(var.tags, {
112 | Name = "${local.prefix}-external"
113 | })
114 | }
Check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled"
FAILED for resource: module.aws_base.aws_s3_bucket.root_storage_bucket
File: /modules/aws-databricks-base-infra/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-16-enable-versioning.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${var.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${var.prefix}-rootbucket"
6 | })
7 | }
Check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled"
FAILED for resource: module.unity_catalog.aws_s3_bucket.metastore
File: /modules/aws-databricks-unity-catalog/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-16-enable-versioning.html
1 | resource "aws_s3_bucket" "metastore" {
2 | bucket = "${var.prefix}-metastore"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${var.prefix}-metastore"
6 | })
7 | }
Check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-workspace-with-firewall/s3.tf:1-11
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-16-enable-versioning.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-rootbucket"
10 | })
11 | }
Check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled"
FAILED for resource: module.workspace_collection["workspace_2"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-16-enable-versioning.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Check: CKV2_AWS_5: "Ensure that Security Groups are attached to another resource"
FAILED for resource: aws_security_group.test_sg
File: /examples/aws-databricks-flat/networks_special.tf:56-74
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/ensure-that-security-groups-are-attached-to-ec2-instances-or-elastic-network-interfaces-enis.html
56 | resource "aws_security_group" "test_sg" {
57 | name = "default-security-group-${local.prefix}"
58 | description = "Default security group for ${local.prefix}"
59 | vpc_id = aws_vpc.mainvpc.id
60 |
61 | ingress {
62 | from_port = 0
63 | to_port = 0
64 | protocol = -1
65 | self = true
66 | }
67 |
68 | egress {
69 | from_port = 0
70 | to_port = 0
71 | protocol = "-1"
72 | cidr_blocks = ["0.0.0.0/0"]
73 | }
74 | }
Check: CKV2_AWS_5: "Ensure that Security Groups are attached to another resource"
FAILED for resource: aws_security_group.default_spoke_sg
File: /modules/aws-exfiltration-protection/vpc_spoke.tf:50-87
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/ensure-that-security-groups-are-attached-to-ec2-instances-or-elastic-network-interfaces-enis.html
50 | resource "aws_security_group" "default_spoke_sg" {
51 | name = "${local.prefix}-default_spoke_sg"
52 | description = "Default security group to allow inbound/outbound from the VPC"
53 | vpc_id = aws_vpc.spoke_vpc.id
54 | depends_on = [aws_vpc.spoke_vpc]
55 |
56 | dynamic "ingress" {
57 | for_each = local.sg_ingress_protocol
58 | content {
59 | from_port = 0
60 | to_port = 65535
61 | protocol = ingress.value
62 | self = true
63 | }
64 | }
65 |
66 | dynamic "egress" {
67 | for_each = local.sg_egress_protocol
68 | content {
69 | from_port = 0
70 | to_port = 65535
71 | protocol = egress.value
72 | self = true
73 | }
74 | }
75 |
76 | dynamic "egress" {
77 | for_each = local.sg_egress_ports
78 | content {
79 | from_port = egress.value
80 | to_port = egress.value
81 | protocol = "tcp"
82 | cidr_blocks = ["0.0.0.0/0"]
83 | }
84 | }
85 |
86 | tags = var.tags
87 | }
Check: CKV2_AWS_5: "Ensure that Security Groups are attached to another resource"
FAILED for resource: aws_security_group.default_sg
File: /modules/aws-workspace-with-firewall/security_group.tf:1-38
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/ensure-that-security-groups-are-attached-to-ec2-instances-or-elastic-network-interfaces-enis.html
1 | resource "aws_security_group" "default_sg" {
2 | name = "${local.prefix}-default-sg"
3 | description = "Default security group to allow inbound/outbound from the VPC"
4 | vpc_id = aws_vpc.db_vpc.id
5 | depends_on = [aws_vpc.db_vpc]
6 |
7 | dynamic "ingress" {
8 | for_each = local.sg_ingress_protocol
9 | content {
10 | from_port = 0
11 | to_port = 65535
12 | protocol = ingress.value
13 | self = true
14 | }
15 | }
16 |
17 | dynamic "egress" {
18 | for_each = local.sg_egress_protocol
19 | content {
20 | from_port = 0
21 | to_port = 65535
22 | protocol = egress.value
23 | self = true
24 | }
25 | }
26 |
27 | dynamic "egress" {
28 | for_each = local.sg_egress_ports
29 | content {
30 | from_port = egress.value
31 | to_port = egress.value
32 | protocol = "tcp"
33 | cidr_blocks = ["0.0.0.0/0"]
34 | }
35 | }
36 |
37 | tags = var.tags
38 | }
Check: CKV2_AWS_61: "Ensure that an S3 bucket has a lifecycle configuration"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-flat/rootbucket.tf:1-11
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-rootbucket"
10 | })
11 | }
Check: CKV2_AWS_61: "Ensure that an S3 bucket has a lifecycle configuration"
FAILED for resource: aws_s3_bucket.data_bucket
File: /examples/aws-databricks-modular-privatelink/instance_profile.tf:2-6
2 | resource "aws_s3_bucket" "data_bucket" {
3 | bucket = "data-bucket-for-test" // hard-coded value for demo only
4 | acl = "private"
5 | force_destroy = true
6 | }
Check: CKV2_AWS_61: "Ensure that an S3 bucket has a lifecycle configuration"
FAILED for resource: module.workspace_collection["workspace_1"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Check: CKV2_AWS_61: "Ensure that an S3 bucket has a lifecycle configuration"
FAILED for resource: aws_s3_bucket.metastore
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:2-12
2 | resource "aws_s3_bucket" "metastore" {
3 | bucket = "${local.prefix}-metastore-jlaw"
4 | acl = "private"
5 | versioning {
6 | enabled = false
7 | }
8 | force_destroy = true
9 | tags = merge(var.tags, {
10 | Name = "${local.prefix}-uc-metastore"
11 | })
12 | }
Check: CKV2_AWS_61: "Ensure that an S3 bucket has a lifecycle configuration"
FAILED for resource: aws_s3_bucket.external
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:103-114
103 | resource "aws_s3_bucket" "external" {
104 | bucket = "${local.prefix}-external"
105 | acl = "private"
106 | versioning {
107 | enabled = false
108 | }
109 | // destroy all objects with bucket destroy
110 | force_destroy = true
111 | tags = merge(var.tags, {
112 | Name = "${local.prefix}-external"
113 | })
114 | }
Check: CKV2_AWS_61: "Ensure that an S3 bucket has a lifecycle configuration"
FAILED for resource: aws_s3_bucket.terraform_state
File: /examples/aws-remote-backend-infra/main.tf:15-30
15 | resource "aws_s3_bucket" "terraform_state" {
16 | bucket = var.bucket_name
17 | # Enable versioning so we can see the full revision history of state files
18 | versioning {
19 | enabled = true
20 | }
21 | force_destroy = true
22 | # Enable server-side encryption by default
23 | server_side_encryption_configuration {
24 | rule {
25 | apply_server_side_encryption_by_default {
26 | sse_algorithm = "AES256"
27 | }
28 | }
29 | }
30 | }
Check: CKV2_AWS_61: "Ensure that an S3 bucket has a lifecycle configuration"
FAILED for resource: module.aws_base.aws_s3_bucket.root_storage_bucket
File: /modules/aws-databricks-base-infra/s3.tf:1-7
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${var.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${var.prefix}-rootbucket"
6 | })
7 | }
Check: CKV2_AWS_61: "Ensure that an S3 bucket has a lifecycle configuration"
FAILED for resource: module.unity_catalog.aws_s3_bucket.metastore
File: /modules/aws-databricks-unity-catalog/s3.tf:1-7
1 | resource "aws_s3_bucket" "metastore" {
2 | bucket = "${var.prefix}-metastore"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${var.prefix}-metastore"
6 | })
7 | }
Check: CKV2_AWS_61: "Ensure that an S3 bucket has a lifecycle configuration"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-exfiltration-protection/s3.tf:1-7
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${local.prefix}-rootbucket"
6 | })
7 | }
Check: CKV2_AWS_61: "Ensure that an S3 bucket has a lifecycle configuration"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-workspace-basic/s3.tf:1-7
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${local.prefix}-rootbucket"
6 | })
7 | }
Check: CKV2_AWS_61: "Ensure that an S3 bucket has a lifecycle configuration"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-workspace-with-firewall/s3.tf:1-11
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-rootbucket"
10 | })
11 | }
Check: CKV2_AWS_61: "Ensure that an S3 bucket has a lifecycle configuration"
FAILED for resource: module.workspace_collection["workspace_2"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Check: CKV2_AWS_11: "Ensure VPC flow logging is enabled in all VPCs"
FAILED for resource: aws_vpc.mainvpc
File: /examples/aws-databricks-flat/networks_special.tf:3-10
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-logging-policies/logging-9-enable-vpc-flow-logging.html
3 | resource "aws_vpc" "mainvpc" {
4 | cidr_block = var.vpc_cidr
5 | enable_dns_hostnames = true
6 |
7 | tags = merge(var.tags, {
8 | Name = "${local.prefix}-vpc"
9 | })
10 | }
Check: CKV2_AWS_11: "Ensure VPC flow logging is enabled in all VPCs"
FAILED for resource: aws_vpc.mainvpc
File: /examples/aws-databricks-modular-privatelink/vpc.tf:3-11
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-logging-policies/logging-9-enable-vpc-flow-logging.html
3 | resource "aws_vpc" "mainvpc" {
4 | cidr_block = var.vpc_cidr
5 | enable_dns_hostnames = true
6 | enable_dns_support = true
7 |
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-vpc"
10 | })
11 | }
Check: CKV2_AWS_11: "Ensure VPC flow logging is enabled in all VPCs"
FAILED for resource: aws_vpc.hub_vpc
File: /modules/aws-exfiltration-protection/vpc_hub.tf:1-8
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-logging-policies/logging-9-enable-vpc-flow-logging.html
1 | resource "aws_vpc" "hub_vpc" {
2 | cidr_block = var.hub_cidr_block
3 | enable_dns_hostnames = true
4 | enable_dns_support = true
5 | tags = merge(var.tags, {
6 | Name = "${local.prefix}-hub-vpc"
7 | })
8 | }
Check: CKV2_AWS_11: "Ensure VPC flow logging is enabled in all VPCs"
FAILED for resource: aws_vpc.spoke_vpc
File: /modules/aws-exfiltration-protection/vpc_spoke.tf:1-8
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-logging-policies/logging-9-enable-vpc-flow-logging.html
1 | resource "aws_vpc" "spoke_vpc" {
2 | cidr_block = var.spoke_cidr_block
3 | enable_dns_hostnames = true
4 | enable_dns_support = true
5 | tags = merge(var.tags, {
6 | Name = "${local.prefix}-spoke-vpc"
7 | })
8 | }
Check: CKV2_AWS_11: "Ensure VPC flow logging is enabled in all VPCs"
FAILED for resource: aws_vpc.db_vpc
File: /modules/aws-workspace-with-firewall/vpc.tf:1-8
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-logging-policies/logging-9-enable-vpc-flow-logging.html
1 | resource "aws_vpc" "db_vpc" {
2 | cidr_block = var.cidr_block
3 | enable_dns_hostnames = true
4 | enable_dns_support = true
5 | tags = merge(var.tags, {
6 | Name = "${local.prefix}-db-vpc"
7 | })
8 | }
Check: CKV2_AWS_6: "Ensure that S3 bucket has a Public Access block"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-flat/rootbucket.tf:1-11
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/s3-bucket-should-have-public-access-blocks-defaults-to-false-if-the-public-access-block-is-not-attached.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-rootbucket"
10 | })
11 | }
Check: CKV2_AWS_6: "Ensure that S3 bucket has a Public Access block"
FAILED for resource: module.workspace_collection["workspace_1"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/s3-bucket-should-have-public-access-blocks-defaults-to-false-if-the-public-access-block-is-not-attached.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Check: CKV2_AWS_6: "Ensure that S3 bucket has a Public Access block"
FAILED for resource: aws_s3_bucket.external
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:103-114
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/s3-bucket-should-have-public-access-blocks-defaults-to-false-if-the-public-access-block-is-not-attached.html
103 | resource "aws_s3_bucket" "external" {
104 | bucket = "${local.prefix}-external"
105 | acl = "private"
106 | versioning {
107 | enabled = false
108 | }
109 | // destroy all objects with bucket destroy
110 | force_destroy = true
111 | tags = merge(var.tags, {
112 | Name = "${local.prefix}-external"
113 | })
114 | }
Check: CKV2_AWS_6: "Ensure that S3 bucket has a Public Access block"
FAILED for resource: module.workspace_collection["workspace_2"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/s3-bucket-should-have-public-access-blocks-defaults-to-false-if-the-public-access-block-is-not-attached.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Check: CKV2_AWS_6: "Ensure that S3 bucket has a Public Access block"
FAILED for resource: aws_s3_bucket.data_bucket
File: /examples/aws-databricks-modular-privatelink/instance_profile.tf:2-6
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/s3-bucket-should-have-public-access-blocks-defaults-to-false-if-the-public-access-block-is-not-attached.html
2 | resource "aws_s3_bucket" "data_bucket" {
3 | bucket = "data-bucket-for-test" // hard-coded value for demo only
4 | acl = "private"
5 | force_destroy = true
6 | }
Check: CKV2_AWS_6: "Ensure that S3 bucket has a Public Access block"
FAILED for resource: aws_s3_bucket.terraform_state
File: /examples/aws-remote-backend-infra/main.tf:15-30
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/s3-bucket-should-have-public-access-blocks-defaults-to-false-if-the-public-access-block-is-not-attached.html
15 | resource "aws_s3_bucket" "terraform_state" {
16 | bucket = var.bucket_name
17 | # Enable versioning so we can see the full revision history of state files
18 | versioning {
19 | enabled = true
20 | }
21 | force_destroy = true
22 | # Enable server-side encryption by default
23 | server_side_encryption_configuration {
24 | rule {
25 | apply_server_side_encryption_by_default {
26 | sse_algorithm = "AES256"
27 | }
28 | }
29 | }
30 | }
Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-flat/rootbucket.tf:1-11
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-rootbucket"
10 | })
11 | }
Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
FAILED for resource: aws_s3_bucket.data_bucket
File: /examples/aws-databricks-modular-privatelink/instance_profile.tf:2-6
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
2 | resource "aws_s3_bucket" "data_bucket" {
3 | bucket = "data-bucket-for-test" // hard-coded value for demo only
4 | acl = "private"
5 | force_destroy = true
6 | }
Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
FAILED for resource: module.workspace_collection["workspace_1"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
FAILED for resource: aws_s3_bucket.metastore
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:2-12
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
2 | resource "aws_s3_bucket" "metastore" {
3 | bucket = "${local.prefix}-metastore-jlaw"
4 | acl = "private"
5 | versioning {
6 | enabled = false
7 | }
8 | force_destroy = true
9 | tags = merge(var.tags, {
10 | Name = "${local.prefix}-uc-metastore"
11 | })
12 | }
Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
FAILED for resource: aws_s3_bucket.external
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:103-114
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
103 | resource "aws_s3_bucket" "external" {
104 | bucket = "${local.prefix}-external"
105 | acl = "private"
106 | versioning {
107 | enabled = false
108 | }
109 | // destroy all objects with bucket destroy
110 | force_destroy = true
111 | tags = merge(var.tags, {
112 | Name = "${local.prefix}-external"
113 | })
114 | }
Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
FAILED for resource: aws_s3_bucket.terraform_state
File: /examples/aws-remote-backend-infra/main.tf:15-30
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
15 | resource "aws_s3_bucket" "terraform_state" {
16 | bucket = var.bucket_name
17 | # Enable versioning so we can see the full revision history of state files
18 | versioning {
19 | enabled = true
20 | }
21 | force_destroy = true
22 | # Enable server-side encryption by default
23 | server_side_encryption_configuration {
24 | rule {
25 | apply_server_side_encryption_by_default {
26 | sse_algorithm = "AES256"
27 | }
28 | }
29 | }
30 | }
Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
FAILED for resource: module.aws_base.aws_s3_bucket.root_storage_bucket
File: /modules/aws-databricks-base-infra/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${var.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${var.prefix}-rootbucket"
6 | })
7 | }
Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
FAILED for resource: module.unity_catalog.aws_s3_bucket.metastore
File: /modules/aws-databricks-unity-catalog/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
1 | resource "aws_s3_bucket" "metastore" {
2 | bucket = "${var.prefix}-metastore"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${var.prefix}-metastore"
6 | })
7 | }
Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-exfiltration-protection/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${local.prefix}-rootbucket"
6 | })
7 | }
Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-workspace-basic/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${local.prefix}-rootbucket"
6 | })
7 | }
Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-workspace-with-firewall/s3.tf:1-11
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-rootbucket"
10 | })
11 | }
Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
FAILED for resource: module.workspace_collection["workspace_2"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Check: CKV_AWS_18: "Ensure the S3 bucket has access logging enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-flat/rootbucket.tf:1-11
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-13-enable-logging.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-rootbucket"
10 | })
11 | }
Check: CKV_AWS_18: "Ensure the S3 bucket has access logging enabled"
FAILED for resource: aws_s3_bucket.data_bucket
File: /examples/aws-databricks-modular-privatelink/instance_profile.tf:2-6
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-13-enable-logging.html
2 | resource "aws_s3_bucket" "data_bucket" {
3 | bucket = "data-bucket-for-test" // hard-coded value for demo only
4 | acl = "private"
5 | force_destroy = true
6 | }
Check: CKV_AWS_18: "Ensure the S3 bucket has access logging enabled"
FAILED for resource: module.workspace_collection["workspace_1"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-13-enable-logging.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Check: CKV_AWS_18: "Ensure the S3 bucket has access logging enabled"
FAILED for resource: aws_s3_bucket.metastore
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:2-12
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-13-enable-logging.html
2 | resource "aws_s3_bucket" "metastore" {
3 | bucket = "${local.prefix}-metastore-jlaw"
4 | acl = "private"
5 | versioning {
6 | enabled = false
7 | }
8 | force_destroy = true
9 | tags = merge(var.tags, {
10 | Name = "${local.prefix}-uc-metastore"
11 | })
12 | }
Check: CKV_AWS_18: "Ensure the S3 bucket has access logging enabled"
FAILED for resource: aws_s3_bucket.external
File: /examples/aws-databricks-uc/unity_catalog_infra.tf:103-114
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-13-enable-logging.html
103 | resource "aws_s3_bucket" "external" {
104 | bucket = "${local.prefix}-external"
105 | acl = "private"
106 | versioning {
107 | enabled = false
108 | }
109 | // destroy all objects with bucket destroy
110 | force_destroy = true
111 | tags = merge(var.tags, {
112 | Name = "${local.prefix}-external"
113 | })
114 | }
Check: CKV_AWS_18: "Ensure the S3 bucket has access logging enabled"
FAILED for resource: aws_s3_bucket.terraform_state
File: /examples/aws-remote-backend-infra/main.tf:15-30
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-13-enable-logging.html
15 | resource "aws_s3_bucket" "terraform_state" {
16 | bucket = var.bucket_name
17 | # Enable versioning so we can see the full revision history of state files
18 | versioning {
19 | enabled = true
20 | }
21 | force_destroy = true
22 | # Enable server-side encryption by default
23 | server_side_encryption_configuration {
24 | rule {
25 | apply_server_side_encryption_by_default {
26 | sse_algorithm = "AES256"
27 | }
28 | }
29 | }
30 | }
Check: CKV_AWS_18: "Ensure the S3 bucket has access logging enabled"
FAILED for resource: module.aws_base.aws_s3_bucket.root_storage_bucket
File: /modules/aws-databricks-base-infra/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-13-enable-logging.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${var.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${var.prefix}-rootbucket"
6 | })
7 | }
Check: CKV_AWS_18: "Ensure the S3 bucket has access logging enabled"
FAILED for resource: module.unity_catalog.aws_s3_bucket.metastore
File: /modules/aws-databricks-unity-catalog/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-13-enable-logging.html
1 | resource "aws_s3_bucket" "metastore" {
2 | bucket = "${var.prefix}-metastore"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${var.prefix}-metastore"
6 | })
7 | }
Check: CKV_AWS_18: "Ensure the S3 bucket has access logging enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-exfiltration-protection/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-13-enable-logging.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${local.prefix}-rootbucket"
6 | })
7 | }
Check: CKV_AWS_18: "Ensure the S3 bucket has access logging enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-workspace-basic/s3.tf:1-7
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-13-enable-logging.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | force_destroy = true
4 | tags = merge(var.tags, {
5 | Name = "${local.prefix}-rootbucket"
6 | })
7 | }
Check: CKV_AWS_18: "Ensure the S3 bucket has access logging enabled"
FAILED for resource: aws_s3_bucket.root_storage_bucket
File: /modules/aws-workspace-with-firewall/s3.tf:1-11
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-13-enable-logging.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = "${local.prefix}-rootbucket"
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = merge(var.tags, {
9 | Name = "${local.prefix}-rootbucket"
10 | })
11 | }
Check: CKV_AWS_18: "Ensure the S3 bucket has access logging enabled"
FAILED for resource: module.workspace_collection["workspace_2"].module.my_root_bucket.aws_s3_bucket.root_storage_bucket
File: /examples/aws-databricks-modular-privatelink/modules/mws_workspace/modules/mws_storage/main.tf:1-9
Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-13-enable-logging.html
1 | resource "aws_s3_bucket" "root_storage_bucket" {
2 | bucket = var.root_bucket_name
3 | acl = "private"
4 | versioning {
5 | enabled = false
6 | }
7 | force_destroy = true
8 | tags = var.tags
9 | }
Linting
This repository failed the Experience Builder Terraform Module's Linting validation. This means that a linting tool was not found to be implemented in any of the CICD tool configuration files in the repository.
There is an opportunity to:
- Remediate the findings identified by one of the recommended Terraform linting tools