Deployment file kebijakan otorisasi menentukan lokasi penyimpanan yang ditetapkan untuk file kebijakan khusus untuk setiap layanan kendaraan software-defined (SDV). Mekanisme deployment bervariasi antara platform inti SDV dan SDV IVI.
Platform inti SDV
Platform inti SDV menggunakan file APEX untuk memaketkan bundle layanan dan konfigurasi bundle layanan. Komponen pendaftaran paket layanan mengambil kebijakan otorisasi untuk paket layanan SDV yang disimpan di APEX.
APEX adalah paket bertanda tangan dengan nama unik yang disebut nama paket. Setiap APEX dapat berisi beberapa paket layanan. Setiap paket layanan memiliki metadata yang dideklarasikan dalam file manifes di APEX.
Metadata paket layanan memiliki jalur ke file kebijakan otorisasi, yang harus berada dalam APEX yang sama.
Deploy kebijakan otorisasi untuk layanan SDV dengan identitas
{sdv-vm-name}:{package.name}.{ServiceBundle}.{instance-name} di SDV sebagai
berikut:
- Letakkan file kebijakan otorisasi di APEX
package.name. - Perbarui entri
ServiceBundledalam file manifes paket layanan di APEXpackage.namedengan menambahkan jalur kebijakan otorisasi yang sesuai ke dalam kolomauthorization_policy_path. - Deploy
package.nameAPEX ke VMsdv-vm-name.
Contoh
(apex_root) sdv_service_bundles_manifest.textproto
sdv_service_bundle_metadata {
name: "SampleRpcServer"
version_number: 0
version_name: "0.1 Alpha"
native_library_path: "lib64/libsdv_sample_rpc.so"
# Path to the authorization policy file.
# Warning: Must be a relative path to the APEX root directory.
authorization_policy_path: "etc/authz/sample_rpc/permissions.textproto"
}
Tempatkan file kebijakan otorisasi di
etc/authz/sample_rpc/permissions.textproto dalam APEX yang sama dengan
sdv_service_bundles_manifest.textproto.
Platform IVI SDV
Ada perbedaan tertentu antara platform IVI SDV dan penerapan inti SDV. Di platform IVI SDV:
- Tidak ada pendaftaran paket layanan.
- Aplikasi berbasis Java dan dikirimkan dalam APK.
- Agen tidak ada di APEX.
Karena faktor-faktor ini, deployment di platform SDV berbeda.
Deploy kebijakan otorisasi untuk layanan SDV dengan identitas
{ivi-vm-name}:{package.name}.{ServiceBundle}/{instance-name} di SDV IVI sebagai
berikut:
- Tentukan jalur kebijakan otorisasi sesuai dengan pola
{policy-dir}/{package.name}/{ServiceBundle}.textproto.- Dengan
policy-diradalah salah satu dari berikut ini:/product/etc/sdv_authz_policies/system/etc/sdv_authz_policies/system_ext/etc/sdv_authz_policies/vendor/etc/sdv_authz_policies
- Misalnya,
/vendor/etc/sdv_authz_policies/com.sdv.pkg/WindowManager.textprotoadalah jalur kebijakan otorisasi yang valid.
- Dengan
- Masukkan kebijakan otorisasi di jalur kebijakan otorisasi pada VM
ivi-vm-name.
Dukungan pengujian dan agen
Agen SDV memiliki deployment kebijakan otorisasi yang sama di SDV core dan SDV IVI. Jika agen tidak memiliki APEX, kebijakan otorisasi yang sesuai harus berada di APEX khusus konfigurasi pendamping.
Contoh
(apex_root) sdv_service_bundles_manifest.textproto
sdv_service_bundle_metadata {
# Should match the bundle name in the FQIN registered by the SOME/IP broker agent
name: "SomeIpBroker"
# Version number of the config APEX
version_number: 1
# Version name of the config APEX
version_name: "1"
# Reference the manifest itself to mark the metadata as a config-only
# declaration.
native_library_path: "etc/sdv_service_bundles_manifest.textproto"
# Path to the authorization policy file for SOME/IP broker.
authorization_policy_path: "etc/config/access_control/someip_authz_policy.textproto"
}
Kebijakan otorisasi tingkat VM
Letakkan kebijakan tingkat VM di APEX dengan nama paket com.oem.sdv.authz. Gunakan file khusus dengan nama <vm_name>.textproto yang sesuai.
Jika <vm_name>.textproto yang sesuai tidak ada, framework
otorisasi juga akan mencari file .default.textproto di APEX yang sama.
Alasan
.default.textproto diperkenalkan karena dua alasan:
- Penyiapan yang disederhanakan: Untuk beberapa OEM, mungkin cukup untuk menetapkan
default.textprotountuk semua VM SDV, dan hanya memberikan<vm-name>.textprotokhusus untuk VM IVI. - Kemampuan update: Jika VM baru muncul setelah update kendaraan,
default.textprotoyang wajar mungkin cukup untuk menghindari update semua VM.
Logika resolusi
Saat memeriksa izin untuk subjek dari VM yang disebut <vm-name>, framework otorisasi mencari kebijakan dalam urutan berikut:
<vm-name>.textproto: Jika ada, lakukan pemeriksaan berdasarkan<vm-name>.textproto. Jika tidak ada, kembali ke file default..default.textproto: Jika ada, lakukan pemeriksaan berdasarkan.default.textproto. Jika tidak ada, tolak akses.
Tentukan modul Soong dengan izin tingkat VM
Modul harus berupa APEX dengan nama paket com.oem.sdv.authz.
Tambahkan nilai ke file .mk:
SDV_VM_LEVEL_PERMISSIONS_MODULE := {soong.module.name}