目次

デバイスコントロールの設定

ポリシーの動作を定義するようにデバイスコントロールモジュールを設定します。

モジュールの動作を設計し、APIを使用して実装する場合は、Device Controlについてに記載されている背景情報とガイダンスを使用してください。

ポリシーオブジェクトには、デバイスコントロールモジュールの設定に使用する2つのオブジェクトが含まれています。

  • DeviceControlPolicyExtension:モジュールの状態(オンまたはオフ)を制御し、適用されたデバイスコントロールルールを識別し、モジュールで使用するステートフル設定を識別します。
  • PolicySettings: ポリシー設定には、モジュールの実行時の動作を制御する次のようなデバイスコントロール関連の設定が含まれます。
    • USB Mass Storage の処理 Mobile (MTP/PTP)
    • 許可 USB AutoRun Function

ポリシーと初期設定のポリシー設定 の説明に従って、デバイスコントロール関連のポリシーを設定します。

次のJSONは、 DeviceControlPolicyExtension オブジェクトのデータ構造を表します。

{
    "state": "off",
    "moduleStatus": {...}
}

moduleStatus プロパティは読み取り専用です。デバイスコントロールモジュールのランタイムステータスを提供します。 コンピュータのステータスに関するレポート を参照してください。

一般手順

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

  1. DeviceControlPolicyExtension オブジェクトを作成し、プロパティを設定します。
  2. PolicySettings オブジェクトを作成して、モジュールのランタイム設定を行います。
  3. Policy オブジェクトを作成し、 DeviceControlPolicyExtension オブジェクトと PolicySettings オブジェクトを追加します。
  4. PoliciesApi オブジェクトを使用して、 Workload Securityのポリシーを追加またはアップデートします。

    単一のデバイスコントロール関連のポリシー設定のみを設定する必要がある場合は、単一のポリシーまたは初期設定のポリシー設定を設定するを参照してください。

DeviceControlPolicyExtension オブジェクトを作成し、状態IDとルール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. USB デバイスをWorkload SecurityとUSBStorageDevicesApi.
  3. USBデバイスを full-access に設定し、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)

また、ListDeviceInfo レポートから欠落している値を持つアイテムを承認済みデバイスリストに追加するも参照してください。

既存のUSBデバイスをポリシーに割り当てるだけの場合は、 USBStorageDevicesApi.list_usb_devices を使用して device_idset_exception_rules_on_policy を直接取得します。