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

Bu sayfada, Firebase tarafından Cloud Denetleme Günlükleri.

Genel Bakış

Firebase hizmetleri, şu soruları yanıtlamanıza yardımcı olmak için denetleme günlüklerini yazar: " ne, nerede ve ne zaman olacak?" Bunlar: Cloud Denetleme Günlükleri, Google Cloud proje hesabınıza bağlandı Firebase projesi.

Firebase projelerinizin her biri, yalnızca doğrudan proje kapsamında olduğunu öğrendik.

Cloud Denetleme Günlükleri'ne genel bakış için şu sayfaya göz atın: Cloud Denetleme Günlüklerine genel bakış. Denetim sürecini daha iyi anlamak için bkz. günlük biçimi Denetleme günlüklerini anlama

Kullanılabilir denetleme günlükleri

Firebase Uygulama Kontrolü için aşağıdaki denetleme günlüğü türleri kullanılabilir:

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

    "Yönetici yazma" kelimesini içerir meta veri veya yapılandırma yazan işlemler ekleyebilirsiniz.

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

  • Veri Erişimi denetleme günlükleri

    "Yönetici okuma" ibaresini içerir meta verileri veya yapılandırmayı okuyan işlemler ekleyebilirsiniz. "Veri okuma"yı da içerir ve "veri yazma" tüm proje yönetimi süreçlerinin kullanıcı tarafından sağlanan verileri okuma veya yazma

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

Denetleme günlüğü türlerinin daha ayrıntılı açıklamaları için bkz. Denetleme günlüğü türleri.

Denetlenen işlemler

Aşağıda, her bir denetleme günlüğüne hangi API işlemlerinin karşılık geldiği özetlenmiştir. Firebase Uygulama Kontrolü yazın:

İzin türü Yöntemler
ADMIN_READ google.firebase.appcheck.v1.ConfigService.BatchGetAppAttestConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetDeviceCheckConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetPlayIntegrityConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaEnterpriseConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaV3Configs
google.firebase.appcheck.v1.ConfigService.BatchGetSafetyNetConfigs
google.firebase.appcheck.v1.ConfigService.GetAppAttestConfig
google.firebase.appcheck.v1.ConfigService.GetDebugToken
google.firebase.appcheck.v1.ConfigService.GetDeviceCheckConfig
google.firebase.appcheck.v1.ConfigService.GetPlayIntegrityConfig
google.firebase.appcheck.v1.ConfigService.GetRecaptchaEnterpriseConfig
google.firebase.appcheck.v1.ConfigService.GetRecaptchaV3Config
google.firebase.appcheck.v1.ConfigService.GetSafetyNetConfig
google.firebase.appcheck.v1.ConfigService.GetService
google.firebase.appcheck.v1.ConfigService.ListDebugTokens
google.firebase.appcheck.v1.ConfigService.ListServices
google.firebase.appcheck.v1beta.ConfigService.BatchGetAppAttestConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetDeviceCheckConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetPlayIntegrityConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaEnterpriseConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaV3Configs
google.firebase.appcheck.v1beta.ConfigService.BatchGetSafetyNetConfigs
google.firebase.appcheck.v1beta.ConfigService.GetAppAttestConfig
google.firebase.appcheck.v1beta.ConfigService.GetDebugToken
google.firebase.appcheck.v1beta.ConfigService.GetDeviceCheckConfig
google.firebase.appcheck.v1beta.ConfigService.GetPlayIntegrityConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaEnterpriseConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaV3Config
google.firebase.appcheck.v1beta.ConfigService.GetResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.GetSafetyNetConfig
google.firebase.appcheck.v1beta.ConfigService.GetService
google.firebase.appcheck.v1beta.ConfigService.ListDebugTokens
google.firebase.appcheck.v1beta.ConfigService.ListResourcePolicies
google.firebase.appcheck.v1beta.ConfigService.ListServices
ADMIN_WRITE google.firebase.appcheck.v1.ConfigService.BatchUpdateServices
google.firebase.appcheck.v1.ConfigService.CreateDebugToken
google.firebase.appcheck.v1.ConfigService.DeleteDebugToken
google.firebase.appcheck.v1.ConfigService.UpdateAppAttestConfig
google.firebase.appcheck.v1.ConfigService.UpdateDebugToken
google.firebase.appcheck.v1.ConfigService.UpdateDeviceCheckConfig
google.firebase.appcheck.v1.ConfigService.UpdatePlayIntegrityConfig
google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaEnterpriseConfig
google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaV3Config
google.firebase.appcheck.v1.ConfigService.UpdateSafetyNetConfig
google.firebase.appcheck.v1.ConfigService.UpdateService
google.firebase.appcheck.v1beta.ConfigService.BatchUpdateResourcePolicies
google.firebase.appcheck.v1beta.ConfigService.BatchUpdateServices
google.firebase.appcheck.v1beta.ConfigService.CreateDebugToken
google.firebase.appcheck.v1beta.ConfigService.CreateResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.DeleteDebugToken
google.firebase.appcheck.v1beta.ConfigService.DeleteResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.UpdateAppAttestConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateDebugToken
google.firebase.appcheck.v1beta.ConfigService.UpdateDeviceCheckConfig
google.firebase.appcheck.v1beta.ConfigService.UpdatePlayIntegrityConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaEnterpriseConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaV3Config
google.firebase.appcheck.v1beta.ConfigService.UpdateResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.UpdateSafetyNetConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateService
google.firebase.appcheck.v1beta.TokenVerificationService.VerifyAppCheckToken

