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ş dosyaları paylaşan kullanıcılar tarafından kullanılan 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ını öğrenmek için kuruluşun Google Workspace yöneticisiyle iletişime geçin.
Verileri şifreleme
Bir Google Workspace kullanıcısı, istemci tarafı şifrelenmiş (İTŞ) verileri kaydetmek veya depolamak istediğinde Google Workspace, şifreleme için Anahtar Erişim Kontrol Listesi Hizmeti (KACLS) uç nokta URL'nize bir wrap
isteği gönderir.
Çevre ve JWT talebine dayalı kontroller gibi isteğe bağlı güvenlik kontrollerine ek olarak KACLS'niz aşağıdaki adımları uygulamalıdır:
İstek gönderen kullanıcıyı doğrulayın.
- Hem kimlik doğrulama jetonunu hem de yetkilendirme jetonunu doğrulayın.
- E-posta taleplerinde büyük/küçük harfe duyarsız bir eşleşme yaparak yetkilendirme ve kimlik doğrulama jetonlarının aynı kullanıcıya ait olduğunu kontrol edin.
- Kimlik doğrulama jetonu isteğe bağlı
google_email
talebini içerdiğinde, büyük/küçük harfe duyarsız bir yaklaşımla yetkilendirme jetonundaki e-posta talebiyle karşılaştırılması gerekir. Bu karşılaştırma için kimlik doğrulama jetonundaki e-posta talebini kullanmayın. - Kimlik doğrulama jetonunda isteğe bağlı
google_email
talebinin olmadığı senaryolarda, kimlik doğrulama jetonundaki e-posta talebi, büyük/küçük harfe duyarsız bir yöntem kullanılarak yetkilendirme jetonundaki e-posta talebiyle karşılaştırılmalıdır. - Google'ın, bir Google Hesabı ile ilişkilendirilmemiş bir e-posta için yetkilendirme jetonu verdiği senaryolarda
email_type
talebi bulunmalıdır. Bu, konuk erişimi özelliğinin önemli bir parçasını oluşturur ve KACL'lerin harici kullanıcılara ek güvenlik önlemleri uygulaması için değerli bilgiler sağlar.- 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'siyle kısıtlamak için kullanılır.
- Kimlik doğrulama jetonunda ek taleplerde bulunmak için.
- Bir müşteri Misafir Erişimini yapılandırmadıysa
email_type
değeriningoogle-visitor
veyacustomer-idp
olarak ayarlandığı tüm istekler reddedilebilir.email_type
değerigoogle
olan veyaemail_type
değeri ayarlanmamış istekler kabul edilmeye devam etmelidir.
- Kimlik doğrulama jetonu isteğe bağlı
delegated_to
talebini içerdiğinderesource_name
talebini de içermesi gerekir ve bu iki talep, yetkilendirme jetonundakidelegated_to
veresource_name
talepleriyle karşılaştırılmalıdır.delegated_to
talepleri büyük/küçük harfe duyarsız bir yaklaşımla karşılaştırılmalı ve jetonlardakiresource_name
, işleminresource_name
ile eşleşmelidir. - Yetkilendirme jetonundaki
role
talebininwriter
veyaupgrader
olduğunu kontrol edin. - Yetkilendirme jetonundaki
kacls_url
talebinin, mevcut KACLS URL'siyle eşleştiğinden emin olun. Bu kontrol, kuruluş içinden kişiler veya kötü niyetli alan yöneticileri tarafından yapılandırılan olası araya girme saldırısı sunucularının tespit edilmesine olanak tanır. - Hem kimlik doğrulama hem de yetkilendirme taleplerini kullanarak bir çevre kontrolü gerçekleştirin.
Aşağıdaki bölümleri kimliği doğrulanmış bir şifreleme algoritması kullanarak şifreleyin:
- Veri Şifreleme Anahtarı (DEK)
- Yetkilendirme jetonundaki
resource_name
veperimeter_id
değerleri - Diğer hassas veriler
İşlemi, işlemi başlatan kullanıcı,
resource_name
ve istekte iletilen neden de dahil olmak üzere günlüğe kaydedin.Şifrelenmiş nesneyle birlikte Google Workspace tarafından depolanacak ve sonraki anahtar sarmalama açma işlemlerinde olduğu gibi gönderilecek opak bir ikili nesne döndürür. Alternatif olarak, yapılandırılmış bir hata yanıtı da sunabilirsiniz.
- İkili nesne, şifrelenmiş DEK'nin tek kopyasını içermelidir. Uygulamaya özgü veriler burada depolanabilir.
Verilerin şifresini çözme
Bir Google Workspace kullanıcısı, istemci tarafı şifrelemeli (İTŞ) verileri açmayı istediğinde Google Workspace, şifre çözme işlemi için KACLS uç nokta URL'nize bir unwrap
isteği gönderir. Çevre ve JWT talebine dayalı kontroller gibi isteğe bağlı güvenlik kontrollerine ek olarak, KACLS'niz aşağıdaki adımları uygulamalıdır:
İstek gönderen kullanıcıyı doğrulayın.
- Hem kimlik doğrulama jetonunu hem de yetkilendirme jetonunu doğrulayın.
- E-posta taleplerinde büyük/küçük harfe duyarsız bir eşleşme yaparak yetkilendirme ve kimlik doğrulama jetonlarının aynı kullanıcıya ait olduğunu kontrol edin.
- Kimlik doğrulama jetonu isteğe bağlı
google_email
talebini içerdiğinde, büyük/küçük harfe duyarsız bir yaklaşımla yetkilendirme jetonundaki e-posta talebiyle karşılaştırılması gerekir. Bu karşılaştırma için kimlik doğrulama jetonundaki e-posta talebini kullanmayın. - Kimlik doğrulama jetonunda isteğe bağlı
google_email
talebinin olmadığı senaryolarda, kimlik doğrulama jetonundaki e-posta talebi, büyük/küçük harfe duyarsız bir yöntem kullanılarak yetkilendirme jetonundaki e-posta talebiyle karşılaştırılmalıdır. - Google'ın, bir Google Hesabı ile ilişkilendirilmemiş bir e-posta için yetkilendirme jetonu verdiği senaryolarda
email_type
talebi bulunmalıdır. Bu, konuk erişimi özelliğinin önemli bir parçasını oluşturur ve KACL'lerin harici kullanıcılara ek güvenlik önlemleri uygulaması için değerli bilgiler sağlar.- 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'siyle kısıtlamak için kullanılır.
- Kimlik doğrulama jetonunda ek taleplerde bulunmak için.
- Bir müşteri Misafir Erişimini yapılandırmadıysa
email_type
değeriningoogle-visitor
veyacustomer-idp
olarak ayarlandığı tüm istekler reddedilebilir.email_type
değerigoogle
olan veyaemail_type
değeri ayarlanmamış istekler kabul edilmeye devam etmelidir.
- Kimlik doğrulama jetonu isteğe bağlı
delegated_to
talebini içerdiğinderesource_name
talebini de içermesi gerekir ve bu iki talep, yetkilendirme jetonundakidelegated_to
veresource_name
talepleriyle karşılaştırılmalıdır.delegated_to
talepleri büyük/küçük harfe duyarsız bir yaklaşımla karşılaştırılmalı ve jetonlardakiresource_name
, işleminresource_name
ile eşleşmelidir. - Yetkilendirme jetonundaki
role
talebininreader
veyawriter
olduğunu kontrol edin. - Yetkilendirme jetonundaki
kacls_url
talebinin, mevcut KACLS URL'siyle eşleştiğinden emin olun. Bu sayede, kuruluş içinden kişiler veya kötü niyetli alan yöneticileri tarafından yapılandırılan olası ortadaki adam sunucuları tespit edilebilir.
Aşağıdaki bölümleri kimliği doğrulanmış bir şifreleme algoritması kullanarak şifrelerini çözün:
- 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 taleplerini kullanarak bir çevre kontrolü gerçekleştirin.
İşlemi, işlemi başlatan kullanıcı,
resource_name
ve istekte iletilen neden de dahil olmak üzere günlüğe kaydedin.Sarmalanması kaldırılan DEK'yi veya bir yapılandırılmış hata yanıtı döndürün.