Freigeben über


Authentifizierung und Autorisierung

Alle REST-API-Aufrufe, die für eine IoT Central-Anwendung ausgeführt werden, müssen einen Autorisierungsheader enthalten. Der Autorisierungsheader muss entweder ein API-Token oder ein AAD-Bearertoken enthalten. Diese Token werden von IoT Central verwendet, um zu bestimmen, wer der Aufrufer ist und worauf er innerhalb der Anwendung Zugriff hat.

API-Token

API-Token sind für die Dienst-zu-Dienst-Kommunikation ohne angemeldeten Benutzerkontext vorgesehen. Sie können ein API-Token in Ihrer Anwendung erstellen und ihr eine Rolle zuweisen, um Zugriff auf Ressourcen in Ihrer Anwendung zu gewähren.

So erstellen und verwenden Sie ein API-Token:

  1. Öffnen Sie Ihre IoT Central-Anwendung im Browser.

  2. Wechseln Sie zu Verwaltung/API-Token.

  3. Klicken Sie dann auf Token generieren. Sie werden aufgefordert, ihm einen Namen zu geben und eine Rolle auszuwählen. Die Rolle bestimmt, wofür ein Client, der dieses Token verwendet, in dieser Anwendung autorisiert ist.

  4. Generieren Sie das Token, und kopieren Sie den Wert. Der Wert ist ein Geheimnis und wird nur einmal angezeigt.

  5. Fügen Sie beim Erstellen einer API-Anforderung einen Header hinzu, der wie folgt aussieht:

    Headername Headerwert
    Authorization <API-Tokenwert>

Standardmäßig sind drei Rollen in Ihrer Anwendung verfügbar. Erfahren Sie mehr über das Erstellen neuer Rollen.

Sie können neue API-Token auch programmgesteuert erstellen. Um die API-Anforderung zum Erstellen eines neuen API-Tokens zu erstellen, benötigen Sie einen Autorisierungsheader, der ein API-Token oder einen Bearer mit Berechtigungen zum Erstellen neuer API-Token enthält. Weitere Informationen zu API-Tokenvorgängen finden Sie in der Dokumentation.

AAD-Bearertoken

Ein Bearertoken ist einem Azure Active Directory-Benutzerkonto zugeordnet, das Ihrer IoT Central-Anwendung hinzugefügt wurde. Sie können ein Bearertoken im Azure CLI-Befehl generieren: az account get-access-token --resource https://apps.azureiotcentral.com

Erstellen Sie eine API-Anforderung mit dem folgenden Header:

Headername Headerwert
Authorization Bearer-Bearertokenwert <>

Bei Verwendung eines Bearertokens in API-Anforderungen erhält der Aufrufer die gleiche Zugriffsebene wie der Azure Active Directory-Benutzer in der IoT Central-Anwendung.

Dienstprinzipalauthentifizierung

Um einen AAD-Dienstprinzipal für die Authentifizierung bei der API zu verwenden, müssen Sie zunächst den Dienstprinzipal erstellen. Sie müssen die Mandanten-ID und die Objekt-ID Ihres Dienstprinzipals abrufen:

  1. Navigieren Sie zu Azure-Portal –> Azure Active Directory –> Übersicht. Kopieren sie die tenantID.
  2. Navigieren Sie zu Unternehmensanwendungen ausführen. Erstellen Sie eine neue Anwendung, oder wählen Sie eine vorhandene Anwendung aus. Kopieren der objectID
  3. Navigieren Sie zu Azure-Portal –> Azure Active Directory –> App-Registrierungen –> Ihre App –> API-Berechtigungen. Klicken Sie auf Berechtigung hinzufügen–> APIs, die von meinem organization verwendet werden, und suchen Sie nach Microsoft IoT Central. Wählen Sie das Element aus, das genau mit diesem Text übereinstimmt.
  4. Wählen Sie die Berechtigungen user_impersonation und Application.ReadWrite.All aus, und fügen Sie sie hinzu.
  5. Wählen Sie Administratoreinwilligung für Ihr Verzeichnis erteilen aus.

Fügen Sie schließlich Ihren Dienstprinzipal ihrer IoT Central-Anwendung hinzu. Dies ist heute über die APIs möglich.

  1. Verwenden Sie die API Zum Erstellen von Benutzern, um diesen Dienstprinzipalbenutzer hinzuzufügen. Stellen Sie sicher, dass Sie beim Erstellen des neuen Benutzers { tenantID} und {objectID} verwenden.

Nun können Sie das Bearertoken verwenden, das diesem Dienstprinzipalbenutzer zugeordnet ist, um API-Anforderungen zu stellen, indem Sie die gleichen Schritte wie oben ausführen.

Nächste Schritte

Versuchen Sie, Ihre erste API-Anforderung zu erstellen.