Основные сведения о локальном файле конфигурации (агент C#)

Агент безопасности Defender для Интернета вещей использует конфигурации, указанные в локальном файле конфигурации.

Агент безопасности один раз считывает файл конфигурации после своего запуска. В локальном файле могут содержаться конфигурации проверки подлинности и другие настройки агента.

Агент безопасности C# использует несколько файлов конфигурации:

  • General.config — конфигурации, связанные с агентом;
  • Authentication.config — конфигурация, связанная с проверкой подлинности (включая сведения о проверке подлинности);
  • SecurityIotInterface.config — конфигурации, связанные с интернетом вещей.

Файлы конфигурации содержат конфигурацию по умолчанию. Конфигурация проверки подлинности выполняется во время установки агента, а изменения вносятся при его перезапуске.

Расположение файла конфигурации

Для Linux:

  • Файлы конфигурации операционной системы находятся в папке /var/ASCIoTAgent.

Для Windows:

  • Файлы конфигурации операционной системы находятся в каталоге агента безопасности.

Конфигурации General.config

Имя конфигурации Возможные значения Сведения
agentId Код GUID Уникальный идентификатор агента
readRemoteConfigurationTimeout TimeSpan Период времени для получения удаленной конфигурации из Центра Интернета вещей Azure. Если агент не сможет получить конфигурацию за указанный период времени, операция завершится в связи с истечением времени ожидания.
schedulerInterval TimeSpan Внутренний интервал планировщика.
producerInterval TimeSpan Интервал рабочей роли создателя события.
consumerInterval TimeSpan Интервал рабочей роли потребителя события.
highPriorityQueueSizePercentage 0 < число < 1 Часть общего кэша, выделенная для сообщений с высоким приоритетом.
logLevel Off (Выкл.), Fatal (Фатальное), Error (Ошибка), Warning (Предупреждение), Information (Сообщение), Debug (Отладка) Сообщения журнала с уровнем серьезности не ниже указанного здесь значения регистрируются в консоли отладки (системный журнал в Linux).
fileLogLevel Off (Выкл.), Fatal (Фатальное), Error (Ошибка), Warning (Предупреждение), Information (Сообщение), Debug (Отладка) Сообщения журнала с уровнем серьезности не ниже указанного здесь значения регистрируются в файле (системный журнал в Linux).
diagnosticVerbosityLevel None (Нет), Some (Некоторые), All (Все) Уровень детализации событий диагностики. None (Нет) — диагностические события не отправляются. Some (Некоторые) — отправляются только диагностические сообщения высокой важности. All (Все) — все журналы также отправляются как диагностические события.
logFilePath Путь к файлу Если fileLogLevel > Off, журналы записываются в этот файл.
defaultEventPriority High (Высокий), Low (Низкий), Off (Выкл.) Приоритет события по умолчанию.

Пример General.config

<?xml version="1.0" encoding="utf-8"?>
<General>
  <add key="agentId" value="da00006c-dae9-4273-9abc-bcb7b7b4a987" />
  <add key="readRemoteConfigurationTimeout" value="00:00:30" />
  <add key="schedulerInterval" value="00:00:01" />
  <add key="producerInterval" value="00:02:00" />
  <add key="consumerInterval" value="00:02:00" />
  <add key="highPriorityQueueSizePercentage" value="0.5" />
  <add key="logLevel" value="Information" />
  <add key="fileLogLevel" value="Off"/>
  <add key="diagnosticVerbosityLevel" value="Some" />
  <add key="logFilePath" value="IotAgentLog.log" />
  <add key="defaultEventPriority" value="Low"/>
</General>

Authentication.config

Имя конфигурации Возможные значения Сведения
moduleName строка Имя удостоверения микроагента Defender для Интернета вещей. Это имя должно соответствовать имени удостоверения модуля в устройстве.
deviceId строка ИД устройства (зарегистрированный в Центре Интернета вещей Azure).
schedulerInterval Строка TimeSpan Внутренний интервал планировщика.
gatewayHostname строка Имя узла для центра Интернета вещей Azure. Обычно имеет формат <узел>.azure-devices.net
filePath строка — путь к файлу Путь к файлу, который содержит секрет для проверки подлинности.
type SymmetricKey, SelfSignedCertificate Секрет пользователя для проверки подлинности. Выберите вариант SymmetricKey, если секрет пользователя представлен симметричным ключом, выберите self-signed certificate, если секрет представлен самозаверяющим сертификатом.
identity DPS, Module (Модуль), Device (Устройство) Идентификатор проверки подлинности: DPS, если проверка подлинности выполняется через DPS; SecurityModule, если проверка подлинности выполняется с помощью учетных данных модуля; Device, если проверка подлинности выполняется с помощью учетных данных устройства.
certificateLocationKind LocalFile, Store LocalFile если сертификат хранится в файле; Store, если сертификат находится в хранилище сертификатов.
idScope строка Область действия идентификатора DPS
registrationId строка ИД регистрации устройства DPS

Пример Authentication.config

<?xml version="1.0" encoding="utf-8"?>
<Authentication>
  <add key="moduleName" value="azureiotsecurity"/>
  <add key="deviceId" value="d1"/>
  <add key="gatewayHostname" value=""/>
  <add key="filePath" value="c:\p-dps-d1.pfx"/>
  <add key="type" value="SelfSignedCertificate" />                     <!-- SymmetricKey, SelfSignedCertificate-->
  <add key="identity" value="DPS" />                 <!-- Device, Module, DPS -->
  <add key="certificateLocationKind" value="LocalFile" />  <!-- LocalFile, Store -->
  <add key="idScope" value="0ne0005335B"/>
  <add key="registrationId" value="d1"/>
</Authentication>

SecurityIotInterface.config

Имя конфигурации Возможные значения Сведения
transportType Ampq, Mqtt Тип транспорта Центра Интернета вещей.

Пример SecurityIotInterface.config

<ExternalInterface>
  <add key="facadeType"  value="Microsoft.Azure.Security.IoT.Agent.Common.SecurityIoTHubInterface, Security.Common" />
  <add key="transportType" value="Amqp"/>
</ExternalInterface>

Дальнейшие действия