如要從 perimeter 外部授予 service perimeter 內受保護 Google Cloud 資源的受控存取權,請使用存取層級。
存取層級定義一組屬性,要求必須符合這些條件才能獲得授權。存取層級可以考慮多種條件,例如 IP 位址和使用者身分。
如需存取層級的詳細總覽,請參閱「Access Context Manager 總覽」。
在 perimeter 中使用存取層級前,請先考量下列事項:
存取層級和輸入規則會搭配運作,控管傳入 perimeter 的流量。如果要求符合存取層級或輸入規則的條件,VPC Service Controls 就會允許該要求。
如果您在 service perimeter 中新增多個存取層級,只要要求符合任一存取層級的條件,VPC Service Controls 就會允許該要求。
搭配使用存取層級與 VPC Service Controls 的限制
搭配 VPC Service Controls 使用存取層級時,會受到下列限制:
存取層級只允許 perimeter「外部」的要求存取 perimeter「內部」受保護服務的資源。
您無法使用存取層級,允許 perimeter「內部」受保護資源的要求存取 perimeter「外部」的資源。例如,service perimeter 內的 Compute Engine 用戶端呼叫 Compute Engine
create作業,但映像檔資源位於 perimeter 外部。如要允許 perimeter 內部受保護資源存取 perimeter 外部的資源,請使用輸出政策。雖然存取層級可用於允許 service perimeter 外部的要求,但您無法使用存取層級,允許「其他」perimeter 的要求存取 perimeter 內部的受保護資源。如要允許「其他」perimeter 的要求存取 perimeter 中的受保護資源,其他 perimeter 必須使用輸出政策。詳情請參閱 perimeter 間的要求。
如要允許從部署在不同專案或組織中的私人資源存取 perimeter,來源專案中必須有 Cloud NAT 閘道。Cloud NAT 與 Private Google Access 整合後,會自動在資源的子網路上啟用 Private Google Access,並將 Google API 和服務的流量保留在內部,而不是使用 Cloud NAT 閘道的外部 IP 位址將流量轉送到網際網路。由於流量是在 Google 內部網路中轉送,因此
AuditLog物件的RequestMetadata.caller_ip欄位會經過遮蓋,顯示為gce-internal-ip。您可以在以 IP 為依據的許可清單存取層級中,設定輸入規則,根據專案或服務帳戶等其他屬性允許存取,而不使用 Cloud NAT 閘道外部 IP 位址。
建立及管理存取層級
使用 Access Context Manager 建立及管理存取層級。
建立存取層級
如要建立存取層級,請參閱 Access Context Manager 說明文件中的建立存取層級相關資訊。
以下的例子說明如何使用不同條件建立存取層級:
在 service perimeter 中新增存取層級
您可以在建立 perimeter 時,或為現有 perimeter,在 service perimeter 中新增存取層級:
管理存取層級
如要瞭解如何列出、修改及刪除現有存取層級,請參閱「管理存取層級」。