概览

软件定义汽车 (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 架构,请参阅 授权政策

虚拟机级权限

虚拟机级权限定义了网状网络中不同虚拟机之间通信的授权政策。这样一来,即使某个虚拟机遭到入侵,也能提供纵深防御安全性。如需了解详情,请参阅虚拟机级权限

网状网络

服务发现架构的设置方式是,所有授权政策都在网状网络中的虚拟机之间共享。这个过程无需用户干预。

服务发现会执行本地缓存查询,以发现远程虚拟机上的服务单元。所有授权政策都在虚拟机之间共享,以检查服务发现调用方是否有权访问发现的服务单元。

网状网络中的每个节点都会缓存来自所有其他节点的授权政策。引入新节点时,其授权政策会复制到每个其他节点。如果节点连接丢失(例如在重启或崩溃期间),则来自该节点的所有缓存授权政策都会被删除。