Bu dokümanda, Fleet Engine sisteminizin üç birincil ortamı (arka uç sunucunuz, Fleet Engine sunucunuz ve istemci uygulamalarınız ile web siteleriniz) arasında bilgi alışverişinin nasıl güvenli bir şekilde yapıldığı açıklanmaktadır.
Fleet Engine, en az ayrıcalık ilkesini kullanarak güvenliği iki temel şekilde yönetir:
Uygulama Varsayılan Kimlik Bilgileri (ADC): Sunucudan sunucuya iletişim gibi yüksek ayrıcalıklı ortamlar için. Arka uç sunucunuz araç ve gezi oluşturup bunları Fleet Engine'da yönetirken kullanılır. Ayrıntılar için Uygulama Varsayılan Kimlik Bilgileri başlıklı makaleyi inceleyin.
JSON Web Jetonları (JWT): Akıllı telefonlarda ve tarayıcılarda çalışan istemci uygulamaları gibi güven düzeyi düşük ortamlar için. Fleet Engine'da araç konumunu güncelleme gibi daha düşük ayrıcalıklı işlemleri gerçekleştirmek için kullanılır.
Güven düzeyi düşük ortamların gerektirdiği JWT'ler, hizmet hesabı gizli anahtarlarını korumak için arka uç sunucunuz tarafından oluşturulur ve yayınlanır. Ayrıca Fleet Engine'e özgü ek iddialar içerir. Ayrıntılar için JSON Web Jetonları başlıklı makaleye bakın.
Örneğin, sürücü uygulamanız varsa sürücüler uygulama üzerinden Fleet Engine'daki verilere erişir. Uygulama, arka uç sunucunuzdan aldığı JWT'ler kullanılarak kimlik doğrulaması yapar. Hizmet hesabı rolüyle birlikte dahil edilen JWT iddiaları, sürücü uygulamasının sisteminizin hangi bölümlerine erişebileceğini ve neler yapabileceğini belirler. Bu yaklaşım, erişimi yalnızca sürüş görevlerini tamamlamak için gereken verilerle sınırlandırır.
Fleet Engine, aşağıdakileri sağlamak için bu güvenlik yaklaşımlarını kullanır:
Kimlik doğrulama, istekte bulunan tüzel kişinin kimliğini doğrular. Fleet Engine, yüksek güven ortamları için ADC'yi, düşük güven ortamları için JWT'yi kullanır.
Yetkilendirme, kimliği doğrulanmış bir öğenin hangi kaynaklara erişimi olduğunu belirtir. Fleet Engine, Google Cloud IAM rollerine sahip hizmet hesaplarının yanı sıra kimliği doğrulanmış öğelerin istedikleri verileri görme veya değiştirme izinlerine sahip olmasını sağlayan JWT iddialarını kullanır.
Sunucu ve istemci güvenlik ayarları
Fleet Engine ile güvenliği etkinleştirmek için arka uç sunucunuzda, istemci uygulamalarınızda ve web sitelerinizde gerekli hesapları ve güvenliği ayarlayın.
Aşağıdaki şemada, arka uç sunucunuzda ve istemci uygulamalarınızda güvenliği ayarlama adımlarına genel bir bakış sunulmaktadır.
Daha fazla bilgi için aşağıdaki bölümlere bakın.
Arka uç sunucu güvenlik ayarları
Filo yöneticisinin aşağıdaki adımları uygulaması gerekir:
Hizmet hesapları oluşturun ve yapılandırın:
Google Cloud Console'da hizmet hesapları oluşturun.
Hizmet hesaplarına belirli IAM rolleri atayın.
Arka uç sunucunuzu oluşturulan hizmet hesaplarıyla yapılandırın. Ayrıntılar için Hizmet hesabı rolleri başlıklı makaleyi inceleyin.
Fleet Engine (ADC) ile güvenli iletişimi yapılandırma: Arka uç sunucunuzu, uygun *Yönetici hizmet hesabıyla Uygulama Varsayılan Kimlik Bilgileri'ni kullanarak Fleet Engine örneğinizle iletişim kuracak şekilde yapılandırın. Ayrıntılı bilgi için Uygulama Varsayılan Kimlik Bilgileri başlıklı makaleyi inceleyin.
İstemci uygulamalarıyla güvenli iletişimi yapılandırma (JWT): İstemci uygulamaları ve web sitelerini izleme için uygun iddialar içeren JWT'ler oluşturmak üzere bir JSON Web Token oluşturucu oluşturun. Ayrıntılar için JSON Web Jetonu verme başlıklı makaleyi inceleyin.
Uygulama güvenliği kurulumu
Uygulama geliştiricilerin, istemci uygulamalarınıza veya web sitelerinize arka uç sunucunuz tarafından oluşturulan JSON web jetonlarını getirmenin bir yolunu eklemesi ve Fleet Engine ile güvenli bir şekilde iletişim kurmak için bunları kullanması gerekir. Ayrıntılı bilgi için ihtiyacınız olan uygulamaların Sürücü Deneyimi veya Tüketici Deneyimi dokümanlarında yer alan kurulum talimatlarına bakın.
Sunucu ve istemci uygulaması güvenlik akışı
Aşağıdaki ardışık düzen şemasında, arka uç sunucuda ADC'yi ve istemci uygulamalarında ve web sitelerinde JWT'leri kullanan Fleet Engine ile sunucu ve istemci uygulaması kimlik doğrulama ve yetkilendirme akışı gösterilmektedir.
Arka uç sunucunuz, Fleet Engine'da araç ve geziler ya da görevler oluşturur.
Arka uç sunucunuz bir araca yolculuk veya görev gönderir: Etkin durumdayken sürücü uygulaması, görevi alır.
Arka uç sunucunuz: Atanan görev veya gezi için ilgili hizmet hesabıyla ilişkili JWT'yi imzalar ve yayınlar.
İstemci uygulaması: İstemci uygulaması, araç konum güncellemelerini Fleet Engine'a göndermek için alınan JWT'yi kullanır.
Sırada ne var?
- Fleet Engine projenizi oluşturun.
- Sunucunuzdan JSON Web Jetonu nasıl yayınlayacağınızı öğrenin.
- Hizmet hesabı rolleri hakkında daha fazla bilgi edinin.
- JWTs hakkında daha fazla bilgi edinin.