Firebase Uygulama Kontrolü için denetim günlüğü kaydı

Bu sayfada Firebase tarafından Bulut Denetim Günlüklerinin bir parçası olarak oluşturulan denetim günlükleri açıklanmaktadır.

Genel Bakış

Firebase hizmetleri, "Kim neyi, nerede ve ne zaman yaptı?" sorularını yanıtlamanıza yardımcı olmak için denetim günlükleri yazar. Bunlar, Firebase projenize bağlı Google Cloud projesi kapsamında sağlanan Cloud Denetim Günlükleridir.

Firebase projelerinizin her biri yalnızca doğrudan proje içindeki kaynaklara ilişkin denetim günlüklerini içerir.

Bulut Denetim Günlüklerine genel bir bakış için Bulut Denetim Günlüklerine genel bakış bölümüne bakın. Denetim günlüğü biçimini daha iyi anlamak için bkz. Denetim günlüklerini anlama.

Mevcut denetim günlükleri

Firebase Uygulama Kontrolü için aşağıdaki denetim günlüğü türleri mevcuttur:

  • Yönetici Etkinliği denetim günlükleri

    Meta verileri veya yapılandırma bilgilerini yazan "yönetici yazma" işlemlerini içerir.

    Yönetici Etkinliği denetim günlüklerini devre dışı bırakamazsınız.

  • Veri Erişimi denetim günlükleri

    Meta verileri veya yapılandırma bilgilerini okuyan "yönetici okuma" işlemlerini içerir. Ayrıca kullanıcı tarafından sağlanan verileri okuyan veya yazan "veri okuma" ve "veri yazma" işlemlerini de içerir.

    Veri Erişimi denetim günlüklerini almak için bunları açıkça etkinleştirmeniz gerekir.

Denetim günlüğü türlerinin daha kapsamlı açıklamaları için bkz. Denetim günlüğü türleri .

Denetlenen operasyonlar

Aşağıda, Firebase Uygulama Kontrolündeki her bir denetim günlüğü türüne hangi API işlemlerinin karşılık geldiği özetlenmektedir:

Denetim günlükleri kategorisi Firebase Uygulama Kontrolü işlemleri
Proje işlemleri
Yönetici Etkinliği Güncelleme Hizmeti
Toplu GüncellemeHizmetleri
AppCheckToken'ı Doğrulayın
Veri Erişimi (ADMIN_READ) Hizmet Alın
Hizmetleri Listele
Uygulama işlemleri
Yönetici Etkinliği AppAttestConfig'i Güncelle
UpdateDeviceCheckConfig
PlayIntegrityConfig'i Güncelleyin
GüncellemeRecaptchaEnterpriseConfig
GüncellemeRecaptchaV3Config
GüvenlikNetYapılandırmasını Güncelle
Hata AyıklamaTokeni Oluştur
UpdateDebugToken
DebugToken'ı Sil
Veri Erişimi (ADMIN_READ) GetAppAttestConfig
BatchGetAppAttestConfig'ler
GetDeviceCheckConfig
BatchGetDeviceCheckConfigs
GetPlayIntegrityConfig
BatchGetPlayIntegrityConfigs
GetRecaptchaEnterpriseConfig
BatchGetRecaptchaEnterpriseConfigs
GetRecaptchaV3Config
BatchGetRecaptchaV3Configs
GetSafetyNetConfig
BatchGetSafetyNetConfigs
GetDebugToken
Hata AyıklamaTokenlarını Listele

Denetim günlüğü biçimi

Denetim günlüğü girişleri aşağıdaki nesneleri içerir:

  • LogEntry türünde bir nesne olan günlük girişinin kendisi. Yararlı alanlar aşağıdakileri içerir:

    • logName kaynak kimliğini ve denetim günlüğü türünü içerir.
    • resource denetlenen işlemin hedefini içerir.
    • timestamp denetlenen işlemin zamanını içerir.
    • protoPayload denetlenen bilgileri içerir.
  • Günlük girişinin protoPayload alanında tutulan bir AuditLog nesnesi olan denetim günlüğü verileri.

  • Hizmete özgü bir nesne olan isteğe bağlı hizmete özgü denetim bilgileri. Daha eski entegrasyonlarda bu nesne, AuditLog nesnesinin serviceData alanında tutulur; daha yeni entegrasyonlar metadata veri alanını kullanır.

Bu nesnelerdeki diğer alanlar ve bunların nasıl yorumlanacağı için Denetim günlüklerini anlama bölümünü inceleyin.

Günlük adı

