使用政策來保護使用一個或多個Server & Workload Security保護模組的電腦。
秘訣有關配置政策的特定保護模組的資訊,請參閱以下指南:
|
在使用 API 之前,您應該了解有關政策的基本概念。欲了解背景資訊,請參閱 建立政策以保護您的電腦和其他資源。
建立政策
建立一個政策來定義您正在使用的Server & Workload Security保護模組的行為,並配置政策設定,例如代理-管理員通訊、掃描行為、日誌記錄、事件保留和網路引擎設定。建立政策後,您可以將其指派給一台或多台電腦。
要建立策略,您需要建立一個
Policy
物件,設定其屬性以定義行為,然後使用PoliciesApi
類別將其新增到Server & Workload Security保護。由於策略是分層的,因此在建立策略時,您需要指示父策略的ID。(使用ID為0來建立頂層策略。)Policy
物件提供對許多政策屬性的存取:-
父策略的 ID
-
該政策適用規則的介面
-
是否執行持續推薦掃描
-
是否自動將政策變更發送到電腦(AutoRequiresUpdate)
-
政策設定
秘訣要查看可用的政策屬性,請展開 API 參考中的 描述政策 操作的 200 回應。
|
此範例在基礎政策下創建一個政策。搜尋會獲取基礎政策以取得其 ID,該 ID 用作新政策的父項。(搜尋條件和搜尋篩選器的創建未顯示。)
# Search for the Base Policy
policies_api = api.PoliciesApi(api.ApiClient(configuration))
policy_search_results = policies_api.search_policies(api_version, search_filter=search_filter)
# Set the parent ID of the new policy to the ID of the Base Policy
new_policy.parent_id = policy_search_results.policies[0].id
# Add the new policy to Server & Workload Security保護
created_policy = policies_api.create_policy(new_policy, api_version)
所創建的
策略
對象不包含任何模組配置或設置值。當配置和設置被省略時,這些值將從父策略繼承。因此,所創建的策略幾乎繼承了基礎策略的所有行為。另外請注意,策略識別碼是不可變的,所以如果您知道策略的識別碼,您可以直接使用它而不是搜索。要使用 API 與政策互動,請使用
/api/policies
端點。(請參閱 API 參考中的 政策 操作組。)如需有關搜尋的資訊,請參閱 搜尋資源。如需有關 API 調用驗證的資訊,請參閱 使用 Server & Workload Security保護 驗證。
將政策指派給電腦防護
指派政策到電腦防護,以根據政策設定和安全模組的配置來保護電腦防護:
-
建立一個
電腦防護
物件。 -
將要使用的策略識別碼設定到該物件。
-
使用
ComputersApi
物件在 Server & Workload Security保護 上更新電腦防護。
以下範例將政策指派給電腦防護。搜尋會取得政策以獲取其 ID,然後將其指派給電腦防護。(搜尋條件和搜尋篩選器的建立未顯示。)
# Perform the search policy_search_results = policies_api.search_policies(api_version, search_filter=search_filter) # Assign the policy to the computer computer.policy_id = policy_search_results.policies[0].id
秘訣另請參閱 API 參考中的 修改政策 操作。
|
秘訣您可以在電腦防護層級覆寫政策。請參閱 設定電腦防護以覆寫政策。
|
配置策略和預設策略設定
政策設定控制保護模組和Server & Workload Security保護平台的許多行為。因此,許多使用API自動化的任務需要您配置政策設定。
如需查看策略和預設策略設定列表,請參閱設定參考中的 預設策略、策略和電腦防護設定。
預設設定值和覆寫
Server & Workload Security保護 政策是分層的。政策在層級中的位置資訊決定了其設定的預設值:
-
Top-level policies: 一組預設策略設定定義了所有頂層策略的預設值。
-
Child policies: 的預設值繼承自其父策略。
您可以配置任何策略設定以覆蓋預設設定。因此,預設策略設定會被層級下的策略繼承,直到有策略覆蓋它為止。
如需有關政策層級和繼承的詳細資訊,請參閱 政策、繼承和覆蓋。
策略設定和預設策略設定類別
Server & Workload Security保護 SDK 提供以下類別來儲存策略和預設策略設定。這些類別用於在 Server & Workload Security保護 和 SDK 或 API 客戶端之間傳遞設定值。
-
DefaultPolicySettings
:儲存所有預設策略設定的值。 -
PolicySettings
:儲存特定政策的設定值。
檢索策略設定或預設策略設定的值
PoliciesApi
類別使您能夠檢索單個設定的值,無論是針對某個策略還是針對預設策略設定。對於某個策略,您可以檢索設定的有效值或覆蓋值:-
Effective setting: 用於此政策的值。此值是繼承的或已特別為此政策設定(覆蓋)。
-
Override: 為此政策專門設定的值。沒有值表示設定值是繼承的。
當您想知道頂層政策的預設值時,請檢索預設設定。
當您檢索設定值時,請按名稱識別設定。該值將以
SettingValue
對象的形式返回。有關策略和預設策略設定的列表,請參閱設定參考中的 預設策略、策略和電腦防護設定。以下範例會擷取政策的防火牆網路引擎模式。
# Get the policy details from Server & Workload Security保護
policies_api = api.PoliciesApi(api.ApiClient(configuration))
return policies_api.describe_policy_setting(policy_id, api.PolicySettings.firewall_setting_network_engine_mode, api_version, overrides=False)
秘訣要獲取預設策略設定的值,請使用
describe_default_setting 方法。 |
列出所有策略或預設策略設定
您可以在一次呼叫中檢索所有策略和預設策略設定。您從Server & Workload Security保護檢索設定的方式取決於設定類別。
-
Default policy settings: 使用
PoliciesApi
物件從管理器獲取DefaultPolicySettings
物件。 -
Policy settings: 使用
PoliciesApi
物件從 Server & Workload Security保護 獲取一個Policy
物件。然後,從Policy
物件中獲取PolicySettings
物件。
配置單一策略或預設策略設定
PoliciesApi
類別使您能夠為策略或預設策略設定的單一設定值。步驟
- 建立一個
SettingValue
物件並設置值(所有值都是字串)。當設定接受來自選擇列表中的一個值時,您可以使用選擇的 ID 或選擇在 Server & Workload Security保護 控制台中顯示的確切措辭。 - 創建一個
PoliciesApi
對象,並將其與SettingValue
對象一起使用,以修改策略設置或默認設置。當修改策略設置時,您還需要提供策略識別碼。
接下來需執行的動作
以下範例設定政策的防火牆網路引擎模式值
# Create a SettingValue object and set the value to either "Inline" or "Tap"
network_engine_mode_value = api.SettingValue()
network_engine_mode_value.value = "Inline"
# Modify the setting on Server & Workload Security保護
policies_api = api.PoliciesApi(api.ApiClient(configuration))
return policies_api.modify_policy_setting(policy_id, api.PolicySettings.firewall_setting_network_engine_mode, network_engine_mode_value, api_version, overrides=False)
秘訣要設定預設策略設定的值,請使用
modify_default_setting 方法。 |
另請參閱 API 參考中的 修改政策設定 操作。
配置多個策略和預設策略設定
要配置多個策略或預設策略設定,您首先需要為每個設定創建一個設定對象並設置值:
步驟
- 建立一個
SettingValue
物件並設置值(所有值都是字串)。當設定接受來自選擇列表中的一個值時,您可以使用選擇的 ID 或選擇在 Server & Workload Security保護 控制台中顯示的確切措辭。 - 從設定類別(
DefaultPolicySettings
或PolicySettings
)建立一個物件。 - 將設定的值設為
SettingValue
對象。
接下來需執行的動作
在相同的
DefaultPolicySettings
或 PolicySettings
物件中設定所需的多個設定值。對於任一類設定,您在Server & Workload Security保護上修改設定的方式略有不同:
-
Default policy settings: 使用
PoliciesApi
物件來修改管理員上的DefaultPolicySettings
物件。 -
Policy settings: 將
PolicySettings
物件新增到Policy
物件。然後,使用PoliciesApi
類別來修改管理員上的政策。
DefaultPolicySettings
或 PolicySettings
物件中沒有值的設定在 Server & Workload Security保護 上不會改變。Server & Workload Security保護 在保存值之前會驗證所有修改過的設定。如果物件中的一個或多個設定無效,則不會保存任何修改過的設定。錯誤回應會包含每個失敗的原因。
注意當 Server & Workload Security保護 驗證設定值時,它不會檢查相互依賴的設定是否一致。
|
以下範例配置了兩個設定,以啟用策略的失敗開放或失敗關閉模式。
# Create the SettingValue objects
failure_response_engine_system = api.SettingValue()
failure_response_packet_sanity_check = api.SettingValue()
# Set the values
if fail_open:
failure_response_engine_system.value = failure_response_packet_sanity_check.value = "Fail open"
else:
failure_response_engine_system.value = failure_response_packet_sanity_check.value = "Fail closed"
# Set the setting values and add to a policy
policy_settings = api.PolicySettings()
policy_settings.firewall_setting_failure_response_engine_system = failure_response_engine_system
policy_settings.firewall_setting_failure_response_packet_sanity_check = failure_response_packet_sanity_check
policy = api.Policy()
policy.policy_settings = policy_settings
# Modify the policy on Server & Workload Security保護.
policies_api = api.PoliciesApi(api.ApiClient(configuration))
return policies_api.modify_policy(policy_id, policy, api_version, overrides=False)
如需有關配置系統設置的示例,請參閱 配置 Server & Workload Security保護 系統設置。
重設政策覆寫
重置策略覆蓋,以便該策略繼承父策略的屬性或設定值(或對於頂層策略,則繼承預設策略設定)。重置策略覆蓋的方法取決於屬性或設定的類型。
秘訣一般來說,本節中的資訊也適用於電腦防護。在某些情況下使用特定政策類別時,您使用特定電腦防護類別。例如,您使用
ComputersApi 和ComputerSettings ,而不是PoliciesApi 和PolicySettings 。 |
重置 ID 參考
要重設 ID 參考覆蓋以繼承該值,請修改策略並將屬性的值設為 0。ID 參考是一種使用另一項目 ID 作為值的屬性。
例如,設定即時惡意程式防護掃瞄配置範例會覆蓋政策的 realTimeScanConfigurationID。要將屬性重設為繼承父策略的值,請將
realTimeScanConfigurationID
設為0
。重設設定
重置安全模組的狀態
要重置安全模組的狀態,請修改策略並將模組狀態的值設為
繼承
。例如,開啟 Application Control 範例會將 Application Control 模組的狀態屬性覆寫為
on
以套用至某個策略。若要重設設定以繼承父策略的值,您需要將狀態值設為 inherited
。重設規則
當新增至政策的規則與原始規則不同時,即達成規則覆蓋。您可以重置規則的所有覆蓋,或選擇性地重置覆蓋。
秘訣當規則被指派給策略時,無論父策略是否被指派該規則,都不被視為覆蓋。
|
重置規則的所有覆蓋
每個模組特定的政策規則詳細資訊類別(
FirewallRulesDetailsApi
、PolicyIntegrityMonitoringRulesDetailsApi
、PolicyIntrusionPreventionRuleDetailsApi
和 PolicyLogInspectionRulesDetailsApi
)都提供了一種方法,用於重置分配給特定政策的規則的所有覆蓋。要查看程式碼範例,請前往API 參考中的重設防火牆規則覆蓋操作,並查看該操作的程式碼範例。
選擇性重置規則的覆蓋
使用以下程序僅重設規則的某些屬性。
步驟
- 獲取政策規則的所有覆蓋。使用模組特定規則詳細資訊類別的
describe
方法,並將overrides
參數設置為true
。保存結果。(請參閱 關於覆蓋參數。) - 重置該規則的所有覆蓋。
- 在新規則中還原您想保留的覆蓋。
- 使用覆蓋來修改政策規則。
接下來需執行的動作
以下範例會重設某個政策的部分日誌檢查規則覆寫。
policy_log_inspection_rule_details_api = api.PolicyLogInspectionRuleDetailsApi(api.ApiClient(configuration))
# Get the rule overrides
rule_overrides = policy_log_inspection_rule_details_api.describe_log_inspection_rule_on_policy(policy_id, rule_id, api_version, overrides=True)
# Reset the rule
policy_log_inspection_rule_details_api.reset_log_inspection_rule_on_policy(policy_id, rule_id, api_version, overrides=False)
# Add the desired overrides to a new rule
li_rule_overrides_restored = api.LogInspectionRule()
if rule_overrides.alert_minimum_severity:
li_rule_overrides_restored.alert_minimum_severity = rule_overrides.alert_minimum_severity
if rule_overrides.recommendations_mode:
li_rule_overrides_restored.recommendations_mode = rule_overrides.recommendations_mode
# Modify the rule on Server & Workload Security保護
return policy_log_inspection_rule_details_api.modify_log_inspection_rule_on_policy(policy_id, rule_id, li_rule_overrides_restored, api_version, overrides=False)