Esta seção contém tudo o que fica fora do código-fonte, porém que é essencial para a segurança do produto que está sendo criado. Como os problemas tratados neste domínio não são diretamente relacionados com o código-fonte, nós o separamos dos demais domínios.
state
como off
no bloco dnssec_config
.
resource "google_dns_managed_zone" "zone-demo" {
...
dnssec_config {
state = "off"
...
}
...
}
allUsers
ou allAuthenticatedUsers
uma função de CryptoKey do Cloud KMS dá a qualquer pessoa acesso a dados confidenciais.enabled
como false
.
resource "google_sql_database_instance" "database_instance_demo" {
...
settings {
backup_configuration {
enabled = false
...
}
}
}
value
como 0.0.0.0/0
no bloco authorized_networks
. Um bloco CIDR de /0
aceita conexões de qualquer endereço IP entre 0.0.0.0 e 255.255.255.255.
resource "google_sql_database_instance" "db-demo" {
...
settings {
...
ip_configuration {
...
authorized_networks {
name = "any ip"
value = "0.0.0.0/0"
}
...
}
...
}
...
}
allUsers
ou allAuthenticatedUsers
uma função do Cloud Storage dá a qualquer pessoa acesso a dados confidenciais.uniform_bucket_level_access
como false
.
resource "google_storage_bucket" "bucket-demo" {
...
uniform_bucket_level_access = false
...
}
enable-oslogin
como false
no argumento metadata
.
resource "google_compute_instance" "compute-instance-demo" {
...
metadata = {
enable-oslogin = false
...
}
...
}
service_account
está ausente.
resource "google_compute_instance" "instance-demo" {
name = "name-demo"
machine_type = "e2-micro"
boot_disk {
...
}
network_interface {
...
}
}
can_ip_forward
como true
.
resource "google_compute_instance" "compute_instance_demo" {
...
can_ip_forward = true
...
}
enable_confidential_compute
como false
.
resource "google_compute_instance" "default" {
...
confidential_instance_config {
enable_confidential_compute = false
}
...
}
disk_encryption_key
está ausente, portanto, não há CSEK para proteger as chaves de criptografia de dados.
resource "google_compute_disk" "compute-disk-demo" {
name = "test-disk"
type = "pd-ssd"
}
block-project-ssh-keys
como false
no argumento metadata
.
resource "google_compute_instance" "compute_instance_demo" {
...
metadata = {
block-project-ssh-keys = false
...
}
...
}
serial-port-enable
como true
no argumento metadata
.
resource "google_compute_instance" "compute_instance_demo" {
...
metadata = {
serial-port-enable = true
...
}
...
}
enable_integrity_monitoring
como false
no bloco shielded_instance_config
. Nem todas as opções de VM Protegida recomendadas estão habilitadas.
resource "google_compute_instance" "compute_instance_demo" {
...
shielded_instance_config {
enable_integrity_monitoring = false
enable_secure_boot = true
enable_vtpm = true
}
...
}
https_redirect
como false
.
resource "google_network_services_edge_cache_service" "srv_demo" {
...
routing {
...
path_matcher {
...
route_rule {
...
url_redirect {
https_redirect = false
}
}
}
}
}
master_authorized_networks_config
. Como resultado, os endpoints da API do plano de controle do GKE podem ser acessados publicamente.
resource "google_container_cluster" "cluster_demo" {
name = "name-demo"
}
issue_client_certificate
como true
no bloco master_auth
.
resource "google_container_cluster" "container_cluster_demo" {
...
master_auth {
client_certificate_config {
issue_client_certificate = true
...
}
...
}
...
}