VPC Hizmet Kontrolleri

VPC Hizmet Kontrolleri, kuruluşların veri hırsızlığı risklerini azaltmak için Google Cloud kaynaklarının etrafında bir sınır tanımlamasına olanak tanır. VPC Hizmet Kontrolleri ile açıkça belirttiğiniz hizmetlerin kaynaklarını ve verilerini koruyan alanlar oluşturursunuz.

Paketlenmiş Cloud Firestore hizmetleri

Aşağıdaki API'ler VPC Hizmet Kontrolleri'nde birlikte paketlenir:

  • firestore.googleapis.com
  • datastore.googleapis.com
  • firestorekeyvisualizer.googleapis.com

Bir çevrede firestore.googleapis.com hizmetini kısıtladığınızda çevre, datastore.googleapis.com ve firestorekeyvisualizer.googleapis.com hizmetlerini de kısıtlar.

datastore.googleapis.com hizmetini kısıtlama

datastore.googleapis.com hizmeti, firestore.googleapis.com hizmeti kapsamında sunulur. datastore.googleapis.com hizmetini kısıtlamak için firestore.googleapis.com hizmetini aşağıdaki şekilde kısıtlamanız gerekir:

  • Google Cloud Console'u kullanarak hizmet çevresi oluştururken Cloud Firestore hizmetini kısıtlanmış hizmet olarak ekleyin.
  • Google Cloud CLI kullanarak hizmet çevresi oluştururken datastore.googleapis.com yerine firestore.googleapis.com kullanın.

    --perimeter-restricted-services=firestore.googleapis.com
    

Datastore için App Engine eski paketlenmiş hizmetleri

Datastore için App Engine eski paketlenmiş hizmetleri hizmet çevrelerini desteklemez. Datastore hizmetini hizmet çevresiyle koruma, App Engine eski paketlenmiş hizmetlerden gelen trafiği engeller. Eski paketlenmiş hizmetler şunlardır:

İçe ve dışa aktarma işlemlerinde çıkış koruması

Cloud Firestore, VPC Hizmet Kontrolleri'ni destekler ancak içe ve dışa aktarma işlemlerinde tam çıkış koruması elde etmek için ek yapılandırma gerektirir. İçe ve dışa aktarma işlemlerini yetkilendirmek için varsayılan App Engine hizmet hesabı yerine Cloud Firestore hizmet aracısını kullanmanız gerekir. İçe ve dışa aktarma işlemleri için yetkilendirme hesabını görüntülemek ve yapılandırmak üzere aşağıdaki talimatları uygulayın.

Cloud Firestore hizmet aracısı

Cloud Firestore, App Engine hizmet hesabını kullanmak yerine içe ve dışa aktarma işlemlerini yetkilendirmek için Cloud Firestore hizmet aracısını kullanır. Hizmet aracısı ve hizmet hesabı aşağıdaki adlandırma kurallarını kullanır:

Cloud Firestore hizmet aracısı
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

Cloud Firestore, Cloud Firestore hizmet aracısı yerine daha önce App Engine varsayılan hizmet hesabını kullanıyordu. Veritabanınızda veri içe veya dışa aktarmak için hâlâ App Engine hizmet hesabı kullanılıyorsa Cloud Firestore hizmet aracısını kullanmaya geçmek için bu bölümdeki talimatları uygulamanızı öneririz.

App Engine hizmet hesabı
PROJECT_ID@appspot.gserviceaccount.com

Cloud Firestore hizmet aracısı, Cloud Firestore'ya özgü olduğundan tercih edilir. App Engine hizmet hesabı birden fazla hizmet tarafından paylaşılıyor.

Yetkilendirme hesabını görüntüleme

İçe ve dışa aktarma işlemlerinizin istekleri yetkilendirmek için hangi hesabı kullandığını Google Cloud Console'daki İçe/Dışa Aktarma sayfasında görebilirsiniz. Veritabanınızın Cloud Firestore hizmet aracısını kullanıp kullanmadığını da görebilirsiniz.

  1. İçe/Dışa aktarma işleri şu şekilde çalıştırılır: etiketinin yanındaki yetkilendirme hesabını görüntüleyin.

Projenizde Cloud Firestore hizmet aracısı kullanılmıyorsa aşağıdaki tekniklerden birini kullanarak Cloud Firestore hizmet aracısına geçebilirsiniz:

Bu tekniklerden ilki, etki kapsamını tek bir Cloud Firestore projesiyle sınırladığı için tercih edilir. İkinci teknik, mevcut Cloud Storage grubu izinlerini taşımadığından tercih edilmez. Ancak kuruluş düzeyinde güvenlik uyumluluğu sunar.

Cloud Storage paket izinlerini kontrol edip güncelleyerek taşıma

Taşıma işlemi iki adımdan oluşur:

  1. Cloud Storage paket izinlerini güncelleyin. Ayrıntılar için aşağıdaki bölüme bakın.
  2. Cloud Firestore hizmet aracısına taşımayı onaylayın.

Hizmet aracısı paketi izinleri

Başka bir projedeki Cloud Storage paketini kullanan tüm dışa veya içe aktarma işlemleri için Cloud Firestore hizmet aracısına söz konusu paketle ilgili izinler vermeniz gerekir. Örneğin, verileri başka bir projeye taşıyan işlemlerin söz konusu projedeki bir pakete erişmesi gerekir. Aksi takdirde, bu işlemler Cloud Firestorehizmet aracısına geçiş yapıldıktan sonra başarısız olur.

