本節包括原始程式碼之外的所有內容,但對於建立中產品的安全性仍至關重要。由於此領域所涵蓋的問題與原始程式碼沒有直接關係,因此我們將其與其他領域分開。
dnssec_config
區塊的 state
設定為 off
,來停用 Cloud DNS 網域上的 DNSSEC。
resource "google_dns_managed_zone" "zone-demo" {
...
dnssec_config {
state = "off"
...
}
...
}
allUsers
或 allAuthenticatedUsers
後,任何人都可以存取敏感資料。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
後,任何人都可以存取敏感資料。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
...
}
...
}
...
}