ポリシーの動作を定義するようにデバイスコントロールモジュールを設定します。
モジュールの動作を設計し、APIを使用して実装する際は、デバイスコントロールについてに記載されている背景情報とガイダンスを使用してください。
ポリシーオブジェクトには、デバイスコントロールモジュールの設定に使用する2つのオブジェクトが含まれています。
  • DeviceControlPolicyExtension: モジュールの状態 (オンまたはオフ) を制御し、適用されたデバイスコントロールルールを識別し、モジュールで使用するステートフル構成を識別します。
  • PolicySettings: ポリシー設定には、モジュールの実行時の動作を制御するいくつかのデバイスコントロール関連の設定が含まれます。
    • USBマスストレージモバイル (MTP/PTP)のアクション
    • USB AutoRun機能の許可
ポリシーとデフォルトポリシー設定の構成に記載されているように、デバイスコントロール関連のポリシー設定を構成します。
次のJSONはDeviceControlPolicyExtensionオブジェクトのデータ構造を表しています。
{
    "state": "off",
    "moduleStatus": {...}
}
moduleStatusプロパティは読み取り専用です。デバイスコントロールモジュールのランタイムステータスを提供します。コンピュータステータスのレポートを参照してください。

一般的な手順 親トピック

デバイスコントロールを設定するには、次の一般的な手順に従います。

手順

  1. DeviceControlPolicyExtensionオブジェクトを作成し、プロパティを設定します。
  2. モジュールのランタイム設定を構成するためにPolicySettingsオブジェクトを作成します。
  3. Policyオブジェクトを作成し、DeviceControlPolicyExtensionおよびPolicySettingsオブジェクトを追加します。
  4. PoliciesApiオブジェクトを使用して、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オブジェクトを使用して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) パラメータは、変更するWorkload Securityの実際のポリシーを識別します。このポリシーは、policyパラメータとして使用されるポリシーオブジェクトに従って変更されます。設定されていないpolicyパラメータのプロパティは、実際のポリシーでは変更されません。

親トピック

次の例では、Policyオブジェクトを作成し、そのDeviceControlPolicyExtensionを変更し、ポリシー設定を構成します。ポリシーはその後、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 Workload Security
policies_api.modify_policy(policy_id, policy, api_version)
また、API参照情報のポリシーの変更操作もご覧ください。
API呼び出しの認証に関する情報については、Workload Securityで認証するを参照してください。

USBデバイスの除外を作成する 親トピック

一般に、デバイスコントロール除外ルールを作成するには、次の手順を実行します。

手順

  1. USBDeviceオブジェクトを作成します。
  2. USBStorageDevicesApiを使用してUSBデバイスをWorkload Securityに追加します。
  3. USBデバイスをポリシーにPolicyDeviceControlExceptionRulesApifull-accessに設定します。

次に進む前に

# 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を直接使用してください。