Denetleme günlüğü biçimi

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

  • LogEntry türünde bir nesne olan günlük girişinin kendisi. Faydalı alanları aşağıda bulabilirsiniz:

    • logName, kaynak kimliğini ve denetleme 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.
  • Şurada tutulan bir AuditLog nesnesi olan denetleme günlüğü verileri günlük girişinin protoPayload alanına girin.

  • Hizmete özgü isteğe bağlı, hizmete özgü denetim bilgileri nesnesini tanımlayın. Daha eski entegrasyonlar için bu nesne serviceData içinde tutulur AuditLog nesnesinin alanını; daha yeni entegrasyonlar metadata alanını kullanır.

Bu nesnelerdeki diğer alanlar ve bunların nasıl yorumlanacağı hakkında bilgi için Denetleme günlüklerini anlama

Günlük adı

Cloud Denetleme Günlükleri kaynak adları, Denetleme günlüklerinin sahibi olan Google Cloud varlığı ve günlüğün Yönetici Etkinliği, Veri Erişimi, Politika Reddedildi veya Sistem Etkinliği denetleme günlüğü verileri. Örneğin, aşağıda proje düzeyindeki Yönetici Etkinliği için günlük adları gösterilmektedir. denetleme günlüklerini ve kuruluşun Veri Erişimi denetleme günlüklerini kapsar. Değişkenler, Firebase proje ve kuruluş tanımlayıcıları.

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

Hizmet adı

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

Tüm Cloud Logging API hizmet adlarının ve ilgili hizmet adlarının tam listesi için izlenen kaynak türü için bkz. Hizmetleri kaynaklarla eşleştirin.

Kaynak türleri

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

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

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

