Übersicht

Die SDV-Plattform (Software-Defined Vehicle) bietet ein Autorisierungsframework, mit dem OEMs den Zugriff auf bestimmte Ressourcen steuern können.

Android verwendet ein Berechtigungsmodell, bei dem jede App ihre eigenen Berechtigungen in der Manifestdatei deklariert, um ihre Funktionen zu beschreiben. Das Autorisierungsmodell für SDV ist ähnlich. SDV-Dienstbündel definieren Berechtigungen, um die Aktionen zu deklarieren, die sie ausführen können, z. B. veröffentlichen, abonnieren, bereitstellen und aufrufen.

Berechtigungstypen

Die folgenden Berechtigungstypen werden unterstützt:

Kunde
Berechtigt, Methoden auf einer RPC-Schnittstelle aufzurufen, die durch Diensttyp und Channel identifiziert wird.
Server
Darf eine RPC-Schnittstelle implementieren und bereitstellen, die durch Diensttyp und Channel identifiziert wird.
Publisher
Berechtigung zum Veröffentlichen von Nachrichten in einem Datenthema, das durch Nachrichtentyp und Thema identifiziert wird.
Abonnent
Berechtigt, Nachrichten von einem Datenthema zu empfangen, das durch Nachrichtentyp und Thema identifiziert wird.

Datei der Autorisierungsrichtlinie

Die Autorisierungsrichtliniendatei ist die einzige zuverlässige Quelle für die Autorisierungskonfiguration des SDV-Kommunikationsstacks für ein SDV-Dienstbundle.

Beispiel

# Allows this SB to register publication of TireStatus type with "left-tire" topic only.
publisher {
  message: "com.sdv.TireStatus"
  topic: "left-tire"
}

# Allows this SB to subscribe to publication of TireStatus type with "left-tire" topic only.
subscriber {
  message: "com.sdv.TireStatus"
  topic: "left-tire"
}

# Allows this SB to implement and serve UserPreferencesManager service.
server {
  service: "com.sdv.UserPreferencesManager"
  channel: "default"
}

# Allows this SB to discover and call UserPreferencesManager service.
client {
  service: "com.sdv.UserPreferencesManager"
  channel: "default"
}

Unter Bereitstellung können Sie nachsehen, zu welchem Dienst eine bestimmte Autorisierungsrichtliniendatei gehört. Weitere Informationen zum Proto-Schema finden Sie unter Autorisierungsrichtlinie.

Berechtigungen auf VM-Ebene

Berechtigungen auf VM-Ebene definieren Autorisierungsrichtlinien für die Kommunikation zwischen verschiedenen VMs im Mesh-Netzwerk. So wird eine mehrschichtige Sicherheit geboten, falls eine VM kompromittiert wird. Weitere Informationen finden Sie unter Berechtigungen auf VM-Ebene.

Mesh-Netzwerk

Die Service Discovery-Architektur ist so eingerichtet, dass alle Autorisierungsrichtlinien für VMs im Mesh-Netzwerk freigegeben werden. Dabei ist kein Nutzereingriff erforderlich.

Service Discovery führt eine lokale Cache-Suche durch, um Dienst-Units auf einer Remote-VM zu ermitteln. Alle Autorisierungsrichtlinien werden zwischen VMs geteilt, um zu prüfen, ob der Service Discovery-Aufrufer für die ermittelten Dienst-Units autorisiert ist.

Jeder Knoten im Mesh-Netzwerk speichert Autorisierungsrichtlinien von allen anderen Knoten im Cache. Wenn ein neuer Knoten eingeführt wird, werden seine Autorisierungsrichtlinien auf alle anderen Knoten repliziert. Wenn eine Knotenverbindung verloren geht, z. B. während eines Neustarts oder Absturzes, werden alle im Cache gespeicherten Autorisierungsrichtlinien von diesem Knoten gelöscht.