Compréhension du fichier de configuration local (agent C#)
L’agent de sécurité Defender pour IoT utilise des configurations à partir d’un fichier de configuration local.
L’agent de sécurité lit le fichier config une seule fois, au démarrage de l’agent. Les configurations trouvées dans le fichier config local contiennent la configuration de l’authentification et d’autres configurations associées à l’agent.
L’agent de sécurité C# utilise plusieurs fichiers de configuration :
- General. config : configurations associées à l’agent.
- Authentication.config : configuration associée à l’authentification (y compris les détails de cette dernière).
- SecurityIotInterface.config : configurations liées à l’IoT.
Les fichiers de configuration contiennent la configuration par défaut. La configuration de l’authentification est remplie lors de l’installation de l’agent, et les modifications apportées au fichier de configuration sont appliquées au redémarrage de l’agent.
Emplacement du fichier de configuration
Pour Linux :
- Les fichiers de configuration du système d’exploitation sont situés ici :
/var/ASCIoTAgent
.
Pour Windows :
- Les fichiers de configuration du système d’exploitation se trouvent dans le répertoire de l’agent de sécurité.
Configurations du fichier General.config
Nom de la configuration | Valeurs possibles | Détails |
---|---|---|
agentId | GUID | Identificateur unique de l’agent. |
readRemoteConfigurationTimeout | TimeSpan | Intervalle d’extraction de la configuration distante à partir de IoT Hub. Si l’agent ne parvient pas à extraire la configuration dans le délai spécifié, l’opération arrive à expiration. |
schedulerInterval | TimeSpan | Intervalle du planificateur interne. |
schedulerInterval | TimeSpan | Intervalle du rôle de travail du producteur d’événements. |
consumerInterval | TimeSpan | Intervalle du rôle de travail du consommateur d'événements. |
highPriorityQueueSizePercentage | 0 < nombre < 1 | Partie du cache total dédiée aux messages à priorité élevée. |
logLevel | "Off", "Fatal", "Error", "Warning", "Information", "Debug" | Les messages de journal équivalant à ce niveau de gravité sont enregistrés dans la console de débogage (Syslog dans Linux). |
fileLogLevel | "Off", "Fatal", "Error", "Warning", "Information", "Debug" | Les messages de journal équivalant à ce niveau de gravité sont enregistrés dans un fichier (Syslog dans Linux). |
diagnosticVerbosityLevel | "None", "Some", "All" | Niveau de détail des événements de diagnostic. None : les événements de diagnostic ne sont pas envoyés. Some : seuls les événements diagnostiques de grande importance sont envoyés. All : tous les journaux sont également envoyés en tant qu’événements de diagnostic. |
logFilePath | Chemin d’accès au fichier | Si fileLogLevel > Off, les journaux sont écrits dans ce fichier. |
defaultEventPriority | "High", "Low", "Off" | Priorité par défaut des événements. |
Exemple de fichier 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
Nom de la configuration | Valeurs possibles | Détails |
---|---|---|
moduleName | string | Nom de l’identité du micro-agent Defender-IoT. Ce nom doit correspondre à celui de l’identité du module dans l’appareil. |
deviceId | string | ID de l’appareil (comme inscrit dans Azure IoT Hub). |
schedulerInterval | Chaîne TimeSpan | Intervalle du planificateur interne. |
gatewayHostname | string | Nom d’hôte du hub Azure Iot Hub. En général, il s’agit de <my-hub>.azure-devices.net |
filePath | Chaîne - Chemin d’accès au fichier | Chemin d’accès au fichier qui contient le secret d’authentification. |
type | "SymmetricKey", "SelfSignedCertificate" | Secret de l’utilisateur pour l’authentification. Choisissez SymmetricKey si le secret de l’utilisateur est une clé symétrique, ou SelfSignedCertificate si le secret est un certificat auto-signé. |
identity | "DPS", "Module", "Device" | Identité d’authentification : « DPS » si l’authentification est effectuée via DPS, « Module » si elle est effectuée via les informations d’identification du module de sécurité ou « Device » si elle est effectuée avec les informations d’identification de l’appareil. |
certificateLocationKind | "LocalFile", "Store" | « LocalFile » si le certificat est stocké dans un fichier, « store » s’il se trouve dans un magasin de certificats. |
idScope | string | Étendue de l’ID de DPS. |
registrationId | string | ID d’inscription de l’appareil DPS. |
Exemple de fichier 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
Nom de la configuration | Valeurs possibles | Détails |
---|---|---|
transportType | "Ampq" "Mqtt" | Type de transport IoT Hub. |
Exemple de fichier SecurityIotInterface. config
<ExternalInterface>
<add key="facadeType" value="Microsoft.Azure.Security.IoT.Agent.Common.SecurityIoTHubInterface, Security.Common" />
<add key="transportType" value="Amqp"/>
</ExternalInterface>
Étapes suivantes
- Lire la vue d’ensemble du service Defender pour IoT
- En savoir plus sur Defender pour l’architecture de la solution basée sur l’agent IoT
- Activer la service Defender pour IoT
- Lire la FAQ du service Defender pour IoT
- Découvrir comment accéder aux données de sécurité brutes
- Comprendre les recommandations
- Comprendre les alertes de sécurité