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

Bu sayfa, Firebase tarafından Bulut Denetim Günlüklerinin bir parçası olarak oluşturulan denetim günlüklerini açıklar.

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 projesinin bir parçası olarak sağlanan Bulut Denetim Günlükleridir.

Firebase projelerinizin her biri, yalnızca doğrudan proje içinde bulunan kaynaklar için denetim günlüklerini içerir.

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

Kullanılabilir denetim günlükleri

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

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

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

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

  • Veri Erişimi denetleme 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 içerir.

    Veri Erişimi denetleme 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 işlemler

Aşağıda, Firebase App Check'teki her bir denetim günlüğü türüne karşılık gelen API işlemleri özetlenmektedir:

Denetim günlükleri kategorisi Firebase Uygulama Kontrolü işlemleri
Proje operasyonları
Yönetici Etkinliği Güncelleme Hizmeti
Toplu GüncellemeHizmetler
Veri Erişimi (ADMIN_READ) GetService
ListeHizmetler
Uygulama işlemleri
Yönetici Etkinliği GüncellemeUygulamaAttestYapılandırma
UpdateDeviceCheckConfig
GüncellePlayIntegrityConfig
UpdateRecaptchaEnterpriseConfig
GüncellemeRecaptchaV3Config
GüncelleSafetyNetConfig
CreateDebugToken
GüncellemeDebugToken
SilDebugToken
Veri Erişimi (ADMIN_READ) GetAppAttestConfig
BatchGetAppAttestConfigs
GetDeviceCheckConfig
BatchGetDeviceCheckConfigs
GetPlayIntegrityConfig
BatchGetPlayIntegrityConfigs
GetRecaptchaEnterpriseConfig
BatchGetRecaptchaEnterpriseConfigs
GetRecaptchaV3Config
BatchGetRecaptchaV3Configs
GetSafetyNetConfig
BatchGetSafetyNetConfigs
GetDebugToken
ListeDebugTokens

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.
    • Zaman 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 entegrasyonlar için bu nesne, AuditLog nesnesinin serviceData alanında tutulur; daha yeni entegrasyonlar metadata 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 Google Cloud varlığını ve günlüğün Yönetici Etkinliği, Veri Erişimi, Politika Reddedildi veya Sistem Olayı denetim günlüğü verilerini içerip içermediğini belirtir. Örneğin, aşağıda proje düzeyinde Yönetici Etkinliği denetleme günlükleri ve bir kuruluşun Veri Erişimi denetleme günlükleri için günlük adları gösterilmektedir. Değişkenler, Firebase projesini ve kuruluş tanımlayıcılarını belirtir.

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
tutucu1 l10n-yer
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

Hizmet adı

Firebase Uygulama Kontrolü denetleme 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, bkz. Hizmetleri kaynaklara eşleme .

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 izlenen tüm kaynak türlerinin listesi ve açıklayıcı bilgiler için İzlenen kaynak türleri bölümüne bakın.

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

Yönetici Etkinliği denetleme günlükleri her zaman etkindir; onları 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ştirilmedikçe yazılmaz (istisna, devre dışı bırakılamayan BigQuery için Veri Erişimi denetleme günlükleridir).

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

İzinler ve roller

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

Kullanım durumunuz için hangi Günlüğe kaydetmeye özgü izinlerin ve rollerin geçerli olduğuna 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, Politika Reddedildi ve Sistem Olayı denetleme günlüklerine salt okunur erişim sağlar. Yalnızca bu role sahipseniz, _Default Veri Erişimi denetleme günlüklerini görüntüleyemezsiniz.

  • Özel Günlük Görüntüleyici rolü (roles/logging.privateLogViewer ), roles/logging.viewer /logging.viewer içinde bulunan izinleri ve ayrıca _Default Veri Erişimi denetleme günlüklerini okuma yeteneğini içerir.

    Bu özel günlükler kullanıcı tanımlı paketlerde depolanı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 denetimi .

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ün veya kuruluşunun tanımlayıcısını bilmeniz gerekir. resource.type gibi diğer dizine LogEntry alanlarını da belirtebilirsiniz; ayrıntılar için Günlük girişlerini hızlı bir şekilde bulun 'u inceleyin.

Denetim günlüğü adları aşağıdadır; Firebase projesinin, klasörün veya kuruluşun tanımlayıcıları için değişkenler 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 GCP Konsolu, gcloud komut satırı aracı veya Logging API'yi kullanarak Cloud Logging'de görüntüleyebilirsiniz.

Konsol

Firebase projeniz, klasörünüz veya kuruluşunuz için denetleme günlüğü girişlerinizi almak için GCP Konsolu'ndaki Günlük Gezgini'ni kullanabilirsiniz:

  1. GCP Console'da Günlük > Günlük Gezgini sayfasına gidin.

    Günlük Gezgini sayfasına gidin

  2. Günlük Gezgini sayfasında, mevcut bir Firebase projesi, klasörü veya kuruluşu 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 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 denetleme günlükleri için etkinlik öğesini seçin.
      • Veri Erişimi denetleme günlükleri için data_access öğesini seçin.
      • Sistem Olayı denetim günlükleri için system_event öğesini seçin.
      • İlke Reddedildi denetim günlükleri için ilke öğesini seçin.

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

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

gcloud

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

Firebase proje düzeyinde 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üzeyinde 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üzeyinde 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

Sorgularınızı oluştururken, değişkenleri geçerli değerlerle değiştirin, uygun proje düzeyinde, klasör düzeyinde veya kuruluş düzeyinde denetim günlüğü adını veya denetim günlüğü adlarında listelendiği gibi tanımlayıcıları değiştirin. Örneğin, sorgunuz bir PROJECT_ID içeriyorsa, sağladığınız proje tanımlayıcısı şu anda seçili olan Firebase projesine başvurmalıdır.

Denetim günlüğü girişlerinize bakmak üzere Logging API'yi kullanmak için aşağıdakileri yapın:

  1. entries.list yönteminin belgelerinde Bu API'yi deneyin bölümüne gidin.

  2. Aşağıdakileri Bu API'yi deneyin formunun İstek gövdesi bölümüne koyun. Bu önceden doldurulmuş forma tıklamak, istek gövdesini otomatik olarak doldurur, ancak günlük adlarının her birinde 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 .

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

Yönlendirme denetim günlükleri

Denetim günlüklerini , diğer günlük türlerini yönlendirebildiğ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 tutmak veya daha güçlü arama özellikleri kullanmak için denetleme günlüklerinizin kopyalarını Google Cloud Storage, BigQuery veya Google Cloud Pub/Sub'a yönlendirebilirsiniz. Cloud Pub/Sub'ı kullanarak diğer uygulamalara, diğer havuzlara ve üçüncü taraflara yönlendirme yapabilirsiniz.

  • Denetim günlüklerinizi tüm kuruluşta yönetmek için kuruluştaki herhangi bir veya tüm Firebase projelerinden günlükleri yönlendirebilen toplu havuzlar oluşturabilirsiniz.

  • Etkinleştirilmiş Veri Erişimi denetleme günlükleriniz, Firebase projelerinizi günlük servis birimleriniz üzerinden aktarıyorsa, Veri Erişimi denetleme günlüklerini Günlüğe Kaydetme'den hariç tutan havuzlar oluşturabilirsiniz.

Günlükleri yönlendirmeyle ilgili talimatlar için bkz. Havuzları yapılandırma .

fiyatlandırma

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

Veri Erişimi denetim günlükleri ve İlke Reddedildi denetim günlükleri ücretlidir.

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