Aynı proje içinde kalan içe ve dışa aktarma iş akışları için izinlerde değişiklik yapılması gerekmez. Cloud Firestore hizmet aracısı, varsayılan olarak aynı projedeki paketlere erişebilir.

Diğer projelerdeki Cloud Storage paketlerinin izinlerini, service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com hizmet aracısına erişim verecek şekilde güncelleyin. Hizmet aracısına Firestore Service Agent rolünü verin.

Firestore Service Agent rolü, Cloud Storage paketi için okuma ve yazma izinleri verir. Yalnızca okuma veya yalnızca yazma izni vermeniz gerekiyorsa özel bir rol kullanın.

Aşağıdaki bölümde açıklanan taşıma süreci, izin güncellemeleri gerektirebilecek Cloud Storage gruplarını belirlemenize yardımcı olur.

Bir projeyi Firestore hizmet aracısına taşıma

App Engine hizmet hesabından Cloud Firestore hizmet aracısına geçmek için aşağıdaki adımları tamamlayın. Taşıma işlemi tamamlandıktan sonra geri alınamaz.

  1. Projeniz henüz Cloud Firestore hizmet aracısına taşınmadıysa taşıma işlemini açıklayan bir banner ve Paket Durumunu Kontrol Et düğmesi görürsünüz. Bir sonraki adım, olası izin hatalarını belirlemenize ve düzeltmenize yardımcı olur.

    Paket Durumunu Kontrol Et'i tıklayın.

    Taşıma işleminizi tamamlama seçeneğinin ve Cloud Storage grubu listesinin yer aldığı bir menü gösterilir. Listenin yüklenmesinin tamamlanması birkaç dakika sürebilir.

    Bu listede, yakın zamanda içe ve dışa aktarma işlemlerinde kullanılan ancak şu anda Cloud Firestore hizmet aracısına okuma ve yazma izni vermeyen paketler yer almaktadır.

  2. Projenizin Cloud Firestore hizmet aracısının asıl adını not edin. Hizmet aracısı adı, Erişim verilecek hizmet aracısı etiketinin altında görünür.
  3. Listede gelecekteki içe veya dışa aktarma işlemlerinde kullanacağınız tüm paketler için aşağıdaki adımları uygulayın:

    1. Bu paketin tablo satırında Düzelt'i tıklayın. Bu işlem, söz konusu paketin izinler sayfasını yeni bir sekmede açar.

    2. Ekle'yi tıklayın.
    3. New principals (Yeni ana hesaplar) alanına Cloud Firestore hizmet aracınızın adını girin.
    4. Select a role (Rol seçin) alanında Service Agents > Firestore Service Agent'ı (Hizmet Aracıları > Firestore Hizmet Aracı) seçin.
    5. Kaydet'i tıklayın.
    6. Cloud Firestore İçe/Dışa Aktar sayfasının bulunduğu sekmeye dönün.
    7. Listedeki diğer paketler için bu adımları tekrarlayın. Listenin tüm sayfalarını görüntülediğinizden emin olun.
  4. Firestore Hizmet Aracısı'na taşı'yı tıklayın. İzin kontrolleri başarısız olan paketleriniz varsa Taşı'yı tıklayarak taşıma işlemini onaylamanız gerekir.

    Taşıma işlemi tamamlandığında bir uyarı gösterilir. Taşıma işlemi geri alınamaz.

Taşıma durumunu görüntüleme

Projenizin taşıma durumunu doğrulamak için:

  1. İçe/dışa aktarma işleri şu kullanıcı olarak çalıştırılır: etiketinin yanındaki asıl kullanıcıyı bulun.

    Asıl öğe service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com ise projeniz Cloud Firestore hizmet aracısına taşınmıştır. Taşıma işlemi geri alınamaz.

    Proje taşınmadıysa sayfanın üst kısmında Check Bucket Status (Paket Durumunu Kontrol Et) düğmesini içeren bir banner gösterilir. Taşıma işlemini tamamlamak için Firestore hizmet aracısına taşıma başlıklı makaleyi inceleyin.

Kuruluş genelinde politika kısıtlaması ekleme

  • Kuruluşunuzun politikasında aşağıdaki kısıtlamayı ayarlayın:

    İçe/dışa aktarma için Firestore Hizmet Aracısı'nı zorunlu kılın (firestore.requireP4SAforImportExport).

    Bu kısıtlama, içe ve dışa aktarma işlemlerinin istekleri yetkilendirmek için Cloud Firestore hizmet aracısını kullanmasını gerektirir. Bu kısıtlamayı ayarlamak için Kuruluş politikaları oluşturma ve yönetme başlıklı makaleyi inceleyin.

Bu kuruluş politikası kısıtlamasının uygulanması, Cloud Firestore hizmet aracısı için uygun Cloud Storage grubu izinlerini otomatik olarak vermez.

Kısıtlama, içe aktarma veya dışa aktarma iş akışlarında izin hatalarına neden olursa varsayılan hizmet hesabını kullanmaya geri dönmek için kısıtlamayı devre dışı bırakabilirsiniz. Cloud Storage grubu izinlerini kontrol edip güncelledikten sonra kısıtlamayı tekrar etkinleştirebilirsiniz.