Cloud Denetleme Günlükleri kaynak adları, Firebase projesini veya denetim günlüklerinin sahibi olan diğer Google Cloud varlığını ve günlüğün Yönetici Etkinliği, Veri Erişimi, Reddedilen Politika veya Sistem Etkinliği denetim günlüğü verilerini içerip içermediğini belirtir. Örneğin, aşağıda proje düzeyinde Yönetici Etkinliği denetim günlükleri ve bir kuruluşun Veri Erişimi denetim günlükleri için günlük adları gösterilmektedir. Değişkenler Firebase projesi ve kuruluş tanımlayıcılarını belirtir.

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

Hizmet adı

Firebase Uygulama Kontrolü denetim günlükleri firebaseappcheck.googleapis.com hizmet adını kullanır.

Tüm Cloud Logging API hizmet adlarının ve bunlara karşılık gelen izlenen kaynak türlerinin tam listesi için Hizmetleri kaynaklarla eşleme konusuna bakın.

Kaynak türleri

Firebase Uygulama Kontrolü denetim günlükleri, tüm denetim günlükleri için audited_resource kaynak türünü kullanır.

Cloud Logging'de izlenen tüm kaynak türlerinin listesi ve açıklayıcı bilgiler için bkz. İzlenen kaynak türleri .

Denetim günlüğünü etkinleştir

Yönetici Etkinliği denetim günlükleri her zaman etkindir; bunları devre dışı bırakamazsınız.

Veri Erişimi denetleme günlükleri varsayılan olarak devre dışıdır ve açıkça etkinleştirilmediği sürece yazılmaz (BigQuery için devre dışı bırakılamayan Veri Erişimi denetleme günlükleri istisnadır).

Veri Erişimi denetim günlüklerinizin bir kısmını veya tamamını etkinleştirme talimatları için bkz . Veri Erişimi günlüklerini yapılandırma .

İzinler ve roller

Cloud IAM izinleri ve rolleri, Google Cloud kaynaklarındaki denetim günlüğü verilerine erişme yeteneğinizi belirler.

Kullanım durumunuz için hangi Logging'e özgü izinlerin ve rollerin geçerli olacağına karar verirken aşağıdakileri göz önünde bulundurun:

  • Günlük Görüntüleyici rolü ( roles/logging.viewer ) Yönetici Etkinliği, Reddedilen İlke ve Sistem Olayı denetim günlüklerine salt okunur erişim sağlar. Yalnızca bu role sahipseniz _Default paketindeki Veri Erişimi denetim günlüklerini görüntüleyemezsiniz.

  • Özel Günlük Görüntüleyici rolü (roles/logging.privateLogViewer ), roles/logging.viewer dosyasında bulunan izinlerin yanı sıra _Default paketindeki Veri Erişimi denetim günlüklerini okuma becerisini içerir.

    Bu özel günlükler kullanıcı tanımlı paketlerde saklanıyorsa bu paketlerdeki günlükleri okuma iznine sahip olan herhangi bir kullanıcının özel günlükleri okuyabileceğini unutmayın. Günlük paketleri hakkında daha fazla bilgi için bkz. Yönlendirme ve depolamaya genel bakış .

Denetim günlükleri verilerine uygulanan Cloud IAM izinleri ve rolleri hakkında daha fazla bilgi için bkz. Erişim kontrolü .

Günlükleri görüntüle

Denetim günlüklerini bulmak ve görüntülemek için, denetim günlüğü bilgilerini görüntülemek istediğiniz Firebase projesinin, klasörün veya kuruluşun tanımlayıcısını bilmeniz gerekir. resource.type gibi diğer indekslenmiş LogEntry alanlarını da belirtebilirsiniz; ayrıntılar için Günlük girişlerini hızla bulma konusunu inceleyin.

Denetim günlüğü adları aşağıdadır; Firebase projesinin, klasörünün veya kuruluşunun tanımlayıcılarına ilişkin değişkenleri içerirler:

   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy

Denetim günlüklerini Cloud Logging'de GCP Konsolunu, gcloud komut satırı aracını veya Logging API'sini kullanarak görüntüleyebilirsiniz.

Konsol