Yönetici Etkinliği denetleme 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 bir şekilde etkinleştirilmediği sürece (istisna, Veri Erişimi denetleme günlükleri BigQuery'yi kullanabilirsiniz.

Veri Erişimi denetleme günlüklerinizin bazılarını veya tümünü etkinleştirme talimatları için Veri erişimi günlüklerini yapılandırın.

İzinler ve roller

Cloud IAM izinleri ve rolleri, denetleme günlüklerine erişebilmenizi belirler verileri Google Cloud kaynakta.

Hangi kriterin Günlük kaydına özgü izin ve roller kullanım alanınız için aşağıdakileri göz önünde bulundurun:

  • Günlük Görüntüleyici rolü (roles/logging.viewer) size şunlara salt okuma erişimi verir: Yönetici Etkinliği, Politika Reddedildi ve Sistem Etkinliği denetleme günlükleri. Yeni _Default içindeki Veri Erişimi denetleme günlüklerini görüntüleyemezsiniz. paket.

  • Özel Günlük Görüntüleyici rolü(roles/logging.privateLogViewer), roles/logging.viewer içeriğinde bulunan izinler ve ayrıca okuma özelliği _Default paketindeki Veri Erişimi denetleme günlükleri.

    Bu özel günlükler kullanıcı tanımlı paketlerde depolanıyorsa bu paketlerdeki günlükleri okuma izni olan kullanıcılar gizli verileri günlükler. Günlük paketleri hakkında daha fazla bilgi için bkz. Yönlendirme ve depolamaya genel bakış.

Geçerli olan Cloud IAM izinleri ve rolleri hakkında daha fazla bilgi Günlük verilerini denetlemek için Erişim denetimi başlıklı makaleyi inceleyin.

Günlükleri göster

Denetleme günlüklerini bulmak ve görüntülemek için Görüntülemek istediğiniz Firebase projesi, klasörü veya kuruluşu denetleme günlüğü bilgileri. Ayrıca, dizine eklenen diğer LogEntry alanları (ör. resource.type); ayrıntılar için Günlük girişlerini hızlı bir şekilde bulun.

Denetleme günlüğü adları şunlardır: her bir satır için Firebase projesinin, klasörünün veya kuruluşunun tanımlayıcıları:

   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

Cloud Logging'de denetleme günlüklerini görüntüleyebilirsiniz: Google Cloud konsolu, gcloud komut satırı aracı veya Logging API.

Konsol

Google Cloud Console'da Günlük Gezgini'ni kullanabilirsiniz Firebase projeniz, klasörünüz veya klasörünüz için denetleme günlüğü girişlerinizi almak veya kuruluş:

  1. Google Cloud konsolunda şu konuma gidin: Günlük kaydı > Günlük Gezgini sayfasını ziyaret edin.

    Günlük Gezgini sayfasına gidin

  2. Günlük Gezgini sayfasında mevcut bir Firebase projesi, klasörü veya kuruluşu.

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

    • Kaynak türü bölümünde, kaynak olarak ayarlanmış Google Cloud kaynağı denetleme günlüklerini tıklayın.

    • Günlük adı bölümünde, görmek istediğiniz denetleme günlüğü türünü seçin:

      • Yönetici Etkinliği denetleme günlükleri için etkinlik'i seçin.
      • Veri Erişimi denetleme günlükleri için data_access'i seçin.
      • Sistem Etkinliği denetleme günlükleri için system_event değerini seçin.
      • Politika Nedeniyle Reddedilen denetleme günlükleri için politika'yı seçin.

    Bu seçenekleri görmüyorsanız Firebase projesinde, klasöründe veya kurum içinde tutmaktır.

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

gcloud

gcloud komut satırı aracı, Cloud Logging API. Şunun için geçerli bir değer sağlayın: PROJECT_ID, FOLDER_ID, veya ORGANIZATION_ID tuşlarına basın.

Firebase proje düzeyinde denetleme günlüğü girişlerinizi okumak için şu komutu kullanın:

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

Klasör düzeyindeki denetleme 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 denetleme 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 bkz. Günlük girişlerini okuma.

API

Sorgularınızı oluştururken, değişkenleri geçerli değerlerle değiştirin yerine klasör düzeyindeki denetleme günlüğünde listelenen kuruluş düzeyinde denetleme günlüğü adı veya tanımlayıcılar gösterir. Örneğin, sorgunuz bir PROJECT_ID içeriyorsa sağladığınız proje tanımlayıcısı, o anda seçilmiş olan Firebase projesi.

Logging API'yi kullanarak denetleme günlüğü girişlerinizi incelemek için şunları yapın: takip etmek için:

  1. Şu API'nin dokümanlarında: Bu API'yi deneyin bölümüne gidin: entries.list yöntemidir.

  2. Aşağıdakileri Bunu Deneyinİstek gövdesine ekleyin API formunu doldurun. Önceden doldurulmuş bu formu tıklayarak istek gövdesini otomatik olarak doldurur, ancak günlüğün her birinde geçerli bir PROJECT_ID sağlayın gösterir.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. Execute (Yürüt) seçeneğini tıklayın.

Sorgulama hakkında daha fazla ayrıntı için bkz. Logging sorgu dili.

Denetleme günlüğü girişi örneği ve en önemli girişin nasıl bulunacağı bilgilere göz atmalısınız. Örnek denetleme günlüğü girişi.

Denetleme günlüklerini yönlendir

Denetleme günlüklerini desteklenen sayfalara yönlendirebilirsiniz diğer günlük türlerini yönlendirebileceğiniz şekilde düzenleyin. İşte aşağıdaki gibi nedenlerle denetleme günlüklerinizi yönlendirmek isteyebilirsiniz:

  • Denetleme günlüklerini daha uzun bir süre saklamak veya denetleme günlüklerinizin kopyalarını Google'a Google Cloud Storage, BigQuery veya Google Cloud Pub/Sub. Kullanım Cloud Pub/Sub'ı kullanarak diğer uygulamalara, diğer ve üçüncü taraflara bildirir.

  • Bir kuruluşun tamamındaki denetleme günlüklerinizi yönetmek için şunları oluşturabilirsiniz: birleştirilmiş havuzların kuruluştaki herhangi bir veya tüm Firebase projelerinin yönlendirme günlükleri.

  • Etkinleştirilmiş Veri Erişimi denetleme günlükleriniz Firebase projelerini günlük kaydı servis birimleriniz üzerine yaparsa Veri Erişimi denetleme günlüklerini Logging'den hariç tutar.

Günlükleri yönlendirmeye ilişkin talimatlar için bkz. Havuzları yapılandırın.

Fiyatlandırma

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

Veri Erişimi denetleme günlükleri ve Politika nedeniyle reddedildi denetleme günlükleri ücretlidir.

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