A plataforma de veículo definido por software (SDV, na sigla em inglês) fornece um framework de autorização para permitir que o OEM controle o acesso a alguns recursos.
O Android tem um modelo de permissões em que cada app declara as próprias permissões no arquivo de manifesto para descrever os recursos. O modelo de autorização do SDV é semelhante. Os pacotes de serviços do SDV definem permissões para declarar as ações que podem realizar, como publicar, assinar, veicular e chamar.
Tipos de permissão
Os seguintes tipos de permissão são aceitos:
- Cliente
- Autorizado a chamar métodos em uma interface RPC, identificada por tipo de serviço e canal.
- Servidor
- Autorizado a implementar e veicular uma interface RPC, identificada por tipo de serviço e canal.
- Editor
- Autorização para publicar mensagens em um tópico de dados, identificado pelo tipo de mensagem e pelo tópico.
- Assinante
- Autorizado a receber mensagens de um tópico de dados, identificado por tipo de mensagem e tópico.
Arquivo de política de autorização
O arquivo de política de autorização é uma única fonte de verdade para a configuração de autorização da pilha de comunicações do SDV para um pacote de serviços do SDV.
Exemplo
# 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"
}
Consulte Implantação para determinar a qual serviço um arquivo de política de autorização específico pertence. Para mais informações sobre o esquema proto, consulte Política de autorização.
Permissões no nível da VM
As permissões no nível da VM definem políticas de autorização para a comunicação entre diferentes VMs na rede de malha. Isso oferece segurança por defesa em profundidade caso uma VM seja comprometida. Para mais informações, consulte Permissões no nível da VM.
Rede mesh
A arquitetura do Service Discovery é configurada para que todas as políticas de autorização sejam compartilhadas entre as VMs na rede de malha. Nenhuma intervenção do usuário é necessária.
O Service Discovery faz uma pesquisa de cache local para descobrir unidades de serviço em uma VM remota. Todas as políticas de autorização são compartilhadas entre as VMs para verificar se o caller do Service Discovery está autorizado para as unidades de serviço descobertas.
Cada nó na rede mesh armazena em cache as políticas de autorização de todos os outros nós. Quando um novo nó é introduzido, as políticas de autorização dele são replicadas para todos os outros nós. Se uma conexão de nó for perdida, como durante uma reinicialização ou falha, todas as políticas de autorização em cache desse nó serão excluídas.