Postup zabezpečení Azure Sphere

Dokončeno

V této lekci se dozvíte o zabezpečení Azure Sphere.

Aplikace v Azure Sphere jsou ve výchozím nastavení zabezpečené. Aplikaci musíte udělit schopnosti. Udělování schopností je klíčové pro zabezpečení Azure Sphere (říká se mu také princip nejnižší úrovně oprávnění). Měli byste udělit jenom schopnosti, které aplikace Azure Sphere potřebuje ke správnému spuštění, neudělujte schopnosti na vyšší úrovni.

Ke schopnostem aplikace patří, ke kterému hardwaru smí přistupovat, jaké koncové body sítě je možné volat a jaká je povolená komunikace mezi jádry.

Koncové body sítě IoT Central

Je nutné deklarovat všechny koncové body sítě, které bude aplikace používat. Funkce zabezpečení pracuje tak, že pokud se pokusíte získat přístup ke koncovému bodu, který není deklarovaný v manifestu aplikace, pokus aplikace o připojení se nezdaří. Toto zabezpečení je implementováno jako síťová brána firewall, která se nedá změnit, dokud se zařízení nerestartuje.

Když se připojujete k IoT Central, musíte deklarovat globální koncový bod služby zřizování zařízení a také koncové body pro vaší aplikaci IoT Central. Jinak se vaše aplikace Azure Sphere nebude moct připojit.

Možnosti síťového koncového bodu

Koncové body sítě jsou deklarovány v souboru app_manifest.json v aplikaci v části AllowedConnections.

{
    ...
    "AllowedConnections": [
      "global.azure-devices-provisioning.net",
      "your-iot-central-network-endpoints"
    ],
    ...
}

Přístup k hardwaru

Nezapomeňte, že aplikace Azure Sphere jsou ve výchozím nastavení zabezpečené a musíte deklarovat přístup k hardwarovým periferním zařízením, které vaše aplikace vyžaduje. Pokud nedeklarujete hardware, který vaše aplikace potřebuje, aplikace při pokusu o přístup k hardwaru selže. Zabezpečení přístupu k hardwaru je implementováno v hardwaru jako silikonový firewall. Jako dodatečná vrstva zabezpečení je silikonový firewall neměnný, takže nastavení silikonového firewallu zůstane v platnosti, dokud se zařízení nerestartuje.

Hardwarové schopnosti

Hardware je deklarován v souboru app_manifest.json aplikace v části Schopnosti.

{
  ...
  "Capabilities": {
    "Gpio": [
      "$BUTTON_A",
      "$NETWORK_CONNECTED_LED",
      "$ALERT_LED"
    ],
    "I2cMaster": [
      "$I2cMaster2"
    ],
  ...
  },
  ...
}

Definice hardwaru

Je dostupný hardware Azure Sphere od různých dodavatelů, přičemž každý dodavatel může zpřístupnit funkce příslušného čipu různými způsoby. Aplikace Azure Sphere spravují závislosti hardwaru pomocí souborů definice hardwaru. Další informace najdete v článku věnovaném správě cílových závislostí hardwaru.

Cvičení pro tento výukový modul mají sadu definičních souborů hardwaru pro vývojové desky AVNET a SEEED Studio v Azure Sphere. Definiční soubor hardwaru azure_sphere_learning_path je součástí main.c pro každé cvičení.

#include "hw/azure_sphere_learning_path.h"

V následujícím cvičení se naučíte, jak deklarovat koncové body sítě.