软件定义汽车 (SDV) 平台提供了一个授权框架,允许原始设备制造商控制对某些资源的访问权限。
Android 具有权限模型,每个应用都会在清单文件中声明自己的权限,以描述其功能。SDV 授权模型与之类似。SDV 服务软件包定义了权限,以声明 它们可以执行的操作,例如发布、订阅、提供服务和调用。
权限类型
系统支持以下权限类型:
- 客户端
- 有权调用 RPC 接口上的方法,由服务类型和通道标识。
- 服务器
- 有权实现和提供 RPC 接口,由服务类型和通道标识。
- 发布者
- 有权将消息发布到数据主题,由消息类型和主题标识。
- 订阅者
- 有权接收来自数据主题的消息,由消息类型和主题标识。
授权政策文件
授权政策文件是 SDV 服务软件包的 SDV 通信堆栈授权配置的单一可信来源。
示例
# 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"
}
如需确定特定授权 政策文件所属的服务,请参阅部署。如需详细了解 proto 架构,请参阅 授权政策。
虚拟机级权限
虚拟机级权限定义了网状网络中不同虚拟机之间通信的授权政策。这样一来,即使某个虚拟机遭到入侵,也能提供纵深防御安全性。如需了解详情,请参阅虚拟机级权限。
网状网络
服务发现架构的设置方式是,所有授权政策都在网状网络中的虚拟机之间共享。这个过程无需用户干预。
服务发现会执行本地缓存查询,以发现远程虚拟机上的服务单元。所有授权政策都在虚拟机之间共享,以检查服务发现调用方是否有权访问发现的服务单元。
网状网络中的每个节点都会缓存来自所有其他节点的授权政策。引入新节点时,其授权政策会复制到每个其他节点。如果节点连接丢失(例如在重启或崩溃期间),则来自该节点的所有缓存授权政策都会被删除。