Bu kılavuzda, Google Workspace Client-side Encryption API kullanılarak şifreleme ve şifre çözme işlemlerinin nasıl çalıştığı açıklanmaktadır.
Şifrelenmiş dosya paylaşan kullanıcıların kullandığı tüm kimlik sağlayıcı (IdP) hizmetlerini izin verilenler listesine eklemeniz gerekir. Gerekli IdP ayrıntılarını genellikle kuruluşun herkese açık .well-known dosyasında bulabilirsiniz. Aksi takdirde, IdP ayrıntıları için kuruluşun Google Workspace yöneticisiyle iletişime geçin.
Verileri şifreleme
Bir Google Workspace kullanıcısı, istemci tarafında şifrelenmiş (İTŞ) verileri kaydetmeyi veya saklamayı istediğinde Google Workspace, şifreleme için KACLS uç noktası URL'nize bir wrap
isteği gönderir. KACLS'niz, çevre ve JWT iddia tabanlı kontroller gibi isteğe bağlı güvenlik kontrollerinin yanı sıra aşağıdaki adımları da gerçekleştirmelidir:
İstekte bulunan kullanıcıyı doğrulayın.
- Hem kimlik doğrulama jetonunu hem de yetkilendirme jetonunu doğrulayın.
- E-posta iddialarında büyük/küçük harf duyarlı olmayan bir eşleşme yaparak yetkilendirme ve kimlik doğrulama jetonlarının aynı kullanıcıya ait olup olmadığını kontrol edin.
- Kimlik doğrulama jetonu isteğe bağlı
google_email
hak talebini içeriyorsa büyük/küçük harf duyarlı olmayan bir yaklaşım kullanılarak yetkilendirme jetonundaki e-posta hak talebiyle karşılaştırılmalıdır. Bu karşılaştırma için kimlik doğrulama jetonundaki e-posta hak talebini kullanmayın. - Kimlik doğrulama jetonunda isteğe bağlı
google_email
hak talebinin bulunmadığı senaryolarda, kimlik doğrulama jetonundaki e-posta hak talebi, büyük/küçük harf duyarlı olmayan bir yöntem kullanılarak yetkilendirme jetonundaki e-posta hak talebiyle karşılaştırılmalıdır. - Google'ın bir Google Hesabı ile ilişkili olmayan bir e-posta için yetkilendirme jetonu yayınladığı senaryolarda
email_type
hak talebinin mevcut olması gerekir. Bu, konuk erişimi özelliğinin önemli bir parçasıdır ve KACL'lerin harici kullanıcılara ek güvenlik önlemleri uygulamak için değerli bilgiler sağlamasına olanak tanır.- KACLS'nin bu bilgileri nasıl kullanabileceğine dair bazı örnekler:
- Ek günlük kaydı koşulları uygulamak için.
- Kimlik doğrulama jetonu yayıncısını özel bir misafir IdP ile kısıtlamak için.
- Kimlik doğrulama jetonunda ek iddialar gerektirmek için.
- Bir müşteri Misafir Erişimi'ni yapılandırmazsa
email_type
'ningoogle-visitor
veyacustomer-idp
olarak ayarlandığı tüm istekler reddedilebilir.email_type
değerigoogle
olan veyaemail_type
değeri ayarlanmamış olan istekler kabul edilmeye devam edecektir.
- Yetkilendirme jetonundaki
role
iddiasının "writer" veya "upgrader" olduğunu kontrol edin. - Yetkilendirme jetonundaki
kacls_url
iddiasının geçerli KACLS URL'siyle eşleştiğinden emin olun. Bu kontrol, şirket içinden kişiler veya kötü amaçlı alan yöneticileri tarafından yapılandırılan olası ortadaki adam sunucularının tespit edilmesine olanak tanır. - Hem kimlik doğrulama hem de yetkilendirme iddialarını kullanarak çevre denetimi yapın.
Aşağıdaki bölümleri kimlik doğrulaması yapılmış bir şifreleme algoritması kullanarak şifreleyin:
- Veri Şifreleme Anahtarı (DEK)
- Yetkilendirme jetonundaki
resource_name
veperimeter_id
değerleri - Diğer hassas veriler
İşlemi, başlatan kullanıcı,
resource_name
ve istekte iletilen neden dahil olmak üzere günlüğe kaydedin.Şifrelenmiş nesnenin yanında Google Workspace tarafından depolanacak ve sonraki tüm anahtar açma işlemlerinde olduğu gibi gönderilecek opak bir ikili nesne döndürün. Dilerseniz yapılandırılmış bir hata yanıtı da gönderebilirsiniz.
- İkili nesne, şifrelenmiş DEK'nin tek kopyasını içermelidir. Bu nesne, uygulamaya özgü verileri saklayabilir.
Verilerin şifresini çözme
Bir Google Workspace kullanıcısı istemci tarafı şifrelenmiş (İTŞ) verileri açmak istediğinde Google Workspace, şifre çözme işlemi için KACLS uç noktası URL'nize bir unwrap
isteği gönderir. KACLS'niz, çevre ve JWT iddia tabanlı kontroller gibi isteğe bağlı güvenlik kontrollerinin yanı sıra aşağıdaki adımları da gerçekleştirmelidir:
İstekte bulunan kullanıcıyı doğrulayın.
- Hem kimlik doğrulama jetonunu hem de yetkilendirme jetonunu doğrulayın.
- E-posta iddialarında büyük/küçük harf duyarlı olmayan bir eşleşme yaparak yetkilendirme ve kimlik doğrulama jetonlarının aynı kullanıcıya ait olup olmadığını kontrol edin.
- Kimlik doğrulama jetonu isteğe bağlı
google_email
hak talebini içeriyorsa büyük/küçük harf duyarlı olmayan bir yaklaşım kullanılarak yetkilendirme jetonundaki e-posta hak talebiyle karşılaştırılmalıdır. Bu karşılaştırma için kimlik doğrulama jetonundaki e-posta hak talebini kullanmayın. - Kimlik doğrulama jetonunda isteğe bağlı
google_email
hak talebinin bulunmadığı senaryolarda, kimlik doğrulama jetonundaki e-posta hak talebi, büyük/küçük harf duyarlı olmayan bir yöntem kullanılarak yetkilendirme jetonundaki e-posta hak talebiyle karşılaştırılmalıdır. - Google'ın bir Google Hesabı ile ilişkili olmayan bir e-posta için yetkilendirme jetonu yayınladığı senaryolarda
email_type
hak talebinin mevcut olması gerekir. Bu, konuk erişimi özelliğinin önemli bir parçasıdır ve KACL'lerin harici kullanıcılara ek güvenlik önlemleri uygulamak için değerli bilgiler sağlamasına olanak tanır.- KACLS'nin bu bilgileri nasıl kullanabileceğine dair bazı örnekler:
- Ek günlük kaydı koşulları uygulamak için.
- Kimlik doğrulama jetonu yayıncısını özel bir misafir IdP ile kısıtlamak için.
- Kimlik doğrulama jetonunda ek iddialar gerektirmek için.
- Bir müşteri Misafir Erişimi'ni yapılandırmadıysa
email_type
'ningoogle-visitor
veyacustomer-idp
olarak ayarlandığı tüm istekler reddedilebilir.email_type
değerigoogle
olan veyaemail_type
değeri ayarlanmamış olan istekler kabul edilmeye devam edecektir.
- Yetkilendirme jetonundaki
role
iddiasının "reader" veya "writer" olduğunu kontrol edin. - Yetkilendirme jetonundaki
kacls_url
iddiasının geçerli KACLS URL'siyle eşleştiğinden emin olun. Bu sayede, şirket içinden kişiler veya kötü amaçlı alan yöneticileri tarafından yapılandırılan olası ortadaki adam sunucuları tespit edilebilir.
Kimlik doğrulaması yapılmış bir şifreleme algoritması kullanarak aşağıdaki bölümlerin şifresini çözme:
- Veri Şifreleme Anahtarı (DEK)
- Yetkilendirme jetonundaki
resource_name
veperimeter_id
değerleri - Diğer hassas veriler
Yetkilendirme jetonundaki ve şifresi çözülmüş blob'daki
resource_name
değerinin eşleştiğinden emin olun.Hem kimlik doğrulama hem de yetkilendirme hak taleplerini kullanarak çevre denetimi yapın.
İşlemi, başlatan kullanıcı,
resource_name
ve istekte iletilen neden dahil olmak üzere günlüğe kaydedin.Sarmalanması kaldırılan DEK'yi veya yapılandırılmış bir hata yanıtını döndürün.