Omówienie autoryzacji komunikacji SDV

Platforma pojazdów programowalnych (SDV) udostępnia platformę autoryzacji, która umożliwia producentom OEM kontrolowanie dostępu do niektórych zasobów.

Android ma model uprawnień, w którym każda aplikacja deklaruje własne uprawnienia w pliku manifestu, aby opisać swoje możliwości. Model autoryzacji SDV jest podobny. Pakiety usług SDV definiują uprawnienia do deklarowania działań, które mogą wykonywać, takich jak publikowanie, subskrybowanie, wyświetlanie i wywoływanie.

Typy uprawnień

Obsługiwane są te typy uprawnień:

Klient
Uprawnienia do wywoływania metod w interfejsie RPC, identyfikowane przez typ usługi i kanał.
Serwer
Upoważniony do wdrażania i obsługi interfejsu RPC, identyfikowanego przez typ usługi i kanał.
Wydawca
Upoważniony do publikowania wiadomości w temacie danych, identyfikowany przez typ wiadomości i temat.
Subskrybent
Upoważniony do otrzymywania wiadomości z tematu danych, identyfikowanych przez typ wiadomości i temat.

Plik zasady autoryzacji

Plik zasad autoryzacji jest jedynym źródłem wiarygodnych danych dotyczących konfiguracji autoryzacji stosu komunikacyjnego SDV dla pakietu usług SDV.

Przykład

# 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"
}

Aby dowiedzieć się, do której usługi należy dany plik zasad autoryzacji, zapoznaj się z sekcją Wdrażanie. Więcej informacji o schemacie proto znajdziesz w artykule Zasady autoryzacji. Aby dowiedzieć się, jak egzekwowane są zasady i jak sprawdzać logi kontrolne, gdy nie uda się sprawdzić uprawnień, zobacz Egzekwowanie i Debugowanie naruszeń uprawnień.

Uprawnienia na poziomie maszyny wirtualnej

Uprawnienia na poziomie maszyny wirtualnej definiują zasady autoryzacji komunikacji między różnymi maszynami wirtualnymi w sieci typu mesh. Zapewnia to dogłębną obronę na wypadek, gdyby jedna maszyna wirtualna została przejęta. Więcej informacji znajdziesz w artykule Uprawnienia na poziomie maszyny wirtualnej.

Sieć typu mesh

Architektura wykrywania usług jest skonfigurowana tak, aby wszystkie zasady autoryzacji były udostępniane maszynom wirtualnym w sieci typu mesh. Nie wymaga to żadnych działań ze strony użytkownika.

Wykrywanie usług wyszukuje jednostki usług na zdalnej maszynie wirtualnej w lokalnej pamięci podręcznej. Wszystkie zasady autoryzacji są udostępniane maszynom wirtualnym, aby sprawdzić, czy element wywołujący wykrywanie usług jest autoryzowany do korzystania z wykrytych jednostek usługi.

Każdy węzeł w sieci typu mesh przechowuje w pamięci podręcznej zasady autoryzacji ze wszystkich innych węzłów. Po wprowadzeniu nowego węzła jego zasady autoryzacji są replikowane do wszystkich pozostałych węzłów. Jeśli połączenie z węzłem zostanie utracone, na przykład podczas ponownego uruchamiania lub awarii, wszystkie zasady autoryzacji z tego węzła zapisane w pamięci podręcznej zostaną usunięte. Wskazówki dotyczące umieszczania list kontroli dostępu (ACL) typu jednostki na wielu maszynach wirtualnych i unikania konfliktów zasad, gdy węzeł się rozłączy, znajdziesz w artykule na temat list kontroli dostępu typu jednostki.