-
Notifications
You must be signed in to change notification settings - Fork 26
Create aks2.tf #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check failure
Code scanning / defsec
Ensure AKS cluster has Network Policy configured
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check failure
Code scanning / defsec
Ensure AKS has an API Server Authorized IP Ranges enabled
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check warning
Code scanning / defsec
Ensure AKS logging to Azure Monitoring is Configured
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check failure
Code scanning / defsec
Ensure RBAC is enabled on AKS clusters
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check failure
Code scanning / bridgecrew
Ensure ephemeral disks are used for OS disks
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check failure
Code scanning / bridgecrew
Ensure that the AKS cluster encrypt temp disks, caches, and data flows between Compute and Storage resources
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check failure
Code scanning / bridgecrew
Ensure autorotation of Secrets Store CSI Driver secrets for AKS clusters
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check failure
Code scanning / bridgecrew
Ensure AKS logging to Azure Monitoring is Configured
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check failure
Code scanning / bridgecrew
Ensure AKS has an API Server Authorized IP Ranges enabled
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check failure
Code scanning / bridgecrew
Ensure that AKS use the Paid Sku for its SLA
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check failure
Code scanning / bridgecrew
Ensure AKS cluster has Network Policy configured
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check failure
Code scanning / bridgecrew
Ensure that only critical system pods run on system nodes
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check failure
Code scanning / bridgecrew
Ensure that AKS uses disk encryption set
resource azurerm_kubernetes_cluster "k8s_cluster" { | ||
dns_prefix = "terragoat-${var.environment}" | ||
location = var.location | ||
name = "terragoat-aks-${var.environment}" | ||
resource_group_name = azurerm_resource_group.example.name | ||
identity { | ||
type = "SystemAssigned" | ||
} | ||
default_node_pool { | ||
name = "default" | ||
vm_size = "Standard_D2_v2" | ||
node_count = 2 | ||
} | ||
addon_profile { | ||
oms_agent { | ||
enabled = false | ||
} | ||
kube_dashboard { | ||
enabled = true | ||
} | ||
} | ||
role_based_access_control { | ||
enabled = false | ||
} | ||
} |
Check failure
Code scanning / bridgecrew
Ensure AKS cluster has Azure CNI networking enabled
No description provided.