檢視次數:
請使用以下策略來提升您 API 和 SDK 呼叫的效能。

最小化電腦防護回應大小

當您描述列出搜尋電腦防護時,您可以指定返回的電腦防護物件中包含的資訊。當您只返回所需的資訊時,回應到達您的客戶端所需的時間會更少。
簡單值的電腦防護屬性總是包含在返回的電腦防護物件中。然而,您可以控制包含具有複雜值的屬性(這些值是其他物件)。以下 JSON 代表電腦防護物件的資料結構。複雜屬性的值由大括號符號{...}表示。
{
  "hostName": "string",
  "displayName": "string",
  "description": "string",
  "lastIPUsed": "string",
  "platform": "string",
  "groupID": 0,
  "policyID": 0,
  "assetImportanceID": 0,
  "relayListID": 0,
  "agentFingerPrint": "string",
  "applianceFingerPrint": "string",
  "lastAgentCommunication": 0,
  "lastApplianceCommunication": 0,
  "lastSendPolicyRequest": 0,
  "lastSendPolicySuccess": 0,
  "agentVersion": "string",
  "computerStatus": {...},
  "computerSettings": {...},
  "interfaces": {...},
  "biosUUID": "string",
  "azureARMVirtualMachineSummary": {...},
  "azureVMVirtualMachineSummary": {...},
  "ec2VirtualMachineSummary": {...},
  "noConnectorVirtualMachineSummary": {...},
  "vmwareVMVirtualMachineSummary": {...},
  "workspaceVirtualMachineSummary": {...},
  "esxsummary": {...},
  "ID": 0,
  "antiMalware": {...},
  "webReputation": {...},
  "firewall": {...},
  "intrusionPrevention": {...},
  "integrityMonitoring": {...},
  "logInspection": {...},
  "applicationControl": {...},
  "ESXSummary": {...},
  "SAP": {...}
}
例如,如果您需要電腦防護 ID 列表,您可以列出所有電腦防護並指定返回的 Computer 物件中不包含任何複雜屬性。如果您對代理狀態感興趣,請包含 computerStatus 屬性,而不包含其他複雜屬性。
警告
警告
預設情況下,所有屬性都包含在返回的電腦防護對象中。
ComputersApi 類別中描述、列出和搜尋電腦的方法或函數定義了一個 expand 參數,用於控制包含哪些屬性。expand 參數是一個字串值的列表。Expand 類別定義了可以包含在列表中的字串值。(有關字串值的列表,請參閱 API 參考中 Computers 的描述、列出和搜尋操作的 expand 參數說明。)
以下代碼來自範例中的電腦防護狀態報告指南,獲取包含電腦防護狀態屬性的電腦列表。
expand = api.Expand()
expand.add(api.Expand.computer_status)

computers_api = api.ComputersApi(api.ApiClient(configuration))
computers = computers_api.list_computers(api_version, expand=expand.list(), overrides=False)
在此範例中,電腦防護 物件返回的資訊類似以下 JSON:
{
  "hostName": "string",
  "displayName": "string",
  "description": "string",
  "lastIPUsed": "string",
  "platform": "string",
  "groupID": 0,
  "policyID": 0,
  "assetImportanceID": 0,
  "relayListID": 0,
  "agentFingerPrint": "string",
  "applianceFingerPrint": "string",
  "lastAgentCommunication": 0,
  "lastApplianceCommunication": 0,
  "lastSendPolicyRequest": 0,
  "lastSendPolicySuccess": 0,
  "agentVersion": "string",
  "computerStatus": {...},
  "biosUUID": "string",
  "ID": 0,
}
秘訣
秘訣
Expand
類別定義了幾個字串,使指定要包含的屬性變得更容易
Computer
物件(字串的確切名稱因 SDK 語言而異):
  • none: 僅包含簡單屬性值,不包含複雜屬性。This value significantly increases performance 當需要最少資訊時,例如電腦防護 ID,這是很有用的。
  • all: 包含所有屬性。這是預設值。
  • allVirtualMachineSummaries: 包含所有虛擬機器摘要屬性,例如 EC2、Azure、VMWare。
  • allSecurityModules: 包含所有安全模組屬性,例如惡意程式防護、入侵防護和 Application Control。
警告
警告
expand 參數的預設值是 all。如果您提供 null 或未提供參數值,將返回所有電腦防護資訊。

使用覆蓋參數

當您從 Server & Workload Security保護 檢索許多大型物件時,僅包含被覆蓋的屬性值可以大幅減少返回物件的大小。許多 API 調用定義了一個 overrides 參數,該參數控制回應是僅包含在目標資源上配置的覆蓋,還是包含所有有效屬性。
秘訣
秘訣
如需詳細資訊,請參閱 關於覆蓋參數 指南。
例如,如果您需要所有政策的 ID,您可以使用 PoliciesApi 類別中列出政策的方法或函數,並將 overrides 設置為 true。當許多政策屬性是繼承的時候,檢索覆蓋可以顯著減少響應大小。無論 overrides 參數的值如何,ID 總是會返回。
policies_api = api.PoliciesApi(api.ApiClient(configuration))
policies_with_overrides = policies_api.list_policies(api_version, overrides=True)

直接配置規則分配

您可以使用以下類別為政策和電腦配置規則分配:
  • PolicyFirewallRuleAssignmentsApiComputerFirewallRuleAssignmentsApi
  • PolicyIntegrityMonitoringRuleAssignmentsRecommendationsApiComputerIntegrityMonitoringRuleAssignmentsRecommendationsApi
  • PolicyIntrusionPreventionRuleAssignmentsRecommendationsApiComputerIntrusionPreventionRuleAssignmentsRecommendationsApi
  • PolicyLogInspectionRuleAssignmentsRecommendationsApiComputerLogInspectionRuleAssignmentsRecommendationsApi
使用這些類別比使用Policy電腦防護物件的安全模組擴展物件來配置規則指派更具效能。例如,要指派防火牆規則,請使用PolicyFirewallRuleAssignmentsApi類別的方法或函數,將防火牆規則新增到特定的政策中。效能較低的指派規則方式是將規則新增到FirewallPolicyExtension物件,將該物件新增到Policy物件,然後使用PoliciesApi來修改政策。
有關這些類別功能的完整資訊,請參閱 API 參考中的 政策電腦 部分。

直接與單一設定互動

為了在與政策、電腦防護和系統設定互動時最小化回應大小,請直接與個別政策設定互動,而不是通過修改整個政策。
建立和配置政策中所述,您可以通過兩種方式與政策設置互動:
  • 使用 PoliciesApi 類別來檢索、修改或重置單一政策設定。回應包括一個 SettingValue 物件。
  • 使用 PoliciesApi 類別檢索或修改政策。回應包含一個 Policy 物件,其中包括一個 PolicySettings 物件。
一個包含字串值的 SettingValue 物件,比包含所有屬性值和設定值的 Policy 物件小得多。
同樣地,使用 PoliciesApi 類別直接與個別的預設策略設定互動,使用 ComputersApi 類別進行個別的電腦防護設定,並使用 SystemSettingsApi 類別進行個別的系統設定(請參閱 設定電腦以覆寫策略設定 Server & Workload Security保護 系統設定)。

頁面您的搜尋結果

如果可能,從 Server & Workload Security保護 檢索大量物件時,請分頁檢索結果,以避免過度佔用伺服器資源。如果您在執行搜尋時發現管理器效能下降,請重構您的程式碼以執行一系列返回較小結果集的搜尋。
如需詳細資訊,請參閱 搜尋資源 指南中的「限制搜尋結果和分頁」部分。