Cloud Next Generation Firewall 規則會使用標記指定來源和目標。這種彈性做法可避免依賴 IP 位址。
代碼類型
Cloud NGFW 支援下列兩種標記:
身分與存取權管理 (IAM) 控管的標記 (也稱為安全標記) 會在 Resource Manager 中建立及管理,做為標記鍵和標記值。安全標記值可用於指定階層式防火牆政策、全域網路防火牆政策或區域網路防火牆政策中,輸入規則的來源,以及輸入或輸出規則的目標。
網路標記是不含存取控制項的字串,可新增至虛擬機器 (VM) 執行個體或執行個體範本。網路標記可用於指定輸入虛擬私有雲 (VPC) 防火牆規則的來源,以及輸入或輸出 VPC 防火牆規則的目標。階層式防火牆政策、全域網路防火牆政策或區域網路防火牆政策中的規則,無法使用網路標記。如要進一步瞭解網路標記,請參閱「新增網路標記」。
如要進一步瞭解安全標記和網路標記之間的差異,請參閱安全標記和網路標記的比較。
本頁的下一節說明防火牆政策中的安全標記。
規格
安全標記的規格如下:
父項資源:父項資源是定義安全代碼金鑰的資源。標記鍵可以在專案或機構中建立。如要進一步瞭解如何建立標記鍵,請參閱「建立及管理安全標記」一文。
用途和用途資料:如要在 Cloud NGFW 中使用安全標記鍵,您必須將標記鍵的
purpose
屬性設為GCE_FIREWALL
,並指定purpose-data
屬性。如要使用含有父項專案的標記鍵,您必須將標記鍵的
purpose-data
屬性設為network
,然後指定單一虛擬私有雲網路。指定的虛擬私有雲網路必須位於父項專案中。如果標記鍵有上層機構,請選擇下列其中一個選項,設定標記鍵的
purpose-data
屬性:您可以將標記鍵的
purpose-data
屬性設為network
,然後加上單一虛擬私有雲網路規格。指定的虛擬私有雲網路必須位於父項機構中。您可以將標記鍵的
purpose-data
屬性設為organization=auto
。
建立代碼鍵後,
purpose
和purpose-data
屬性都無法變更。如要進一步瞭解如何在標記鍵的purpose-data
屬性中設定網路規格格式,請參閱 Resource Manager API 說明文件中的「用途」一節。結構和格式:安全代碼鍵最多可參照 1,000 個不重複的代碼值。具有代碼管理員角色 (
roles/resourcemanager.tagAdmin
) 的 IAM 主體會為每個代碼鍵建立代碼鍵和代碼值。如要進一步瞭解安全代碼限制,請參閱「限制」一節。在機構之間移動專案:您可以將專案從一個機構移至另一個機構。移動專案前,請先從原始機構中,分離所有具有
purpose-data
屬性的標記鍵,這些屬性會指定專案中使用的機構。如果未先卸除安全標籤,系統會在轉移期間顯示錯誤訊息。存取權控管:IAM 政策會決定哪些 IAM 主體可以管理及使用安全標記:
具備標記管理員角色 (
roles/resourcemanager.tagAdmin
) 的 IAM 主體可以建立標記鍵,並管理標記值:在機構的 IAM 政策中,獲授標記管理員角色 (
roles/resourcemanager.tagAdmin
) 的 IAM 主體,可以建立以機構為上層的標記鍵。在機構、資料夾或專案的 IAM 政策中,獲派標記管理員角色 (
roles/resourcemanager.tagAdmin
) 的 IAM 主體,可以建立以專案為父項的標記鍵。
具有標記使用者角色 (
roles/resourcemanager.tagUser
) 的 IAM 主體,可將標記值繫結至 VM 執行個體,或在階層式防火牆政策、全域網路防火牆政策或區域網路防火牆政策的防火牆規則中使用標記值。在機構的 IAM 政策中,獲得標記使用者角色 (
roles/resourcemanager.tagUser
) 的 IAM 主體,可以使用以機構為上層的標記鍵中的標記值。在機構、資料夾或專案的 IAM 政策中,獲得標記使用者角色 (
roles/resourcemanager.tagUser
) 的 IAM 主體,可以使用以專案做為父項的標記鍵中的標記值。
開發人員、資料庫管理員或營運團隊的 IAM 主體可以獲派「標記使用者」角色 (
roles/resourcemanager.tagUser
) 和其他適當角色,不必獲派「Compute 安全管理員」角色 (roles/compute.securityAdmin
)。這樣一來,營運團隊就能控管適用於所管理 VM 執行個體網路介面的防火牆規則,但無法修改這些防火牆規則。
如要進一步瞭解必要權限,請參閱 IAM 角色。
防火牆規則支援:階層式防火牆政策、全域網路防火牆政策和區域網路防火牆政策中的規則,支援將標記鍵做為來源安全標記或目標安全標記。虛擬私有雲防火牆規則不支援安全標記。詳情請參閱安全代碼與網路代碼的比較。
VM 繫結和適用的防火牆規則:將安全標記值繫結至 VM 執行個體時,使用標記值的適用防火牆規則會將 VM 網路介面納入來源或目標:
如果繫結至執行個體的安全標記值來自標記鍵,且該標記鍵的
purpose-data
屬性指定單一 VPC 網路:使用該標記值做為來源安全標記的輸入防火牆規則,其來源包括指定 VPC 網路中 VM 的網路介面。
使用該標記值做為安全標記的輸入和輸出防火牆規則,其目標會包含指定 VPC 網路中 VM 的網路介面。
如果繫結至例項的安全標記值來自標記鍵,而該標記鍵的
purpose-data
屬性指定了機構:使用該標記值做為來源安全標記的輸入防火牆規則,其來源包括機構中任何虛擬私有雲網路的 VM 網路介面。
如果輸入和輸出防火牆規則使用該標記值做為安全標記,則目標會包含機構中任何 VPC 網路的 VM 網路介面。
適用的防火牆規則如何識別封包:Cloud NGFW 會將來源安全標記和目標安全標記對應至網路介面,而非 IP 位址:
當輸入防火牆規則的來源安全標記包含 VM 網路介面做為來源時, Google Cloud 會比對從該網路介面傳送的任何封包。
當輸入防火牆規則的目標安全標記包含 VM 網路介面做為目標時, Google Cloud 系統會比對該網路介面收到的任何封包。
當輸出防火牆規則的目標安全標記包含 VM 網路介面做為目標時, Google Cloud 系統會比對從該網路介面傳送的任何封包。
每個執行個體的標記值數量:您可以將每個標記值繫結至無限數量的 VM 執行個體。每個執行個體支援的標記值數量不一。 Google Cloud 會對套用至 VM 每個網路介面的標記值數量強制設下 10 個的限制。 Google Cloud 如果套用至一或多個網路介面的標記值超過 10 個,您就無法將其他標記值繫結至 VM 執行個體。詳情請參閱「繫結安全標記」。
支援虛擬私有雲網路對等互連:防火牆政策輸入規則中的來源安全標記,可識別對等互連虛擬私有雲網路中的來源 VM 網路介面。這對使用私人服務存取權的已發布服務消費者來說非常實用。使用具有來源安全標記的 Ingress 防火牆規則,消費者可以控管哪些服務供應商 VM 可以將封包傳送至消費者 VM。
繫結安全標記
如要在 Cloud NGFW 中使用安全標記,您必須將標記值繫結至 VM 執行個體。每個安全代碼鍵都支援多個代碼值,但每個代碼鍵只能將其中一個代碼值繫結至執行個體。如要進一步瞭解 IAM 權限和如何繫結安全標記,請參閱「繫結安全標記」。
本節的範例說明繫結標記值如何套用至 VM 網路介面。以具有兩個網路介面的 instance1
VM 執行個體為例:
nic0
已連線至network1
虛擬私有雲網路nic1
已連線至network2
虛擬私有雲網路
兩個虛擬私有雲網路位於同一個機構。
相應標籤鍵的 purpose-data
屬性會決定繫結標籤值與 VM 網路介面之間的關係。
屬性指定虛擬私有雲網路的標記鍵purpose-data
假設您使用下列 purpose-data
屬性和標籤值建立兩個標籤鍵:
tag_key1
具有purpose-data
屬性,可指定network1
虛擬私有雲網路和兩個標記值tag_value1
和tag_value2
。tag_key2
具有purpose-data
屬性,可指定network2
虛擬私有雲網路和一個標記值tag_value3
。
purpose-data
屬性會指定單一 VPC 網路 (按一下可放大)。將安全標記值 tag_value1
和 tag_value3
繫結至 instance1
時:
tag_value1
適用於nic0
網路介面,因為其父項tag_key1
具有指定network1
虛擬私有雲網路的purpose-data
屬性,且nic0
網路介面位於network1
中。tag_value3
適用於nic1
網路介面,因為其父項tag_key2
具有指定network2
虛擬私有雲網路的purpose-data
屬性,且nic1
網路介面位於network2
中。
下圖顯示來自標記鍵的繫結標記值,這些標記鍵的 purpose-data
屬性指定單一虛擬私有雲網路。
purpose-data
屬性指定單一 VPC 網路 (按一下可放大)。purpose-data
屬性指定機構的標記鍵
假設您使用下列 purpose-data
屬性和標籤值建立兩個標籤鍵:
tag_key3
具有purpose-data
屬性,可指定父項機構,並有兩個標記值tag_value4
和tag_value5
。tag_key4
具有purpose-data
屬性,可指定上層機構,並有一個標記值tag_value6
。
purpose-data
屬性會指定父項機構 (按一下即可放大)。將標記值 tag_value4
繫結至 instance1
時:
tag_value4
適用於nic0
網路介面,因為其父項tag_key3
具有purpose-data
屬性,可指定包含network1
虛擬私有雲網路的父項機構,而nic0
網路介面位於network1
中。tag_value4
也適用於nic1
網路介面,因為其父項tag_key3
包含purpose-data
屬性,該屬性會指定包含network2
VPC 網路的父項機構。nic1
網路介面位於network2
。
下圖顯示從標記鍵繫結標記值,而標記鍵的 purpose-data
屬性指定父項機構。
purpose-data
屬性會指定父項機構 (按一下即可放大)。設定安全標記
下列工作流程提供高階步驟順序,說明如何在防火牆政策中設定安全標記。
您可以在機構或專案層級建立安全標記。如要在機構層級建立標記,您必須先由機構管理員授予 IAM 權限。詳情請參閱「授予安全代碼權限」。
如要建立安全標記,請先建立標記金鑰。這個標記鍵會說明您要建立的標記。詳情請參閱「建立安全代碼鍵和值」。
建立安全代碼金鑰後,您必須為金鑰新增相關的安全代碼值。詳情請參閱「建立安全代碼鍵和值」。如要授予使用者管理安全標記鍵及附加標記值至資源的特定權限,請使用 Google Cloud 控制台。詳情請參閱「管理標記的存取權」。
建立安全標記後,您可以在網路防火牆政策或階層式防火牆政策中使用。詳情請參閱「建立階層式防火牆政策」和「建立網路防火牆政策」。
如要允許來源標記鍵和目標標記鍵之間的選定流量在 VM 之間流動,請建立具有特定來源標記值和目標標記值的防火牆政策規則 (網路或階層式)。詳情請參閱「使用安全標記建立防火牆政策規則」。
建立標記鍵並授予標記鍵和資源適當存取權後,即可將標記鍵繫結至 VM 執行個體。詳情請參閱「繫結安全標記」。
安全標記與網路標記比較
下表摘要列出安全代碼和聯播網代碼之間的差異。勾號表示支援該屬性,符號則表示不支援。
屬性 | 使用 purpose-data 屬性指定虛擬私有雲網路,確保標記安全無虞 |
使用 purpose-data 屬性指定機構,確保標記安全無虞 |
聯播網代碼 |
---|---|---|---|
父項資源 | 專案或機構 | 機構 | 專案 |
結構和格式 | 廣告代碼鍵,最多可有 1,000 個值 | 廣告代碼鍵,最多可有 1,000 個值 | 簡單字串 |
存取權控管 | 使用 IAM | 使用 IAM | 沒有存取權控管機制 |
適用網路介面 |
|
|
|
階層式防火牆政策中的規則支援 | |||
全域和區域網路防火牆政策中的規則支援 | |||
虛擬私有雲防火牆規則支援 | |||
輸入防火牆規則可包含透過 VPC 網路對等互連連線的 VPC 網路來源 | 1 | 1 | |
輸入防火牆規則可包含網路連線中心中其他虛擬私有雲輻輪的來源 |
- 標記鍵
purpose-data
屬性會指定其他虛擬私有雲網路 (或包含其他虛擬私有雲網路的上層機構) - 另一個 VPC 網路和使用防火牆政策的 VPC 網路是透過 VPC 網路對等互連方式連線
IAM 角色
如要進一步瞭解建立及管理安全標記所需的 IAM 角色和權限,請參閱「管理資源上的標記」。
後續步驟
- 如要授予安全代碼權限及建立安全代碼鍵值組,請參閱「建立及管理安全代碼」。
- 如要在網路對等互連中使用安全標記,請參閱「在對等互連網路中使用安全標記」。