本节包括的所有内容均与源代码无关,但对所创建产品的安全性仍然至关重要。因为本节涉及的问题与源代码没有直接关系,所以我们将它与其他章节分开。
dnssec_config
块中将 state
设置为 off
,禁用了云 DNS 域的 DNSSEC。
resource "google_dns_managed_zone" "zone-demo" {
...
dnssec_config {
state = "off"
...
}
...
}
allUsers
或 allAuthenticatedUsers
授予 Cloud KMS CryptoKey 角色后,任何人都可以访问敏感数据。enabled
设置为 false
,禁用了数据库实例备份配置。
resource "google_sql_database_instance" "database_instance_demo" {
...
settings {
backup_configuration {
enabled = false
...
}
}
}
authorized_networks
块中将 value
设置为 0.0.0.0/0
。/0
的 CIDR 块接受来自 0.0.0.0 和 255.255.255.255 之间的任意 IP 地址的连接。
resource "google_sql_database_instance" "db-demo" {
...
settings {
...
ip_configuration {
...
authorized_networks {
name = "any ip"
value = "0.0.0.0/0"
}
...
}
...
}
...
}
allUsers
或 allAuthenticatedUsers
授予 Cloud Storage 角色使得任何人都能访问敏感数据。uniform_bucket_level_access
设置为 false
,允许使用 ACL 和 IAM 来授予对存储桶的访问权限。
resource "google_storage_bucket" "bucket-demo" {
...
uniform_bucket_level_access = false
...
}
metadata
参数中将 enable-oslogin
设置为 false
,禁止使用 IAM 角色来管理 SSH 访问。
resource "google_compute_instance" "compute-instance-demo" {
...
metadata = {
enable-oslogin = false
...
}
...
}
service_account
块。
resource "google_compute_instance" "instance-demo" {
name = "name-demo"
machine_type = "e2-micro"
boot_disk {
...
}
network_interface {
...
}
}
can_ip_forward
设置为 true
来启用 IP 转发。
resource "google_compute_instance" "compute_instance_demo" {
...
can_ip_forward = true
...
}
enable_confidential_compute
设置为 false
,禁用了机密 VM。
resource "google_compute_instance" "default" {
...
confidential_instance_config {
enable_confidential_compute = false
}
...
}
disk_encryption_key
块,因此没有 CSEK 来保护数据加密密钥。
resource "google_compute_disk" "compute-disk-demo" {
name = "test-disk"
type = "pd-ssd"
}
metadata
块中将 block-project-ssh-keys
设置为 false
,允许项目范围的 SSH 登录。
resource "google_compute_instance" "compute_instance_demo" {
...
metadata = {
block-project-ssh-keys = false
...
}
...
}
metadata
参数中的 serial-port-enable
设置为 true
,允许交互式串行控制台访问。
resource "google_compute_instance" "compute_instance_demo" {
...
metadata = {
serial-port-enable = true
...
}
...
}
shielded_instance_config
块中将 enable_integrity_monitoring
设置为 false
。并未启用所有推荐的 Shield VM 选项。
resource "google_compute_instance" "compute_instance_demo" {
...
shielded_instance_config {
enable_integrity_monitoring = false
enable_secure_boot = true
enable_vtpm = true
}
...
}
https_redirect
设置为 false
,允许客户端使用 HTTP 进行通信。
resource "google_network_services_edge_cache_service" "srv_demo" {
...
routing {
...
path_matcher {
...
route_rule {
...
url_redirect {
https_redirect = false
}
}
}
}
}
master_authorized_networks_config
块中定义任何授权网络的公共群集。因此,GKE 控制平面 API 端点可公开访问。
resource "google_container_cluster" "cluster_demo" {
name = "name-demo"
}
master_auth
块中将 issue_client_certificate
设置为 true
,启用了 GKE 的基于客户端证书的身份验证。
resource "google_container_cluster" "container_cluster_demo" {
...
master_auth {
client_certificate_config {
issue_client_certificate = true
...
}
...
}
...
}