在共用虛擬私有雲架構中,主專案的網路會與服務專案共用。直到最近,這類專案都無法劃入不同範圍。導入以私人 IP 位址為依據的輸入和輸出規則後,代管和服務專案現在可以位於不同的服務範圍,同時透過這些規則維持受控存取權。
參考架構
服務政策中會使用下列屬性:
- VPC Service Controls 範圍
- Access Context Manager 私人 IP 位址
- 輸入和輸出規則
在網路元件中,這個架構會使用 Private Service Connect 端點存取 Google API。
在本參考架構中,我們會使用輸入和輸出規則,以及私人 IP 位址,控管 Compute Engine 執行個體與 Vertex AI API 之間的存取權,適用於下列服務範圍和專案:
範圍 | 範圍內的專案 |
---|---|
aiml-host-perimeter |
aiml-host-project |
high-trust-svc-perimeter |
ph-fm-svc-project-1 |
low-trust-svc-perimeter |
ph-fm-svc-project-2 、ph-fm-svc-project-3 |
VPC Service Controls 的連入和連出規則,可控管各服務專案自有 Compute Engine 執行個體對 Vertex AI API 的存取權。這些規則會使用透過私人 IP 位址設定的存取權情境管理工具存取層級,允許與各服務專案共用的子網路存取各自的邊界。
選用:為機構公開流量建立存取層級
如果您的使用者需要透過Google Cloud 控制台存取 Vertex AI,請按照本節中的操作說明建立存取層級,以供 VPC Service Controls 使用。不過,如果 API 存取權嚴格來說是來自私人來源的程式輔助存取權 (例如透過內部部署的私人 Google 存取權或 Cloud Workstations),則不需要存取層級。
在這個參考架構中,我們使用 CIDR 範圍 corp-public-block
,允許機構員工流量存取Google Cloud 控制台。
Access Context Manager 可讓 Google Cloud 機構管理員依屬性定義精細的存取權限,以利控管 Google Cloud中的資源。
存取層級描述接受要求的必要條件。相關例子包括:
- 裝置類型和作業系統 (須有 Chrome Enterprise 進階版授權)
- IP 位址
- 地理位置
- 使用者身分
如果這是機構首次使用 Access Context Manager,管理員必須先定義存取權政策,這是存取層級和服務範圍的容器。方法如下:
- 在 Google Cloud 控制台頂端的專案選取器中,按一下「全部」分頁標籤,然後選取您的機構。
- 按照「建立基本存取層級」頁面的指示建立基本存取層級。指定下列選項:
- 在「建立條件」下方,選擇「基本模式」。
- 在「Access level title」(存取層級標題) 欄位中輸入
corp-public-block
。 - 在「條件」部分中,將「符合條件時傳回」選項設為「TRUE」。
- 在「IP Subnetworks」(IP 子網路) 下方,選擇「Public IP」(公開 IP)。
- 在 IP 位址範圍中,指定需要存取 VPC Service Controls 服務範圍的外部 CIDR 範圍。
建立 VPC Service Controls 服務範圍
建立服務範圍時,如要允許從範圍外部存取受保護的服務,其中一種方法是建立存取層級 (在本例中是使用 IP 位址)。在這個參考架構中,系統會建立多個服務範圍,並使用輸入和輸出規則控管 Vertex AI API 和 Compute Engine API 的通訊存取權,如下所示:
- 服務專案
ph-fm-svc-project-1
所屬的運算資源子網路,可從aiml-host-project
存取ph-fm-svc-project-1
中的 Vertex AI API 和 Compute Engine API。 - 屬於服務專案
ph-fm-svc-project-2
和ph-fm-svc-project-3
的運算資源子網路,可從aiml-host-project
存取專案ph-fm-svc-project-2
和專案ph-fm-svc-project-3
中的 Vertex AI API 和 Compute Engine API。
每個服務專案都能存取主專案中的 Compute Engine API (因為在特定服務專案中建立運算資源時,主專案和服務專案之間會發生雙向流程)。
在本參考架構中,系統會為每個子網路建立存取層級,以便使用輸入和輸出規則,允許主機專案範圍與每個服務專案範圍之間進行必要流程。
建立存取層級 gce-subnet-1
- 在 Google Cloud 控制台頂端的專案選取器中,按一下「全部」分頁標籤,然後選取您的機構。
- 按照「建立基本存取層級」頁面的指示建立基本存取層級。指定下列選項:
- 在「建立條件」下方,選擇「基本模式」。
- 在「Access level title」(存取層級標題) 欄位中輸入
gce-subnet-1
。 - 在「條件」部分中,將「符合條件時傳回」選項設為「TRUE」。
- 在「IP Subnetworks」(IP 子網路) 下方,選擇「Private IP」(私人 IP)。
- 選取「VPC 網路」,找出您的專案,然後選取「VPC 名稱」。
- 在「IP Subnetworks」(IP 子網路) 中,選取代表主專案與
ph-fm-svc-project-1
共用子網路的 CIDR 範圍。
建立存取層級 gce-subnet-2
- 在 Google Cloud 控制台頂端的專案選取器中,按一下「全部」分頁標籤,然後選取您的機構。
- 按照「建立基本存取層級」頁面的指示建立基本存取層級。指定下列選項:
- 在「建立條件」下方,選擇「基本模式」。
- 在「Access level title」(存取層級標題) 欄位中輸入
gce-subnet-2
。 - 在「條件」部分中,將「符合條件時傳回」選項設為「TRUE」。
- 在「IP Subnetworks」(IP 子網路) 下方,選擇「Private IP」(私人 IP)。
- 選取「VPC 網路」,找出您的專案,然後選取「VPC 名稱」。
- 在「IP Subnetworks」(IP 子網路) 中,選取代表主專案與
ph-fm-svc-project-2
共用子網路的 CIDR 範圍。
建立存取層級 gce-subnet-3
- 在 Google Cloud 控制台頂端的專案選取器中,按一下「全部」分頁標籤,然後選取您的機構。
- 按照「建立基本存取層級」頁面的指示建立基本存取層級。指定下列選項:
- 在「建立條件」下方,選擇「基本模式」。
- 在「Access level title」(存取層級標題) 欄位中輸入
gce-subnet-3
。 - 在「條件」部分中,將「符合條件時傳回」選項設為「TRUE」。
- 在「IP Subnetworks」(IP 子網路) 下方,選擇「Private IP」(私人 IP)。
- 選取「VPC 網路」,找出您的專案,然後選取「VPC 名稱」。
- 在「IP Subnetworks」(IP 子網路) 中,選取代表主專案與
ph-fm-svc-project-3
共用子網路的 CIDR 範圍。
「aiml-host-perimeter
」的設定步驟
選取新範圍的設定類型
在本節中,您將在模擬測試模式下,建立 VPC Service Controls (aiml-host-perimeter
) 服務範圍。在模擬測試模式中,服務範圍會記錄違規事項,就好像服務範圍已強制執行,但不會禁止存取受限制的服務。建議您先使用模擬執行模式,再切換至強制執行模式,這是最佳做法。
在 Google Cloud 控制台導覽選單中,依序點選「Security」(安全性) 和「VPC Service Controls」(虛擬私有雲服務控制項)。
如果出現提示,請選取機構、資料夾或專案。
在「VPC Service Controls」頁面上,按一下「模擬測試模式」。
按一下「新增範圍」。
在「New VPC Service Perimeter」分頁的「Perimeter Name」方塊中,輸入範圍名稱,例如
aiml-host-perimeter
。範圍名稱長度上限為 50 個字元,開頭必須是字母,且只能包含 ASCII 拉丁字母 (
a-z
、A-Z
)、數字 (0-9
) 和底線 (_
)。範圍名稱會區分大小寫,且在存取權政策中必須是專屬名稱。接受周邊裝置的預設設定。
選取要保護的資源
- 按一下「要保護的資源」。
- 如要新增您想在該範圍內保護的專案或虛擬私有雲網路,請按照下列步驟操作:
- 按一下「新增資源」。
- 如要將專案新增至範圍,請在「新增資源」窗格中,按一下「新增專案」。
- 選取要新增的專案,在本例中為
aiml-host-project
。 - 按一下「新增所選資源」。新增的專案會顯示在「專案」區段中。
- 選取要新增的專案,在本例中為
選取受限制的服務
在這個參考架構中,受限 API 的範圍有限,只啟用 Vertex AI 必要的 API。不過,為降低資料從 Google Cloud 服務外洩的風險,建議您建立範圍時限制所有服務。
如要選取要在範圍內保護的服務,請按照下列步驟操作:
- 按一下「受限制的服務」。
- 在「Restricted Services」(受限制的服務) 窗格中,按一下「Add services」(新增服務)。
- 在「Specify services to restrict」(指定要限制的服務) 對話方塊中,選取 Compute Engine API。
- 按一下「新增 Compute Engine API」。
選用:選取可透過虛擬私有雲存取的服務
虛擬私有雲可存取的服務設定會限制可從服務範圍內網路端點存取的服務集。在本參考架構中,我們保留「所有服務」的預設設定。
選用:選取存取層級
如果您在先前的章節中建立了公司 CIDR 存取層級,請按照下列步驟操作,允許從範圍外存取受保護的資源:
- 按一下「存取層級」。
按一下「選擇存取層級」方塊。
您也可以在建立安全防護範圍後新增存取層級。
勾選對應存取層級的核取方塊。 (在本參考架構中,這是
corp-public-block
。)
設定輸入政策
在特定服務專案中建立運算資源時,主專案和服務專案之間會進行雙向通訊,因為主專案擁有包含子網路的虛擬私有雲網路,而該子網路會與服務專案共用。在本節中,您將設定允許所有三個服務專案存取主專案中運算資源的 Ingress 規則,以進行這些流程。
- 按一下左選單中的「Ingress policy」。
- 按一下 [新增規則]。
- 在「Ingress rule」(連入規則) 窗格中,執行下列操作:
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
- 身分:任何身分
- 來源:專案 (
ph-fm-svc-project-1
、ph-fm-svc-project-2
、ph-fm-svc-project-3
)
- 選取下列服務和資源的TO 屬性: Google Cloud
服務和資源:
- 專案:所有專案
- 服務:所選服務
- 選取的服務:Compute Engine API
- 方法:所有方法
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
設定輸出政策
在本節中,您將設定兩項輸出規則。
第一個輸出規則
由於主專案擁有與 ph-fm-svc-project-1
共用的子網路,因此需要輸出規則,允許該子網路從主專案的服務範圍存取 ph-fm-svc-project-1
的服務範圍。當使用者透過設定的存取層級,在服務專案中建立運算資源時,企業存取層級會啟用建立運算執行個體所需的雙向通訊。
- 按一下左選單中的「Egress policy」。
- 按一下 [新增規則]。
- 在「Egress rule」(輸出規則) 窗格中,執行下列操作:
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
- 身分:任何身分
- 選取「啟用存取層級輸出來源」。
- 存取層級
corp-public-block
和gce-subnet-1
。
- 選取下列服務和資源的TO 屬性: Google Cloud
服務和資源:
- 專案:選取的專案
- 新增專案:
ph-fm-svc-project-1
- 服務:所有服務
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
第二條輸出規則
由於主專案擁有與 ph-fm-svc-project-2
和 ph-fm-svc-project-3
共用的子網路,因此需要輸出規則,允許這些子網路從主專案的範圍存取服務專案的範圍。當使用者透過設定的存取層級在服務專案中建立運算資源時,公司存取層級會啟用建立運算執行個體所需的雙向通訊。
- 按一下左選單中的「Egress policy」。
- 按一下 [新增規則]。
- 在「Egress rule」(輸出規則) 窗格中,執行下列操作:
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
- 身分:任何身分
- 選取「啟用存取層級輸出來源」。
- 存取層級
corp-public-block
、gce-subnet-2
和gce-subnet-3
。
- 選取下列服務和資源的TO 屬性: Google Cloud
服務和資源:
- 專案:選取的專案
- 新增專案:
ph-fm-svc-project-2
、ph-fm-svc-project-3
- 服務:所有服務
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
建立範圍
完成上述設定步驟後,請按一下「建立範圍」,建立範圍。
「high-trust-svc-perimeter
」的設定步驟
選取新範圍的設定類型
在 Google Cloud 控制台導覽選單中,依序點選「Security」(安全性) 和「VPC Service Controls」(虛擬私有雲服務控制項)。
如果出現提示,請選取機構、資料夾或專案。
在「VPC Service Controls」頁面上,按一下「模擬測試模式」。
按一下「新增範圍」。
在「New VPC Service Perimeter」分頁的「Perimeter Name」方塊中,輸入範圍名稱,例如
high-trust-svc-perimeter
。範圍名稱長度上限為 50 個字元,開頭必須是字母,且只能包含 ASCII 拉丁字母 (
a-z
、A-Z
)、數字 (0-9
) 和底線 (_
)。範圍名稱會區分大小寫,且在存取權政策中必須是專屬名稱。接受周邊裝置的預設設定。
選取要保護的資源
- 按一下「要保護的資源」。
- 如要新增您想在該範圍內保護的專案或虛擬私有雲網路,請按照下列步驟操作:
- 按一下「新增資源」。
- 如要將專案新增至範圍,請在「新增資源」窗格中,按一下「新增專案」。
- 選取要新增的專案,在本例中為
ph-fm-svc-project-1
。 - 按一下「新增所選資源」。新增的專案會顯示在「專案」區段中。
- 選取要新增的專案,在本例中為
選取受限制的服務
在本參考架構中,受限 API 的範圍有限,只啟用 Gemini 必要的 API。不過,為降低資料從 Google Cloud 服務外洩的風險,建議您建立範圍時限制所有服務。
如要選取要在範圍內保護的服務,請按照下列步驟操作:
- 按一下「受限制的服務」。
- 在「Restricted Services」(受限制的服務) 窗格中,按一下「Add services」(新增服務)。
- 在「Specify services to restrict」(指定要限制的服務) 對話方塊中,選取 Compute Engine API。
- 按一下「新增 Compute Engine API」。
- 在「Restricted Services」(受限制的服務) 窗格中,按一下「Add services」(新增服務)。
- 在「Specify services to restrict」(指定要限制的服務) 對話方塊中,選取 Vertex AI API。
- 按一下「新增 Vertex AI API」。
選用:選取可透過虛擬私有雲存取的服務
虛擬私有雲可存取的服務設定會限制可從服務範圍內網路端點存取的服務集。在本參考架構中,我們保留「所有服務」的預設設定。
選用:選取存取層級
如果您在先前的章節中建立了公司 CIDR 存取層級,請按照下列步驟操作,允許從範圍外存取受保護的資源:
- 按一下「存取層級」。
按一下「選擇存取層級」方塊。
您也可以在建立安全防護範圍後新增存取層級。
勾選對應存取層級的核取方塊。 (在本參考架構中,這是
corp-public-block
。)
設定輸入政策
由於主專案擁有與 ph-fm-svc-project-1
共用的子網路,因此需要從主專案建立輸入規則,允許該子網路存取 ph-fm-svc-project-1
的安全防護範圍。這項操作可讓 ph-fm-svc-project-1
的運算執行個體存取 ph-fm-svc-project-1
內的代管服務。
- 按一下左選單中的「Ingress policy」。
- 按一下 [新增規則]。
- 在「Ingress rule」(連入規則) 窗格中,執行下列操作:
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
- 身分:任何身分
- 來源:存取層級
- 存取層級:
gce-subnet-1
- 選取下列服務和資源的TO 屬性: Google Cloud
服務和資源:
- 專案:所有專案
- 服務:所有服務
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
設定輸出政策
由於主專案擁有與 ph-fm-svc-project-1
共用的子網路,因此需要輸出規則,允許服務專案與主專案之間進行雙向通訊 (在服務專案中建立運算資源時)。
- 按一下左選單中的「Egress policy」。
- 按一下 [新增規則]。
- 在「Egress rule」(輸出規則) 窗格中,執行下列操作:
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
- 身分:任何身分
- 選取下列服務和資源的TO 屬性: Google Cloud
服務和資源:
- 專案:選取的專案
- 新增專案:
aiml-host-project
- 服務:所選服務
- 選取的服務:Compute Engine API
- 方法:所有方法
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
建立範圍
完成上述設定步驟後,請按一下「建立範圍」,建立範圍。
「low-trust-svc-perimeter
」的設定步驟
選取新範圍的設定類型
在 Google Cloud 控制台導覽選單中,依序點選「Security」(安全性) 和「VPC Service Controls」(虛擬私有雲服務控制項)。
如果出現提示,請選取機構、資料夾或專案。
在「VPC Service Controls」頁面上,按一下「模擬測試模式」。
按一下「新增範圍」。
在「New VPC Service Perimeter」分頁的「Perimeter Name」方塊中,輸入範圍名稱,例如
low-trust-svc-perimeter
。範圍名稱長度上限為 50 個字元,開頭必須是字母,且只能包含 ASCII 拉丁字母 (
a-z
、A-Z
)、數字 (0-9
) 和底線 (_
)。範圍名稱會區分大小寫,且在存取權政策中必須是專屬名稱。接受周邊裝置的預設設定。
選取要保護的資源
- 按一下「要保護的資源」。
- 如要新增您想在該範圍內保護的專案或虛擬私有雲網路,請按照下列步驟操作:
- 按一下「新增資源」。
- 如要將專案新增至範圍,請在「新增資源」窗格中,按一下「新增專案」。
- 選取要新增的專案。針對這個參考架構,請選擇下列項目:
ph-fm-svc-project-2
ph-fm-svc-project-3
- 按一下「新增所選資源」。新增的專案會顯示在「專案」區段中。
- 選取要新增的專案。針對這個參考架構,請選擇下列項目:
選取受限制的服務
在本參考架構中,受限 API 的範圍有限,只啟用 Gemini 必要的 API。不過,為降低資料從 Google Cloud 服務外洩的風險,建議您建立範圍時限制所有服務。
如要選取要在範圍內保護的服務,請按照下列步驟操作:
- 按一下「受限制的服務」。
- 在「Restricted Services」(受限制的服務) 窗格中,按一下「Add services」(新增服務)。
- 在「Specify services to restrict」(指定要限制的服務) 對話方塊中,選取 Compute Engine API。
- 按一下「新增 Compute Engine API」。
- 在「Restricted Services」(受限制的服務) 窗格中,按一下「Add services」(新增服務)。
- 在「Specify services to restrict」(指定要限制的服務) 對話方塊中,選取 Vertex AI API。
- 按一下「新增 Vertex AI API」。
選用:選取可透過虛擬私有雲存取的服務
虛擬私有雲可存取的服務設定會限制可從服務範圍內網路端點存取的服務集。在本參考架構中,我們保留「所有服務」的預設設定。
選用:選取存取層級
如果您在先前的章節中建立了公司 CIDR 存取層級,請按照下列步驟操作,允許從範圍外存取受保護的資源:
- 按一下「存取層級」。
按一下「選擇存取層級」方塊。
您也可以在建立安全防護範圍後新增存取層級。
勾選對應存取層級的核取方塊。 (在本參考架構中,這是
corp-public-block
。)
設定輸入政策
由於主專案擁有與 ph-fm-svc-project-2
和 ph-fm-svc-project-3
共用的子網路,因此需要設定連入規則,才能從主專案授予這些子網路服務專案邊界的存取權。這樣一來,這些服務專案的運算執行個體就能存取 ph-fm-svc-project-2
和 ph-fm-svc-project-3
中的受管理服務。
- 按一下左選單中的「Ingress policy」。
- 按一下 [新增規則]。
- 在「Ingress rule」(連入規則) 窗格中,執行下列操作:
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
- 身分:任何身分
- 來源:存取層級
- 存取層級:
gce-subnet-2
、gce-subnet-3
- 選取下列服務和資源的TO 屬性: Google Cloud
服務和資源:
- 專案:所有專案
- 服務:所有服務
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
設定輸出政策
由於主專案擁有與 ph-fm-svc-project-2
和 ph-fm-svc-project-3
共用的子網路,因此需要輸出規則,才能允許服務專案與主專案之間進行雙向通訊 (在服務專案中建立運算資源時)。
- 按一下左選單中的「Egress policy」。
- 按一下 [新增規則]。
- 在「Egress rule」(輸出規則) 窗格中,執行下列操作:
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
- 身分:任何身分
- 選取下列服務和資源的TO 屬性: Google Cloud
服務和資源:
- 專案:選取的專案
- 新增專案:
aiml-host-project
- 服務:所選服務
- 選取的服務:Compute Engine API
- 方法:所有方法
- 在「FROM 屬性」中,選取 API 用戶端的下列 FROM 屬性:
建立範圍
完成上述設定步驟後,請按一下「建立範圍」,建立範圍。
設定網路
使用 Private Service Connect 端點存取 Google API
使用 Private Service Connect 存取 Google API,可取代私人 Google 存取權或 Google API 的公開網域名稱。在本例中,生產端是 Google。
使用 Private Service Connect 可執行下列操作:
- 建立一或多個內部 IP 位址,以便存取 Google API,滿足不同用途的需求。
- 存取 Google API 時,將內部部署流量導向特定 IP 位址和區域。
- 建立自訂端點 DNS 名稱,用於解析 Google API。
在參考架構中,名為 restricted
的 Private Service Connect Google API 端點會部署 IP 位址 192.168.10.2
,並做為虛擬 IP (VIP) 存取 VPC Service Controls 範圍內設定的受限服務。Private Service Connect 端點會部署在主專案 aiml-host-project
中。
從 Compute Engine 執行個體存取 Gemini Pro
建立 Private Service Connect 端點時,Service Directory 會在p.googleapis.com
私人區域中建立 DNS 記錄。這些記錄會指向端點 IP 位址,並使用 SERVICE-ENDPOINT.p.googleapis.com
格式,相當於用來存取 Vertex AI API 的完整網域名稱:LOCATION-aiplatform-restricted.p.googleapis.com
。
驗證網路設定
從服務專案中部署的 Compute Engine 執行個體,使用下列程序更新 Vertex AI API,改用自訂完整網域名稱並執行驗證。
按照下列方式初始化 Python 環境變數:
PROJECT_ID="ph-fm-svc-project-1" LOCATION_ID="us-central1" API_ENDPOINT="us-central1-aiplatform-restricted.p.googleapis.com" MODEL_ID="gemini-2.0-flash-exp" GENERATE_CONTENT_API="streamGenerateContent"
使用文字編輯器建立
request.json
檔案,其中包含下列 JSON:{ "contents": [ { "role": "user", "parts": [ { "text": "what weight more 1kg feathers vs 1kg stones" } ] } ], "generationConfig": { "temperature": 1, "maxOutputTokens": 8192, "topP": 0.95, "seed": 0 }, "safetySettings": [ { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "OFF" }, { "category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "OFF" }, { "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "OFF" }, { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "OFF" } ] }
對 Vertex AI Gemini API 發出下列 cURL 要求:
curl \ -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://${API_ENDPOINT}/v1/projects/${PROJECT_ID}/locations/${LOCATION_ID}/publishers/google/models/${MODEL_ID}:${GENERATE_CONTENT_API}" -d '@request.json'
在模擬測試模式下驗證範圍
在這個參考架構中,服務安全防護範圍是在模擬測試模式下設定,可讓您測試存取權政策的效果,而不強制執行政策。也就是說,您可以在不中斷正常流量的情況下,查看啟用政策後對環境的影響。
如要瞭解如何在模擬測試模式下驗證服務範圍,請觀看 VPC Service Controls 模擬測試記錄 YouTube 影片。
在模擬測試模式中驗證周邊範圍後,請切換為強制執行模式。