使用安全標記

本文說明如何建立安全標記、將標記附加至 Managed Service for Apache Spark 叢集,然後使用標記保護叢集網路。

使用安全標記的好處

安全標記與網路標記有許多主要差異,包括 Identity and Access Management 存取控管、標記繼承和單一虛擬私有雲網路繫結,可帶來下列主要優點:

強化存取控管和安全性
安全標記提供 IAM 控制的存取權,可解決網路標記固有的安全問題。與可由具有叢集存取權的使用者修改的網路標記不同,安全標記可防止未經授權修改標記,以及因此對防火牆規則造成不必要的變更。

在 IAM 政策中使用安全標記可啟用條件式存取控管,根據標記是否存在授予或拒絕角色,進而強化安全性。

簡化防火牆管理
全域區域網路防火牆政策支援安全標記。這項支援功能可簡化共用網路中 Managed Service for Apache Spark 的防火牆管理作業。

與虛擬私有雲防火牆規則不同,透過安全標記強化的網路防火牆政策可有效率地將多個規則分組並同時更新,且所有規則都受 IAM 存取控管機制規範。與使用網路標記的虛擬私有雲防火牆規則相比,安全標記可在網路防火牆政策中提供更強大的安全性和管理功能。

階層式資源沿用設定,可有效管理資源
安全標記會繼承階層中的父項資源。 Google Cloud 這項沿用功能可讓您在較高層級 (例如機構層級) 定義標記,標記就會自動傳播至子項資源 (例如資料夾和專案),簡化管理作業。這樣一來,整個機構就能使用一致的標記。詳情請參閱「標記沿用設定」。

改善共用和對等互連虛擬私有雲的網路管理
網路標記可識別指定虛擬私有雲網路中防火牆規則的來源或目標。在網路防火牆政策中,使用安全標記指定輸入規則的來源時,系統會識別 Managed Service for Apache Spark 叢集虛擬私有雲網路和對等互連虛擬私有雲網路中的流量來源。使用安全標記指定輸入或輸出規則的目標時,這些標記只會識別自家虛擬私有雲網路內的目標。

如要進一步瞭解 Resource Manager 標記與網路標記之間的差異,請參閱「代碼與網路代碼比較」。

如要進一步瞭解 Resource Manager 標記和標籤之間的差異,請參閱「標記和標籤」。

事前準備

如要執行本頁的範例,您必須具備特定的 IAM 角色。視組織政策而定,系統可能已授予這些角色。如要檢查角色授予情形,請參閱「是否需要授予角色?」一節。

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

使用者角色

如要取得建立標記所需的權限,請要求管理員授予您 Resource Manager 標記的「標記管理員」 (roles/resourcemanager.tagAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

服務帳戶角色

為確保 Managed Service for Apache Spark 服務代理程式服務帳戶 具備將安全標記附加至 Managed Service for Apache Spark 叢集的必要權限,請要求管理員在專案中,將 Managed Service for Apache Spark 服務代理程式角色 (roles/dataproc.serviceAgent) IAM 角色授予 Managed Service for Apache Spark 服務代理程式服務帳戶

限制

  • 您只能在建立叢集時,將安全標記附加至叢集。
  • 系統不支援更新及刪除安全標記。

建立安全標記

如要將安全標記附加至 Managed Service for Apache Spark 叢集,請先建立 Resource Manager 標記,並指定金鑰和一或多個值。

將安全標記附加至 Managed Service for Apache Spark 叢集

建立 Managed Service for Apache Spark 叢集,並指定安全標記 TAG_KEY:TAG_VALUE 配對。

Google Cloud CLI

如要建立 Managed Service for Apache Spark 叢集並在叢集中新增安全標記,請執行 gcloud Managed Service for Apache Spark clusters create 指令並加上 --resource-manager-tags 標記。

gcloud dataproc clusters create CLUSTER_NAME \
  --region REGION \
  --resource-manager-tags=TAG_KEY=TAG_VALUE

更改下列內容:

  • CLUSTER_NAME:新叢集的名稱。
  • REGION:叢集所在的 Compute Engine 區域
  • TAG_KEYTAG_VALUE:您建立的 Resource Manager 標記的鍵和值。 標記鍵可採用命名空間或非命名空間格式指定,如下所示:
    • 命名空間格式:PROJECT-ID/KEY_NAME=PROJECT-ID/KEY_NAME/KEY_VALUE

      範例:

      --resource-manager-tags="test-project/testkey"=test-project/testkey/testvalue
    • 非命名空間格式:tagKeys/TAG_KEY_ID=tagValues/TAG_VALUE_ID

      範例:

      --resource-manager-tags=tagKeys/123456789012=tagValues/987654321098

REST

如要建立 Managed Service for Apache Spark 叢集並在叢集中新增安全標記,請在 clusters.create 要求中加入 resourceManagerTags 欄位,並將 "TAG_KEY":"TAG_VALUE" 安全標記附加至叢集。

{
  "clusterName": "CLUSTER_NAME",
  "config": {
    "gceClusterConfig": {
      "resourceManagerTags": {
        "TAG_KEY":"TAG_VALUE"
      }
    }
  }
}

更改下列內容:

  • CLUSTER_NAME:新叢集的名稱。
  • TAG_KEYTAG_VALUE:您建立的 Resource Manager 標記的鍵和值。 標記鍵可採用命名空間或非命名空間格式指定,如下所示:
    • 命名空間格式:PROJECT-ID/KEY_NAME:PROJECT-ID/KEY_NAME/KEY_VALUE

      範例:

      "test-project/testkey":"test-project/testkey/testvalue"
    • 非命名空間格式:tagKeys/TAG_KEY_ID:tagValues/TAG_VALUE_ID

      範例:

      "tagKeys/123456789012":"tagValues/987654321098"

使用叢集網路的安全標記

將安全標記附加至叢集後,即可使用安全標記設定叢集網路:

後續步驟