IBM Cloud Docs
以情境為基礎的限制,將入站流量限制為 Code Engine 應用程式和功能

以情境為基礎的限制,將入站流量限制為 Code Engine 應用程式和功能

此功能為測試版功能,僅供評估和測試之用。

您可以使用 IBM Cloud 基於上下文的規則來限制 Code Engine 應用程式或功能的存取,從而重新限制 IBM Cloud® Code Engine 應用程式和功能的入站流量。 Code Engine 工作不支援此功能。 基於情境的限制不是指派存取,而是檢查存取請求是否來自您設定的允許情境。 您可以在 Code Engine 專案中限制應用程式和功能的入站流量,以保護專案免受不必要的入站流量影響

當您使用私有端點,以基於情境的限制來保護 Code Engine 資源時,除了以基於情境的規則來限制連接到應用程式或功能的入站流量外,您還可以 限制誰可以管理 Code Engine 資源,例如部署或更新應用程式和機密。

Code Engine 基於情境的限制可涵蓋單一專案、整個資源群組或位置 (區域)。 您也可以限制哪些服務可以從 Code Engine 存取。 有關 IBM Cloud 基於上下文的限制的詳細資訊,請參閱 什麼是基於上下文的限制

當基於上下文的限制規則涵蓋資源群組或位置時,限制適用於現有專案。 如果在相同位置或資源群組中建立新專案,則必須更新規則 (不做任何變更) 以將限制套用到新專案。 請注意,您不必變更規則;只要按一下編輯,然後按一下套用,即可確保新專案與限制相關聯。

為您的 Code Engine 資源建立基於上下文的限制

若要建立基於上下文的限制,請參閱 建立基於上下文的限制。 以下步驟專為 Code Engine 資源建立。

  1. 前往「基於內容的限制 規則」頁面

  2. 按一下建立,以建立基於上下文限制的新規則,從服務開始。

  3. 選取 Code Engine****服務,然後按一下下一步以選取要保護的服務 API。

  4. 透過選擇服務 API資料平面選項,限制存取以保護您的 Code Engine 應用程式或功能工作負載。

    您在資料平面層級定義工作負載限制,因此至少要選擇資料平面服務。 您也可以選擇其他服務或平台 API。

    一下下一步,為您的資源設定限制範圍。

  5. 將限制套用到單一專案、整個資源群組或擁有多個專案的位置 (區域)。 在「資源」區段套用此範圍,然後按一下「檢閱」繼續。

  6. 按一下 Continue( 繼續 ),將上下文新增至規則。

  7. Code Engine 的資料平面 API 為私有工作負載提供限制,而非公開工作負載。 預設情況下,所有公用工作負載都保持可存取。 為了讓您基於上下文的限制能限制私人入站連線,同時保持所有公用端點的存取權限,您必須建立一個空的公用上下文。 如果沒有這個空的公用端點,您會遇到規則設定錯誤。 要建立一個空的公用上下文:

    1. Endpoints 設為開啟。
    2. 選擇「公開」。
    3. 網路區域留空。 請確定本節中沒有啟用網路區域,以便所有公用端點都能存取。

    如果需要,您可以限制私人端點:

    • 若要拒絕專案內所有私有端點的存取,請確認僅存在空的公用上下文,且未設定私有上下文。
    • 若要限制專案內的私有工作負載,請選擇要允許的網路區域清單 (例如,您可以允許 VPC 存取 Code Engine 專案中的私有網路)。
    • IPv6 Code Engine 不支援限制。
  8. 按一下 Continue( 繼續 )以提供規則詳細資訊。

  9. 提供規則的名稱或說明。

  10. 對於 「強制執行」,請選擇 「已啟用」

  11. 檢視摘要,然後按一下建立

測試私人入站連線的情境式限制規則

建立基於上下文的限制規則後,您可以使用私人應用程式或函式來測試它。 僅允許列在允許名單上的 IP 位址存取。 如果請求來自未列入允許清單的 IP 位址,您會看到 RBAC Access Denied 錯誤訊息。 例如,如果您只允許 9.9.9.9/32,那麼您的應用程式或功能只能從該 IP 範圍存取。 任何超出該範圍的內容都會遇到錯誤訊息。

如果您選擇指向 VPC(虛擬私有雲)的網路區域,則必須同時建立 VPE(虛擬私有端點)閘道,以允許 VPC 存取私有工作負載。 建立閘道後,您可能會因為 PDNS 解析而遇到暫時的延遲。 一開始您可能會看到 RBAC Access Denied 錯誤訊息,但經過一段時間後,您就會獲得存取權限。