設定網路附件的安全性

本頁面說明消費者網路管理員如何管理使用網路附件的 VPC 網路安全性。

Private Service Connect 介面是由供應商機構建立及管理,但位於用戶端虛擬私有雲網路中。針對消費者端安全性,建議您建立以消費者 VPC 網路 IP 位址範圍為依據的防火牆規則。這種做法可讓使用者控制來自 Private Service Connect 介面的流量,而不需要仰賴供應商的網路標記

雖然系統支援在防火牆規則中使用網路標記,但不建議這麼做,因為消費者無法控制這些標記。

限制供應端到消費者的入口

請參考圖 1 中的示例設定,其中消費者希望授予生產者 producer-ingress-subnet 的存取權,並禁止生產者存取 restricted-subnet

圖 1. 防火牆規則有助於確保產生子網路的流量只能傳送至 attachment-subnetproducer-ingress-subnet 子網路中的 VM。

下列防火牆規則允許有限的生產者對消費者輸入:

  1. 低優先順序規則會拒絕網路附加元件的子網路 attachment-subnet 的 IP 位址範圍中的所有輸出流量。

    gcloud compute firewall-rules create deny-all-egress \
        --network=consumer-vpc \
        --action=DENY \
        --rules=ALL \
        --direction=EGRESS \
        --priority=65534 \
        --source-ranges="10.0.1.48/28" \
        --destination-ranges="0.0.0.0/0"
    
  2. 優先順序較高的規則允許從 attachment-subnet 的 IP 位址範圍傳出,並將資料傳送至 producer-ingress-subnet 的位址範圍。

    gcloud compute firewall-rules create allow-limited-egress \
        --network=consumer-vpc \
        --action=ALLOW \
        --rules=ALL \
        --direction=EGRESS \
        --priority=1000 \
        --source-ranges="10.0.1.48/28" \
        --destination-ranges="10.10.2.0/24"
    
  3. 允許輸入規則會取代來自 attachment-subnet 的流量的默示拒絕輸入規則。

    gcloud compute firewall-rules create allow-ingress \
    --network=consumer-vpc \
    --action=ALLOW \
    --rules=ALL \
    --direction=INGRESS \
    --priority=1000 \
    --source-ranges="10.0.1.48/28"
    

允許消費者向供應者傳出

如要讓消費者網路啟動傳送至生產者網路的流量,您可以使用輸入防火牆規則。

請參考圖 2 中的設定範例,其中消費者希望讓 subnet-1 透過 Private Service Connect 連線存取生產者網路。

圖 2:允許輸入的防火牆規則可讓 subnet-1 透過 Private Service Connect 連線存取供應端網路,而 subnet-2 則會遭到默示的輸入封鎖規則封鎖 (按一下即可放大)。

下列防火牆規則可確保只有 subnet-1 能透過 Private Service Connect 連線存取供應端網路:

gcloud compute firewall-rules create vm-subnet-allow-ingress \
    --network=consumer-vpc \
    --action=ALLOW \
    --rules=ALL \
    --direction=INGRESS \
    --priority=1000 \
    --source-ranges="10.10.2.0/24" \
    --destination-ranges="10.0.1.48/28"

設定製作者對製作者安全性

如果供應商應用程式需要存取其他供應商應用程式,您可以使用 VPC 防火牆規則來確保安全性。

請考慮以下情境:消費者使用兩種不同的第三方受管理服務,且這兩項服務分別託管於不同的 VPC 網路。其中一個服務是資料庫,另一個服務則提供數據分析。數據分析服務必須連結至資料庫服務,才能分析資料。其中一種方法是讓服務建立直接連線。不過,如果這兩項第三方服務直接連結,消費者就無法控制及查看自己的資料。

更安全的方法是使用 Private Service Connect 介面、Private Service Connect 端點VPC 防火牆規則,如圖 3 所示。

圖 3:從 Analytics 應用程式傳送至資料庫應用程式的流量會經過用戶虛擬私有雲網路。虛擬私有雲防火牆規則會根據來源 IP 位址範圍限制輸出流量 (按一下可放大)。

在這種做法中,消費者網路會透過一個子網路中的端點連線至資料庫應用程式,並透過另一個子網路中的網路附件連線至 Analytics 應用程式。來自分析應用程式的流量可透過 Private Service Connect 介面和網路連結,經過消費者網路,並透過 endpoint-subnet 中的端點傳出,進而到達資料庫應用程式。

在消費者虛擬私有雲網路中,VPC 防火牆規則會拒絕來自 attachment-subnet 的所有輸出流量。優先順序較高的另一個防火牆規則,允許從 attachment-subnetconsumer-private-subnet 輸出流量至端點。因此,資料分析應用程式的流量可以抵達資料庫應用程式的 VPC 網路,且這類流量必須流經消費者端點。

下列防火牆規則會建立圖 4 所述的設定。

  1. 防火牆規則封鎖 attachment-subnet 的所有輸出流量:

    gcloud compute firewall-rules create consumer-deny-all-egress \
        --network=consumer-vpc \
        --action=DENY \
        --rules=all \
        --direction=EGRESS \
        --priority=65534 \
        --source-ranges="10.0.1.48/28" \
        --destination-ranges="0.0.0.0/0"
    
  2. 防火牆規則允許從 attachment-subnetconsumer-private-subnet 傳送至端點的通訊埠 80 的 TCP 外送流量:

    gcloud compute firewall-rules create consumer-allow-80-egress \
        --network=intf-consumer-vpc \
        --allow=tcp:80 \
        --direction=EGRESS \
        --source-ranges="10.0.1.48/28,10.10.2.0/24" \
        --destination-ranges="10.0.1.66/32" \
        --priority=1000