Firebase Cloud Messaging 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 Platform projesi kapsamında sağlanan Bulut 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 Notifications Console için aşağıdaki denetim günlüğü türleri mevcuttur:

  • 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 Notifications Console'daki her denetim günlüğü türüne hangi API işlemlerinin karşılık geldiği özetlenmektedir:

Denetim günlükleri kategorisi Firebase Bildirimler Konsolu işlemleri Adı yazın (kullanıcı arayüzünde günlükleri aramak için kullanılır)
Veri Erişimi günlükleri (DATA_READ) Bir kampanya edinin Kampanyayı Alın
Veri Erişimi günlükleri (DATA_READ) Kampanyaları listeleyin ListeKampanya
Veri Erişimi günlükleri (DATA_READ) ABT deneyi bildiriminden bilgi alın LegacyGetRollout
Veri Erişimi günlükleri (DATA_READ) Hedefleme olanaklarından yararlanın Kitleleri Alın
Veri Erişimi günlükleri (DATA_READ) Fcm istatistiklerini alın (Gönderilen/Açılan/Teslim Edilen/Dönüştürülen sayıları) GetFcmStats
Veri Erişimi günlükleri (DATA_READ) Bir tarih aralığı ve proje için analiz etiketlerinin listesini alın. GetAnalyticsLabelList
Veri Erişimi günlükleri (DATA_WRITE) ABT'den Kullanıma Sunma Oluşturun EskiOluşturmaKullanıma Sunma

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ı

Bulut Denetim Günlükleri kaynak adları, denetim günlüklerinin sahibi olan Firebase projesini veya diğer GCP 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 Bildirimler Konsolu denetim günlükleri gcmcontextualcampaign-pa.googleapis.com hizmet adını kullanır.

Tüm Stackdriver 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 Notifications Console denetim günlükleri, tüm denetim günlükleri için audited_resource kaynak türünü kullanır.

Stackdriver 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

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, GCP kaynaklarındaki denetim günlük 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ızlı bir şekilde 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

GCP Konsolunu, gcloud komut satırı aracını veya Logging API'sini kullanarak Stackdriver Logging'de denetim günlüklerini 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ü alanında, denetim günlüklerini görmek istediğiniz GCP 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ı, Stackdriver Logging API'sine 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.

Denetim günlüklerini yönlendir

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 denetleme 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.

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