建立基本存取層級

本頁面概要說明如何建立基本存取層級,如要在 Google Cloud 控制台中建立自訂存取層級並使用進階模式,請參閱「建立自訂存取層級」。

本頁面針對存取層級的導入作業提供更詳細的資訊。請參閱以下範例:

事前準備

建立基本存取層級

控制台

如要建立基本存取層級,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Access Context Manager」頁面。

    開啟 Access Context Manager 頁面

  2. 如果系統提示您選取機構,請依提示選取您的機構。

  3. 按一下「Access Context Manager」頁面最上方的 [New] (新增)

  4. 在「New Access Level」(建立新的存取層級) 窗格中:

    1. 在「Access level title」(存取層級標題) 欄位中,輸入存取層級的標題。 標題不得超過 50 個字元,開頭須為英文字母,且只能由數字、英文字母、底線和空格組成。

    2. 在「條件」部分,按一下要新增的屬性類型所對應的「新增」按鈕,然後提供要套用至該屬性的值。

      如需可供新增屬性的完整清單,請參閱存取層級屬性

      舉例來說,如果您希望存取層級能考量要求源自您網路中的哪個位置,請選取 [IP Subnetworks] (IP 子網路) 屬性。

      如要將其他屬性加到同一個條件,請重複這個步驟直到需要的屬性都新增完畢。 假如條件具有多個屬性,則存取要求必須符合所有屬性,系統才會授予存取權。

      存取層級條件可包含各類屬性中的任一屬性。部分屬性會提供其他選項,例如「Device Policy」(裝置政策) 屬性。

      存取層級支援根據使用者身分設定條件。不過,如要新增身分識別到條件,您必須使用 gcloud CLI 或 API 來建立或更新存取層級。

    3. 如要為條件指定要求是否必須符合所有指定屬性,您可以將「條件符合時傳回」選項設為 TRUE (符合所有指定條件) 或 FALSE (符合這些屬性以外的任何條件)。

      舉例來說,如果您要拒絕來自網路內特定 IP 位址範圍的要求,請使用「IP Subnetworks」(IP 子網路) 屬性指定 IP 位址範圍,然後將條件設為「FALSE」

    4. 或者按一下 [Add another condition] (新增其他條件),為您的存取層級新增其他條件,然後重複前兩個步驟。

      舉例來說,如果您要拒絕大範圍 IP 位址中某個子集的存取要求,請建立新條件並為「IP Subnetworks」(IP 子網路) 屬性指定子集的 IP 位址範圍,然後將條件設為傳回「FALSE」

      如要將其他條件加到同一個存取層級,請重複這個步驟直到需要的條件都新增完畢。

    5. 如果您建立多個條件,請使用「Combine condition with」(合併條件),指定存取層級是否要求要求符合至少一個條件 (OR),或所有條件 (AND)。

    6. 按一下 [儲存]

gcloud

事前準備

如要透過 gcloud 指令列工具建立存取層級,請使用 gcloud access-context-manager levels create 指令。

gcloud access-context-manager levels create LEVEL_NAME OPTIONS \
    --policy=POLICY

其中:

  • LEVEL_NAME 是存取層級的唯一名稱,開頭須為英文字母,且只能由英文字母、數字和底線組成。名稱長度上限為 50 個字元。

  • OPTIONS 是指下表的必填選項。

    選項
    basic-level-spec

    用來為存取層級指定一或多個條件的 YAML 檔案

    title

    存取層級的簡短標題,會顯示在 Google Cloud 控制台中。

    combine-function

    (選填) 指定條件合併的方式。

    有效值:ANDOR

    description

    (選填) 存取層級的詳細說明。

  • POLICY 是指您機構的存取權政策 ID。如果已設定預設政策,這個參數為選用參數。

或者您可納入任何一個全 gcloud 標記

basic-level-spec YAML 檔案

使用 gcloud 指令列工具建立存取層級時,您必須為 basic-level-spec 選項提供 YAML 檔案。這個檔案會描述存取層級的一或多個條件,條件必須包含至少一個屬性。如果條件包含多個屬性,系統會將這些屬性合併為「AND」運算 (所有屬性都必須為 true) 或「NAND」運算 (所有屬性都不得為 true),具體視條件是否包含 negate 屬性而定。

如需 YAML 檔案可納入的屬性清單,請參閱存取層級屬性

如要進一步瞭解存取層級和 YAML,請參閱存取層級的 YAML 範例

範例指令

gcloud access-context-manager levels create Device_Trust \
    --basic-level-spec=corpdevspec.yaml \
    --combine-function=AND \
    --description='Access level that conforms to corporate spec.' \
    --title='Device_Trust Extended' \
    --policy=1521580097614100

API

事前準備

如要建立存取層級,請呼叫 accessLevels.create

POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels

其中:

  • POLICY 是指您機構的存取權政策 ID。

要求主體

