La plate-forme de véhicule défini par logiciel (SDV) fournit un framework d'autorisation permettant aux OEM de contrôler l'accès à certaines ressources.
Android dispose d'un modèle d'autorisations dans lequel chaque application déclare ses propres autorisations dans le fichier manifeste pour décrire ses fonctionnalités. Le modèle d'autorisation SDV est similaire. Les offres de services SDV définissent des autorisations pour déclarer les actions qu'elles peuvent effectuer, telles que publier, s'abonner, diffuser et appeler.
Types d'autorisations
Les types d'autorisations suivants sont compatibles :
- Client
- Autorisé à appeler des méthodes sur une interface RPC, identifiée par le type de service et le canal.
- Serveur
- Autorisé à implémenter et à diffuser une interface RPC, identifiée par le type de service et le canal.
- Éditeur
- Autorisé à publier des messages dans un sujet de données, identifié par le type de message et le sujet.
- Abonné
- Autorisé à recevoir des messages d'un sujet de données, identifié par le type de message et le sujet.
Fichier de règles d'autorisation
Le fichier de règles d'autorisation est une source unique d'informations fiables pour la configuration d'autorisation de la pile de communication SDV pour une offre de services SDV.
Exemple
# 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"
}
Consultez la section Déploiement pour déterminer à quel service appartient un fichier de règles d'autorisation spécifique. Pour en savoir plus sur le schéma proto, consultez la section Règles d'autorisation.
Autorisations au niveau de la VM
Les autorisations au niveau de la VM définissent des règles d'autorisation pour la communication entre différentes VM du réseau maillé. Cela permet de renforcer la sécurité en cas de compromission d'une VM. Pour en savoir plus, consultez la section Autorisations au niveau de la VM.
Réseau maillé
L'architecture de découverte de services est configurée de sorte que toutes les règles d'autorisation soient partagées entre les VM du réseau maillé. Aucune intervention n'est requise de la part de l'utilisateur.
La découverte de services effectue une recherche dans le cache local pour découvrir les unités de service sur une VM distante. Toutes les règles d'autorisation sont partagées entre les VM pour vérifier si l'appelant de la découverte de services est autorisé pour les unités de service découvertes.
Chaque nœud du réseau maillé met en cache les règles d'autorisation de tous les autres nœuds. Lorsqu'un nouveau nœud est introduit, ses règles d'autorisation sont répliquées sur tous les autres nœuds. Si une connexion de nœud est perdue, par exemple lors d'un redémarrage ou d'un plantage, toutes les règles d'autorisation mises en cache à partir de ce nœud sont supprimées.