Informazioni sul file di configurazione locale (agente C#)

L'agente di sicurezza Defender per IoT usa configurazioni da un file di configurazione locale.

L'agente di sicurezza legge il file di configurazione una volta all'avvio dell'agente. Le configurazioni trovate nel file di configurazione locale contengono sia la configurazione di autenticazione che altre configurazioni correlate all'agente.

L'agente di sicurezza C# usa più file di configurazione:

  • General.config - Configurazioni correlate all'agente.
  • Authentication.config - Configurazione correlata all'autenticazione (inclusi i dettagli di autenticazione).
  • SecurityIotInterface.config : configurazioni correlate a IoT.

I file di configurazione contengono la configurazione predefinita. La configurazione di autenticazione viene popolata durante l'installazione dell'agente e le modifiche apportate al file di configurazione vengono apportate al riavvio dell'agente.

Percorso file di configurazione

Per Linux:

  • I file di configurazione del sistema operativo si trovano in /var/ASCIoTAgent.

Per Windows:

  • I file di configurazione del sistema operativo si trovano nella directory dell'agente di sicurezza.

configurazioni General.config

Nome della configurazione Valori possibili Dettagli
agentId GUID Identificatore univoco agente
readRemoteConfigurationTimeout TimeSpan Periodo di tempo per recuperare la configurazione remota da hub IoT. Se l'agente non riesce a recuperare la configurazione entro l'ora specificata, l'operazione verrà timeout.
schedulerInterval TimeSpan Intervallo dell'utilità di pianificazione interna.
producerInterval TimeSpan Intervallo di lavoro del produttore di eventi.
consumerInterval TimeSpan Intervallo di lavoro del consumer di eventi.
highPriorityQueueSizePercentage 0 < numero < 1 Parte della cache totale dedicata ai messaggi con priorità elevata.
Loglevel "Off", "Fatal", "Error", "Warning", "Information", "Debug" I messaggi di log uguali e superiori a questo livello di gravità vengono registrati nella console di debug (Syslog in Linux).
fileLogLevel "Off", "Fatal", "Error", "Warning", "Information", "Debug" I messaggi di log uguali e superiori a questo livello di gravità vengono registrati nel file (Syslog in Linux).
diagnosticVerbosityLevel "Nessuno", "Some", "All", Livello di dettaglio degli eventi di diagnostica. Nessuno: gli eventi di diagnostica non vengono inviati. Alcuni: vengono inviati solo eventi di diagnostica con importanza elevata. Tutti: tutti i log vengono inviati anche come eventi di diagnostica.
logFilePath Percorso del file Se fileLogLevel > Off, i log vengono scritti in questo file.
defaultEventPriority "High", "Low", "Off" Priorità dell'evento predefinita.

General.config esempio

<?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

Nome configurazione Valori possibili Dettagli
Modulename string Nome dell'identità defender-IoT-micro-agent. Questo nome deve corrispondere al nome dell'identità del modulo nel dispositivo.
Deviceid string ID del dispositivo (registrato in hub IoT di Azure).
schedulerInterval Stringa TimeSpan Intervallo dell'utilità di pianificazione interna.
gatewayHostname string Nome host dell'hub Iot di Azure. In genere <my-hub.azure-devices.net>
Filepath stringa - percorso del file Percorso del file contenente il segreto di autenticazione.
type "SymmetricKey", "SelfSignedCertificate" Segreto utente per l'autenticazione. Scegliere SymmetricKey se il segreto utente è una chiave simmetrica, scegliere un certificato autofirmato se il segreto è un certificato autofirmato.
identity "DPS", "Module", "Device" Identità di autenticazione- DPS se l'autenticazione viene eseguita tramite DPS, Modulo se l'autenticazione viene eseguita usando le credenziali del modulo o il dispositivo se l'autenticazione viene eseguita usando le credenziali del dispositivo.
certificateLocationKind "LocalFile", "Store" LocalFile se il certificato viene archiviato in un file, archiviare se il certificato si trova in un archivio certificati.
idScope string Ambito ID di DPS
registrationId string ID registrazione dispositivo DPS.

Authentication.config esempio

<?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

Nome della configurazione Valori possibili Dettagli
transportType "Ampq" "Mqtt" hub IoT tipo di trasporto.

esempio di SecurityIotInterface.config

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

Passaggi successivi