Firebase projenize, klasörünüze veya kuruluşunuza ilişkin denetim günlüğü girişlerinizi almak için GCP Konsolundaki Günlük Gezgini'ni kullanabilirsiniz:

  1. GCP Konsolunda Günlük Kaydı > Günlük Gezgini sayfasına gidin.

    Günlük Gezgini sayfasına gidin

  2. Günlük Gezgini sayfasında mevcut bir Firebase projesini, klasörünü veya kuruluşunu seçin.

  3. Sorgu oluşturucu bölmesinde aşağıdakileri yapın:

    • Kaynak türü bölümünde, denetim günlüklerini görmek istediğiniz Google Cloud kaynağını seçin.

    • Günlük adı alanında görmek istediğiniz denetim günlüğü türünü seçin:

      • Yönetici Etkinliği denetim günlükleri için etkinlik seçeneğini seçin.
      • Veri Erişimi denetim günlükleri için data_access'i seçin.
      • Sistem Olayı denetim günlükleri için system_event öğesini seçin.
      • Politika Reddedildi denetim günlükleri için politikayı seçin.

    Bu seçenekleri görmüyorsanız Firebase projesinde, klasöründe veya kuruluşunda bu türden herhangi bir denetim günlüğü bulunmuyor demektir.

    Günlük Gezgini'ni kullanarak sorgulama hakkında daha fazla ayrıntı için bkz . Günlük sorguları oluşturma .

gcloud

gcloud komut satırı aracı, Cloud Logging API'ye bir komut satırı arayüzü sağlar. Günlük adlarının her birine geçerli bir PROJECT_ID , FOLDER_ID veya ORGANIZATION_ID girin.

Firebase proje düzeyindeki denetim günlüğü girişlerinizi okumak için aşağıdaki komutu çalıştırın:

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" --project=PROJECT_ID

Klasör düzeyindeki denetim günlüğü girişlerinizi okumak için aşağıdaki komutu çalıştırın:

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" --folder=FOLDER_ID

Kuruluş düzeyindeki denetim günlüğü girişlerinizi okumak için aşağıdaki komutu çalıştırın:

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID

gcloud aracını kullanma hakkında daha fazla bilgi için Günlük girişlerini okuma bölümüne bakın.

API'si

Sorgularınızı oluştururken değişkenleri geçerli değerlerle değiştirin; uygun proje düzeyi, klasör düzeyi veya kuruluş düzeyinde denetim günlüğü adını veya denetim günlüğü adlarında listelenen tanımlayıcıları değiştirin. Örneğin, sorgunuz PROJECT_ID içeriyorsa sağladığınız proje tanımlayıcının o anda seçili olan Firebase projesine atıfta bulunması gerekir.

Denetim günlüğü girişlerinize bakmak amacıyla Günlük API'sini kullanmak için aşağıdakileri yapın:

  1. entries.list yöntemine ilişkin belgelerdeki Bu API'yi deneyin bölümüne gidin.

  2. Aşağıdakileri Bu API'yi Deneyin formunun İstek gövdesi kısmına ekleyin. Bu önceden doldurulmuş forma tıkladığınızda istek gövdesi otomatik olarak doldurulur, ancak günlük adlarının her birine geçerli bir PROJECT_ID sağlamanız gerekir.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. Yürüt'ü tıklayın.

Sorgulama hakkında daha fazla ayrıntı için bkz. Günlüğe kaydetme sorgu dili .

Denetim günlüğü girişi örneği ve buradaki en önemli bilgilerin nasıl bulunacağı için Örnek denetim günlüğü girişi bölümüne bakın.

Rota denetim günlükleri

Denetim günlüklerini, diğer türdeki günlükleri yönlendirdiğiniz şekilde desteklenen hedeflere yönlendirebilirsiniz . Denetim günlüklerinizi yönlendirmek isteyebileceğiniz bazı nedenler şunlardır:

  • Denetim günlüklerini daha uzun süre saklamak veya daha güçlü arama özelliklerinden yararlanmak için denetim günlüklerinizin kopyalarını Google Cloud Storage, BigQuery veya Google Cloud Pub/Sub'a yönlendirebilirsiniz. Cloud Pub/Sub'u kullanarak diğer uygulamalara, diğer kod depolarına ve üçüncü taraflara yönlendirme yapabilirsiniz.

  • Denetim günlüklerinizi kuruluşun tamamında yönetmek için, kuruluştaki Firebase projelerinin herhangi birinden veya tümünden gelen günlükleri yönlendirebilecek toplu havuzlar oluşturabilirsiniz.

  • Etkinleştirilmiş Veri Erişimi denetim günlükleriniz Firebase projelerinizi günlük tahsislerinizin üzerine itiyorsa Veri Erişimi denetleme günlüklerini Günlük Kaydının dışında bırakan havuzlar oluşturabilirsiniz.

Yönlendirme günlüklerine ilişkin talimatlar için bkz . Havuzları yapılandırma .

Fiyatlandırma

Yönetici Etkinliği denetim günlükleri ve Sistem Etkinliği denetim günlükleri ücretsizdir.

Veri Erişimi denetim günlükleri ve Politika Reddedildi denetim günlükleri ücrete tabidir.

Cloud Logging fiyatlandırması hakkında daha fazla bilgi için Google Cloud'un işlem paketi fiyatlandırmasına bakın: Cloud Logging .