Yazılım tanımlı araç (SDV) platformu, OEM'lerin bazı kaynaklara erişimi kontrol etmesine olanak tanıyan bir yetkilendirme çerçevesi sağlar.
Android'de, her uygulamanın kendi özelliklerini açıklamak için manifest dosyasında kendi izinlerini beyan ettiği bir izin modeli vardır. SDV yetkilendirme modeli de benzerdir. SDV hizmet paketleri, gerçekleştirebilecekleri işlemleri (ör. yayınlama, abone olma, sunma ve arama) beyan etmek için izinleri tanımlar.
İzin türleri
Aşağıdaki izin türleri desteklenir:
- Müşteri
- Hizmet türü ve kanala göre tanımlanan bir RPC arayüzünde yöntemleri çağırma yetkisi vardır.
- Sunucu
- Hizmet türü ve kanalıyla tanımlanan bir RPC arayüzünü uygulamaya ve sunmaya yetkilidir.
- Yayıncı
- Mesaj türü ve konuyla tanımlanan bir veri konusuna mesaj yayınlama yetkisi vardır.
- Abone
- Mesaj türü ve konuyla tanımlanan bir veri konusundan mesaj alma yetkisi vardır.
Yetkilendirme politikası dosyası
Yetkilendirme politikası dosyası, SDV hizmet paketi için SDV iletişim yığını yetkilendirme yapılandırmasının tek doğruluk kaynağıdır.
Örnek
# 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"
}
Belirli bir yetkilendirme politikası dosyasının hangi hizmete ait olduğunu belirlemek için Dağıtım bölümüne bakın. Proto şeması hakkında daha fazla bilgi için Yetkilendirme politikası başlıklı makaleyi inceleyin. Politikaların nasıl uygulandığını ve izin kontrolü başarısız olduğunda denetleme günlüklerinin nasıl inceleneceğini öğrenmek için Zorunlu kılma ve İzin ihlallerinde hata ayıklama başlıklı makaleleri inceleyin.
Sanal makine düzeyinde izinler
Sanal makine düzeyindeki izinler, bağlantılı ağdaki farklı sanal makineler arasındaki iletişim için yetkilendirme politikalarını tanımlar. Bu sayede, bir sanal makinenin güvenliği ihlal edilirse derinlemesine savunma güvenliği sağlanır. Daha fazla bilgi için Sanal makine düzeyinde izinler bölümüne bakın.
Bağlantılı ağ
Hizmet keşfi mimarisi, tüm yetkilendirme politikaları bağlantılı ağdaki sanal makineler arasında paylaşılacak şekilde ayarlanmıştır. Kullanıcı müdahalesi gerekmez.
Hizmet keşfi, uzak bir sanal makinedeki hizmet birimlerini keşfetmek için yerel önbellek araması yapar. Hizmet keşfi çağrısının, keşfedilen hizmet birimleri için yetkilendirilip yetkilendirilmediğini kontrol etmek amacıyla tüm yetkilendirme politikaları sanal makineler arasında paylaşılır.
Bağlantılı ağdaki her düğüm, diğer tüm düğümlerden gelen yetkilendirme politikalarını önbelleğe alır. Yeni bir düğüm eklendiğinde yetkilendirme politikaları diğer tüm düğümlere kopyalanır. Yeniden başlatma veya kilitlenme gibi bir durumda düğüm bağlantısı kesilirse bu düğümdeki tüm önbelleğe alınmış yetkilendirme politikaları silinir. Birim türü erişim denetim listelerini (EKL'ler) birden fazla sanal makineye yerleştirme ve bir düğümün bağlantısı kesildiğinde politika çakışmalarını önleme hakkında bilgi edinmek için Birim türü EKL'leri başlıklı makaleyi inceleyin.