藉由多承租人功能,可在單一 NSX 部署上跨承租人隔離安全性和網路組態。為了支援多承租人功能,NSX 4.0.1.1 引入了組織和專案。
NSX 原則資料模型為階層式,並具有兩個系統建立的分支:
-
/infra
,由基礎結構管理員管理。 /orgs/default
,用來保存多承租人建構。
備註: 您可以選擇性地為
NSX 部署設定多承租人功能,它的實作情況對現有
NSX 組態沒有任何影響。
下圖說明多承租人的資料模型。
組織
NSX 部署具有一個預設組織。您無法建立、修改或刪除該組織。組織物件是系統在啟動時所建立的。系統中的所有第 0 層閘道和 Edge 叢集都可供組織存取。
組織物件由系統使用以下識別碼來建立:
/orgs/default專案
在組織之下,您可以為您要從 NSX 環境中管理的每個承租人,各建立一個專案。專案會建立在 /orgs/default
之下,以支援每個承租人各有一組個別的組態:
- 專案會在特定的隔離內容中,提供原則階層式模型。專案組態是在
/orgs/default/projects/<project-id>/infra
之下進行設定。 - 您無法在專案之下建立第 0 層閘道和 Edge 叢集。企業管理員可以將
/infra
空間中的第 0 層閘道和 Edge 叢集提供給組織共用,從而就可供組織下的專案使用。 - 專案有權存取已從
/infra
空間共用的某些物件和組態。 - 您可以從
infra
空間建立規則,以套用至專案中虛擬機器。若要從infra
空間建立這些規則,請利用專案預設群組,或者建立具有動態成員資格或虛擬機器靜態成員資格的群組。 - 除了從
infra
空間建立規則之外,不支援從infra
空間來設定其他專案資源。例如,您無法使用專案中虛擬機器/專案預設群組以外的靜態成員,在組織下建立群組。不支援從基礎結構空間來設定屬於專案的第 1 層閘道。必須從專案內來設定專案資源。
您可以發出以下 API 呼叫,以在組織之下建立專案:
PATCH /policy/api/v1/orgs/default/projects/<project-id>建立專案時,請指定專案將使用的第 0 層閘道和 Edge 叢集。可將此第 0 層閘道用於該專案內的所有組態。配置給專案的 Edge 叢集必須屬於預設傳輸區域。此傳輸區域是建立專案網路的位置。
範例要求:
URL:
PATCH https:/{{nsx-manager-ip}}/policy/api/v1/orgs/default/projects/Project-Dev
本文:
{ "site_infos": [ { "edge_cluster_paths": [ "/infra/sites/default/enforcement-points/default/edge-clusters/ca1b2a4f-057d-42da-b3b8-cf218b1c1a51" ], "site_path": "/infra/sites/default" } ], "tier_0s": [ "/infra/tier-0s/Tier0GatewayTest" ] }
建立專案時,會建立一些預設物件,例如預設網域、安全原則和預設群組。您可以根據自己的需求,選擇建立多個專案。
建立專案後,您可以發出 API 呼叫,以完成 DHCP、第 1 層閘道和區段等的網路組態。
備註: 若要使專案管理員能夠將區段或第 1 層閘道連線至第 0 層閘道或第 0 層 VRF,請指派其他自訂角色給具有專案管理員角色的使用者。您指派的自訂角色必須對系統第 0 層閘道具有讀取存取權。這樣,專案管理員才能檢視系統中的所有第 0 層閘道。有關建立自訂角色的詳細資料,請參閱
建立或管理自訂角色。
建立自訂角色時,請選取網路,並將所有權限重設為無。在設定權限對話方塊中,選取 ,然後將第 0 層閘道權限設定為唯讀。
資源配額
您可以使用限制,來定義專案中資源的配額。配額可讓您針對給定專案的特定資源,定義最大限制。如果未定義任何限制,則會套用系統預設限制。
發出以下 API 呼叫,以定義專案的限制:
PATCH /policy/api/v1/infra/constraints/<contraint-id>範例要求:
URL:
PATCH https://{{nsx-manager-ip}}/policy/api/v1/infra/constraints/c-1本文:
{ "display_name": "TestConstraint", "constraint_expression": { "resource_type": "EntityInstanceCountConstraintExpression", "count": 10, "operator": "<=" }, "target": { "path_prefix": "/orgs/default/projects/project-1", "target_resource_type": "Group" } }