GCP - Bigquery Enum
Temel Bilgiler
Google Cloud BigQuery, tamamen yönetilen, sunucusuz kurumsal veri ambarı olup, petabaytlarca veri üzerinde analiz imkanı sunarak büyük ölçekli veri kümelerini verimli bir şekilde işler. Platform olarak Hizmet (PaaS) olarak, kullanıcılara veri yönetimini kolaylaştırmak için altyapı ve araçlar sağlar, manuel denetim gerektirmez.
ANSI SQL kullanarak sorgulamayı destekler. Ana nesneler, tabloları içeren veri kümeleri olan veri tabanlarıdır.
Şifreleme
Varsayılan olarak Google tarafından yönetilen şifreleme anahtarı kullanılır, ancak Müşteri tarafından yönetilen şifreleme anahtarı (CMEK) yapılandırmak mümkündür. Bir veri kümesi ve veri kümesi içindeki bir tablo için şifreleme anahtarını belirtmek mümkündür.
Süresi Dolmuş
Veri kümesinde bir süresi dolmuş zaman belirtmek mümkündür, bu nedenle bu veri kümesinde oluşturulan her yeni tablo, oluşturulduktan belirtilen gün sayısı sonra otomatik olarak silinir.
Harici Kaynaklar
Bigquery, diğer Google hizmetleriyle derinlemesine entegredir. Verileri kovalardan, pub/sub, google drive, RDS veritabanlarından yüklemek mümkündür...
Veri Kümesi ACL'leri
Bir veri kümesi oluşturulduğunda, üzerinde erişim sağlamak için ACL'ler eklenir. Varsayılan olarak, veri kümesini oluşturan kullanıcı üzerinde Sahip ayrıcalıkları verilir ve ardından Proje Sahipleri grubuna (Projenin Sahipleri), Yazıcı grubuna Proje Yazarları, ve Okuyucu grubuna Proje Okuyucuları ayrıcalıkları verilir.
Tablo Satırlarının Erişimini Kontrol Etme
Birincil birinin bir tablo içinde erişebileceği satırları kontrol etmek mümkündür. Bu, satır erişim politikaları kullanılarak tablo içinde tanımlanır. Bunlar, DDL kullanılarak tablo içinde tanımlanır. Erişim politikası bir filtre tanımlar ve yalnızca o filtreye uyan satırlar belirtilen birincil tarafından erişilebilir olacaktır.
Sütun Erişim Kontrolü
Veri erişimini sütun düzeyinde kısıtlamak için şunları yapabilirsiniz:
Bir sınıflandırma ve politika etiketi tanımlayın. Verileriniz için bir sınıflandırma ve politika etiketi oluşturun ve yönetin. https://console.cloud.google.com/bigquery/policy-tags
İsteğe bağlı: Bir veya daha fazla ilkeye sahip Veri Kataloğu İnce Tanımlı Okuyucu rolünü oluşturduğunuz politika etiketlerinden bir veya daha fazlasına atayın.
BigQuery sütunlarına politika etiketleri atayın. BigQuery'de, erişimi kısıtlamak istediğiniz her sütuna bir politika etiketi atamak için şema açıklamalarını kullanın.
Sınıflandırmada erişim kontrolünü uygulayın. Erişim kontrolünü uygulamak, sınıflandırmadaki tüm politika etiketleri için tanımlanan erişim kısıtlamalarının uygulanmasını sağlar.
Politika etiketlerinde erişimi yönetin. Her politika etiketine erişimi kısıtlamak için Kimlik ve Erişim Yönetimi (IAM) politikalarını kullanın. Politika, politika etiketine ait her sütun için etkilidir.
Kullanıcı sorgu zamanında sütun verilerine erişmeye çalıştığında, BigQuery kullanıcının verilere erişim iznine sahip olup olmadığını kontrol etmek için sütun politika etiketini ve ilkesini kontrol eder.
Özetle, belirli kullanıcılara bazı sütunlara erişimi kısıtlamak için şemada sütuna bir etiket ekleyebilir ve kullanıcıların erişimini etikete kısıtlayabilirsiniz ve bu etiketin sınıflandırmasında erişim kontrolünü uygulayabilirsiniz.
Sınıflandırmada erişim kontrolünü uygulamak için hizmetin etkinleştirilmesi gerekmektedir:
Sütunların etiketlerini görmek mümkündür:
SQL Injection türleri:
Hata tabanlı - dönüştürme:
select CAST(@@project_id AS INT64)
Hata tabanlı - sıfıra bölme:
' OR if(1/(length((select('a')))-1)=1,true,false) OR '
Birleşim tabanlı (bigquery'de ALL kullanmanız gerekmektedir):
UNION ALL SELECT (SELECT @@project_id),1,1,1,1,1,1)) AS T1 GROUP BY column_name#
Boolean tabanlı:
' WHERE SUBSTRING((select column_name from `project_id.dataset_name.table_name` limit 1),1,1)='A'#
Potansiyel zaman tabanlı - Genel veri kümeleri kullanımı örneği:
SELECT * FROM `bigquery-public-data.covid19_open_data.covid19_open_data` LIMIT 1000
Belgeler:
Yetki Yükseltme ve Saldırı Sonrası İstismar
Kalıcılık
Referanslar
Last updated