要求主體必須包含用來為新存取層級指定條件的 AccessLevel 資源。每個 Condition 都有一個以上的屬性,會根據 negate 欄位是否設為 true,評估為 AND 運算 (所有屬性都必須為 true) 或 NAND 運算 (所有屬性都不得為 true)。評估結果會決定是否符合條件。

回應主體

如果成功,呼叫的回應主體會包含 Operation 資源,其中提供有關 POST 作業的詳細資料。

實作範例

以下例子介紹幾個可讓您的機構用來導入存取層級的實際做法。請注意,這些例子假設您的機構已有存取權政策

限制公司網路的存取權

這個例子說明如何建立只允許從特定 IP 位址範圍 (例如公司網路內的 IP 位址) 存取的存取層級條件。

藉由限制可獲存取權的 IP 位址範圍,您可以讓機構內外的攻擊者更難以竊取資料。

在本例中,假設您要建立存取層級,讓內部稽核員群組存取名為「sensitive-data」(敏感資料) 專案的 Cloud Logging 服務。稽核員所有裝置的指定 IP 都位於範圍在 203.0.113.0 到 203.0.113.127 之間的子網路。您知道除了稽核員使用的裝置以外,不會有任何其他裝置指派到該子網路。

如要使用私人 IP 位址範圍 (例如 192.168.0.0/16172.16.0.0/12),請參閱「允許從內部 IP 位址存取受保護的資源」,瞭解其他資訊,以及使用 VPC Service Controls 的實作範例。

控制台

  1. 在 Google Cloud 控制台中開啟「Access Context Manager」頁面。

    開啟 Access Context Manager 頁面

  2. 如果系統提示您選取機構,請依提示選取您的機構。

  3. 按一下「Access Context Manager」頁面最上方的 [New] (新增)

  4. 在「New Access Level」(建立新的存取層級) 窗格中,按一下「Conditions」(條件) 部分的 [Add attribute] (新增屬性),然後再按一下 [IP Subnetworks] (IP 子網路)

  5. 在「IP Subnetworks」(IP 子網路) 方塊中,選取「Public IP」(公開 IP) 或「Private IP」(私人 IP)

    • 如果選取「公開 IP」,請輸入一或多個 IPv4 或 IPv6 範圍 (CIDR 區塊格式)。

      在本例中,如要限制只有稽核員可存取,請在「IP Subnetworks」(IP 子網路) 方塊中輸入 203.0.113.0/25

    • 如果選取「私人 IP」,請按一下「選取虛擬私有雲網路」。您可以使用「匯入選項」清單中的三種選項之一,指定虛擬私有雲網路。

      • 選項 1:

        1. 選取「Browse for VPC networks in your organization」(瀏覽貴機構的虛擬私有雲網路),然後選取虛擬私有雲網路。

        2. 按一下「新增所選虛擬私有雲網路」

        3. 按一下「選取 IP 子網路」,然後選取子網路。

        4. 按一下「新增 IP 子網路」

      • 選項 2:

        1. 選取「手動輸入虛擬私有雲網路位址」,然後輸入一或多個虛擬私有雲網路。

        2. 按一下「新增虛擬私有雲網路」

        3. 按一下「選取 IP 子網路」,然後選取子網路。

        4. 按一下「新增 IP 子網路」

      • 選項 3:

        1. 選取「上傳 CSV 檔案 (覆寫現有網路)」

          如果您使用 CSV 檔案將虛擬私有雲網路和子網路新增至存取層級,Access Context Manager 會覆寫先前選取的虛擬私有雲網路和子網路。

        2. 按一下「瀏覽」,然後上傳 CSV 檔案。在 CSV 檔案中,您必須以下列格式指定虛擬私有雲網路和子網路:

          VPC_NETWORK_NAME_1       | IP_RANGE_1       | IP_RANGE_2       | ...
          VPC_NETWORK_NAME_2       | .                | .                | ...
          .                        | .                | .                | ...
          .                        | .                | .                | ...
          
        3. 按一下「匯入電視網」

          Access Context Manager 會使用 CSV 檔案,在「虛擬私有雲網路位址」和「IP 子網路」方塊中,分別填入虛擬私有雲網路名稱和子網路資訊。

      如要瞭解虛擬私有雲網路名稱和私人 IP 位址格式,請參閱「在存取層級中使用內部 IP 位址」。

  6. 按一下 [儲存]

gcloud

  1. 為包含一或多個 IPv4 或 IPv6 (CIDR 區塊格式) 範圍的存取層級建立 YAML 檔案。

    在本例中,如要僅限稽核員存取,請在 YAML 檔案輸入以下程式碼:

    - ipSubnetworks:
      - 203.0.113.0/25
    

    如要使用私人 IP 位址,請在 YAML 檔案中輸入下列資訊:

    - vpcNetworkSources:
      - vpcSubnetwork:
          network: VPC_NETWORK_NAME
          vpcIpSubnetworks:
          - IP_RANGE
    

    VPC_NETWORK_NAMEIP_RANGE 替換為「在存取層級中使用內部 IP 位址」一節所述的值。