檢視次數:
配置周邊設備存取控管模組以定義其在政策中的行為。
在設計模組行為並使用 API 實作時,請使用 關於周邊設備存取控管 中提供的背景資訊和指導。
政策物件包含兩個用於配置周邊設備存取控管模組的物件:
  • DeviceControlPolicyExtension:控制模組狀態(開啟或關閉),識別已應用的周邊設備存取控管規則,並識別要與模組一起使用的有狀態配置。
  • PolicySettings:政策設定包括幾個與周邊設備存取控管相關的設定,這些設定控制模組的運行行為,例如
    • USB 大容量儲存裝置行動裝置 (MTP/PTP) 的操作
    • 允許 USB 自動執行功能
設定策略和預設策略設定中所述,配置周邊設備存取控管相關的策略設定。
以下 JSON 代表 DeviceControlPolicyExtension 物件的資料結構:
{
    "state": "off",
    "moduleStatus": {...}
}
moduleStatus 屬性是唯讀的。它提供周邊設備存取控管模組的運行狀態。(請參閱 電腦防護狀態報告)。

一般步驟 上層主題

若要設定周邊設備存取控管,請使用以下一般步驟:

步驟

  1. 創建一個 DeviceControlPolicyExtension 物件並設置屬性。
  2. 創建一個 PolicySettings 物件來配置模組的運行時設置。
  3. 建立一個Policy物件,並新增DeviceControlPolicyExtensionPolicySettings物件。
  4. 使用 PoliciesApi 物件在 Server & Workload Security保護 中新增或更新政策。
    秘訣
    秘訣
    如果您只需要設定單一周邊設備存取控管相關的策略設定,請參閱設定單一策略或預設策略設定

接下來需執行的動作

建立一個 DeviceControlPolicyExtension 物件並設定狀態和規則 ID:
device_control_policy_extension = api.DeviceControlPolicyExtension()
device_control_policy_extension.state = "on"
接下來,建立一個PolicySettings物件來配置周邊設備存取控管相關設定。(有關策略設定的詳細資訊,請參閱配置策略和預設策略設定。)例如,您可以封鎖USB大容量存儲裝置的存取:
policy_settings = api.PolicySettings()
setting_value = api.SettingValue()
setting_value.value = "Block"
policy_settings.device_control_setting_device_control_usb_storage_device_action = setting_value
此時,周邊設備存取控管政策擴展和政策設定已配置完成。接下來,將它們添加到Policy對象中,並使用PoliciesApi對象在Server & Workload Security保護中修改政策。
policy = api.Policy()
policy.device_control = device_control_policy_extension
policy.policy_settings = policy_settings

policies_api = api.PoliciesApi(api.ApiClient(configuration))
returned_policy = policies_api.modify_policy(policy_id, policy, api_version)
modifyPolicypolicy_id(或 policyID)參數標識了在 Server & Workload Security保護 中要修改的實際策略。此策略根據用作 policy 參數的策略對象進行修改。未設置的 policy 參數的任何屬性在實際策略中保持不變。

範例 上層主題

以下範例會建立一個Policy物件,修改其DeviceControlPolicyExtension,並配置一個政策設定。然後在Server & Workload Security保護中更新該政策。
policies_api = api.PoliciesApi(api.ApiClient(configuration))
policy = api.Policy()
device_control_policy_extension = api.DeviceControlPolicyExtension()

# Turn on Device Control
device_control_policy_extension.state = "on"

# Add the Device Control state to the policy
policy.device_control = device_control_policy_extension

# Create a policy_settings
policy_settings = api.PolicySettings()

# Block USB mass storage access
usb_mass_storage_setting_value = api.SettingValue()
usb_mass_storage_setting_value.value = "Block" # Allow values: Full Access, Read Only, Block
policy_settings.device_control_setting_device_control_usb_storage_device_action = usb_mass_storage_setting_value

# Block USB autorun
usb_autorun_setting_value = api.SettingValue()
usb_autorun_setting_value.value = "Block" # Allow values: Allow, Block
policy_settings.device_control_setting_device_control_auto_run_usb_action = usb_autorun_setting_value

# Block "Mobile (MTP/PTP)" access
mobile_setting_value = api.SettingValue()
mobile_setting_value.value = "Block" # Allow values: Full Access, Read Only, Block
policy_settings.device_control_setting_device_control_mobile_device_action = mobile_setting_value

# Add USB mass storage access to the policy
policy.policy_settings = policy_settings

# Modify the policy on Server & Workload Security保護
policies_api.modify_policy(policy_id, policy, api_version)
秘訣
秘訣
另請參閱 API 參考中的 修改政策 操作。
如需有關驗證 API 呼叫的資訊,請參閱 使用 Server & Workload Security保護 驗證

建立 USB 裝置例外 上層主題

一般來說,若要建立周邊設備存取控管例外規則,您需要執行以下步驟:

步驟

  1. 創建一個 USBDevice 物件。
  2. 使用 USBStorageDevicesApi 將 USB 裝置新增到 Server & Workload Security保護
  3. 將 USB 裝置設置為「完全訪問」,並使用 PolicyDeviceControlExceptionRulesApi 設置至政策。

接下來需執行的動作

# Create a new USB device
device = api.USBDevice()
device.name = 'device name'
device.vendor = 'device vendor'
device.model = 'device model'
device.serial_number = 'device serial number' 

usb_storage_device_api = api.USBStorageDevicesApi(api.ApiClient(configuration))
created_device = usb_storage_device_api.create_usb_device(device, api_version)

# Configure exception list
exception_rules = api.ExceptionRules([])
exception_rule1 = api.ExceptionRule()
exception_rule1.device_id = created_device.id
exception_rule1.action = "full-access"
exception_rules.exception_rules.append(exception_rule1)

# Set the exception list to policy
policy_id = 1
policy_exception_rule_api = api.PolicyDeviceControlExceptionRulesApi(api.ApiClient(configuration))
policy_exception_rule_api.set_exception_rules_on_policy(policy_id, exception_rules, api_version)
秘訣
秘訣
如果您只需要將現有的 USB 裝置指派到政策,請使用 USBStorageDevicesApi.list_usb_devices 來獲取 device_id 並直接使用 set_exception_rules_on_policy