Firebase Data Connect için denetleme günlüğü

Bu sayfada, Firebase tarafından Cloud Denetleme Günlükleri kapsamında oluşturulan denetleme 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 denetleme günlükleri yazar. Bunlar, Google Cloud projesi kapsamında sağlanan Cloud Denetim Günlükleri'dir ve Firebase projenize bağlıdır.

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

Cloud Denetleme Günlükleri'ne genel bakış için Cloud Denetleme Günlükleri'ne genel bakış başlıklı makaleyi inceleyin. Denetleme günlüğü biçimi hakkında daha ayrıntılı bilgi için Denetleme günlüklerini anlama başlıklı makaleyi inceleyin.

Kullanılabilir denetleme günlükleri

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

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

    Meta verileri veya yapılandırma bilgilerini yazan "yönetici yazma" işlemleri dahildir.

    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şlemleri de dahildir.

    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 Denetleme günlüğü türleri başlıklı makaleyi inceleyin.

Denetlenmiş işlemler

Aşağıda, Firebase Data Connect'teki her denetleme günlüğü türüne hangi API işlemlerinin karşılık geldiği özetlenmiştir:

İzin türü Yöntemler
ADMIN_READ google.firebase.dataconnect.v1.FirebaseDataConnect.GetConnector
google.firebase.dataconnect.v1.FirebaseDataConnect.GetSchema
google.firebase.dataconnect.v1.FirebaseDataConnect.GetService
google.firebase.dataconnect.v1.FirebaseDataConnect.ListConnectors
google.firebase.dataconnect.v1.FirebaseDataConnect.ListSchemas
google.firebase.dataconnect.v1.FirebaseDataConnect.ListServices
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetConnector
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetSchema
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetService
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListConnectors
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListSchemas
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListServices
google.firebase.dataconnect.v1beta.FirebaseDataConnect.GetConnector
google.firebase.dataconnect.v1beta.FirebaseDataConnect.GetSchema
google.firebase.dataconnect.v1beta.FirebaseDataConnect.GetService
google.firebase.dataconnect.v1beta.FirebaseDataConnect.ListConnectors
google.firebase.dataconnect.v1beta.FirebaseDataConnect.ListSchemas
google.firebase.dataconnect.v1beta.FirebaseDataConnect.ListServices
ADMIN_WRITE google.firebase.dataconnect.v1.FirebaseDataConnect.CreateConnector
google.firebase.dataconnect.v1.FirebaseDataConnect.CreateSchema
google.firebase.dataconnect.v1.FirebaseDataConnect.CreateService
google.firebase.dataconnect.v1.FirebaseDataConnect.DeleteConnector
google.firebase.dataconnect.v1.FirebaseDataConnect.DeleteSchema
google.firebase.dataconnect.v1.FirebaseDataConnect.DeleteService
google.firebase.dataconnect.v1.FirebaseDataConnect.UpdateConnector
google.firebase.dataconnect.v1.FirebaseDataConnect.UpdateSchema
google.firebase.dataconnect.v1.FirebaseDataConnect.UpdateService
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateConnector
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateSchema
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateService
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteConnector
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteSchema
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteService
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateConnector
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateSchema
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateService
google.firebase.dataconnect.v1beta.FirebaseDataConnect.CreateConnector
google.firebase.dataconnect.v1beta.FirebaseDataConnect.CreateSchema
google.firebase.dataconnect.v1beta.FirebaseDataConnect.CreateService
google.firebase.dataconnect.v1beta.FirebaseDataConnect.DeleteConnector
google.firebase.dataconnect.v1beta.FirebaseDataConnect.DeleteSchema
google.firebase.dataconnect.v1beta.FirebaseDataConnect.DeleteService
google.firebase.dataconnect.v1beta.FirebaseDataConnect.UpdateConnector
google.firebase.dataconnect.v1beta.FirebaseDataConnect.UpdateSchema
google.firebase.dataconnect.v1beta.FirebaseDataConnect.UpdateService
DATA_READ google.firebase.dataconnect.v1.GraphqlService.ExecuteGraphqlRead
google.firebase.dataconnect.v1alpha.GraphqlService.ExecuteGraphqlRead
google.firebase.dataconnect.v1beta.GraphqlService.ExecuteGraphqlRead
DATA_WRITE google.firebase.dataconnect.v1.GraphqlService.ExecuteGraphql
google.firebase.dataconnect.v1alpha.GraphqlService.ExecuteGraphql
google.firebase.dataconnect.v1beta.GraphqlService.ExecuteGraphql

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şi. Faydalı alanlar şunlardır:

    • 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, denetlenmiş bilgileri içerir.
  • Denetleme günlüğü verileri, günlük girişinin protoPayload alanında tutulan bir AuditLog nesnesidir.

  • Hizmete özgü bir nesne olan isteğe bağlı hizmete özgü denetleme bilgileri. Eski entegrasyonlarda bu nesne, AuditLog nesnesinin serviceData alanında tutulur. Daha yeni entegrasyonlarda ise metadata alanı kullanılır.

Bu nesnelerdeki diğer alanlar ve bunların nasıl yorumlanacağı hakkında bilgi edinmek için Denetleme günlüklerini anlama başlıklı makaleyi inceleyin.

Günlük adı

Cloud Audit Logs kaynak adları, denetleme günlüklerinin sahibi olan Firebase projesini veya diğer Google Cloud varlığı ve günlüğün Yönetici Etkinliği, Veri Erişimi, Politika Reddedildi veya Sistem Etkinliği denetleme günlüğü verilerini içerip içermediğini gösterir. Örneğin, aşağıda proje düzeyindeki yönetici etkinliği denetleme günlükleri ve bir kuruluşun veri erişimi denetleme günlüklerinin 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 Data Connect denetleme günlüklerinde hizmet adı firebasedataconnect.googleapis.com kullanılır.

Tüm Cloud Logging API hizmet adlarının ve bunlara karşılık gelen izlenen kaynak türünün tam listesi için Hizmetleri kaynaklarla eşleme başlıklı makaleyi inceleyin.

Kaynak türleri

Firebase Data Connect denetleme günlükleri, tüm denetleme günlükleri için audited_resource kaynak türünü kullanır.

Tüm Cloud Logging izlenen kaynak türlerinin listesi ve açıklayıcı bilgiler için İzlenen kaynak türleri başlıklı makaleyi inceleyin.

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

Yönetici Etkinliği denetleme günlükleri her zaman etkindir ve devre dışı bırakılamaz.

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 Veri Erişimi denetleme günlükleri devre dışı bırakılamaz).

Veri erişimi denetleme günlüklerinizin bir kısmını veya tamamını etkinleştirme talimatları için Veri erişimi günlüklerini yapılandırma başlıklı makaleyi inceleyin.

İzinler ve roller

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

Kullanım alanınız 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 Etkinliği denetleme günlüklerine salt okuma erişimi sağlar. Yalnızca bu role sahipseniz _Default paketindeki 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 içinde yer alan izinlerin yanı sıra _Default paketindeki Veri Erişimi denetleme günlüklerini okuma olanağını içerir.

    Bu özel günlükler kullanıcı tanımlı paketlerde depolanıyorsa bu paketlerdeki günlükleri okuma izni olan tüm kullanıcıların özel günlükleri okuyabileceğini unutmayın. Günlük paketleri hakkında daha fazla bilgi için Yönlendirme ve depolamaya genel bakış başlıklı makaleyi inceleyin.

Denetleme günlüğü verileri için geçerli olan Cloud IAM izinleri ve rolleri hakkında daha fazla bilgi edinmek için Erişim denetimi başlıklı makaleyi inceleyin.

Günlükleri göster

Denetim günlüklerini bulup 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 dizine eklenmiş LogEntry alanları daha ayrıntılı olarak belirtebilirsiniz. Ayrıntılar için Günlük girişlerini hızlıca bulma başlıklı makaleyi inceleyin.

Aşağıda, Firebase projesi, klasör veya kuruluş tanımlayıcıları için değişkenler içeren denetleme günlüğü adları verilmiştir:

   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

Google Cloud Console, gcloud komut satırı aracı veya Logging API'yi kullanarak Cloud Logging'deki denetim günlüklerini görüntüleyebilirsiniz.

Konsol

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

  1. Google Cloud Console'da Günlüğe Kaydetme > Günlük Gezgini sayfasına gidin.

    Günlük Gezgini sayfasına gidin

  2. Logs Explorer 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ü bölümünde, denetim günlüklerini görmek istediğiniz Google Cloud kaynağını seçin.

    • 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'i seçin.
      • Politika reddedildi denetleme günlükleri için policy'yi (politika) seçin.

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

    Günlük Gezgini'ni kullanarak sorgu oluşturma hakkında daha fazla bilgi için Günlük sorguları oluşturma başlıklı makaleyi inceleyin.

gcloud

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

Firebase proje düzeyindeki denetleme 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 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 Günlük girişlerini okuma başlıklı makaleyi inceleyin.

API

Sorgularınızı oluştururken değişkenleri geçerli değerlerle değiştirin, denetim günlüğü adlarında listelendiği gibi uygun proje düzeyinde, klasör düzeyinde veya kuruluş düzeyinde denetim günlüğü adını ya da tanımlayıcılarını kullanın. Örneğin, sorgunuzda PROJECT_ID varsa sağladığınız proje tanımlayıcısı, şu anda seçili olan Firebase projesini referans almalıdır.

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

  1. entries.list yönteminin dokümanlarındaki Try this API (Bu API'yi deneyin) bölümüne gidin.

  2. Aşağıdakileri Try this API formunun Request body (İstek metni) bölümüne girin. Bu önceden doldurulmuş formu tıkladığınızda istek gövdesi otomatik olarak doldurulur ancak her günlük adında 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. Execute (Çalıştır) düğmesini tıklayın.

Sorgulama hakkında daha fazla bilgi için Günlük sorgu dili bölümüne bakın.

Denetleme günlüğü girişinin bir örneği ve bu girişteki en önemli bilgilerin nasıl bulunacağı hakkında bilgi edinmek için Örnek denetleme günlüğü girişi başlıklı makaleyi inceleyin.

Rota denetleme günlükleri

Diğer günlük türlerini yönlendirebildiğiniz gibi denetleme günlüklerini de desteklenen hedeflere yönlendirebilirsiniz. Denetim günlüklerinizi yönlendirmek istemenizin bazı nedenleri şunlardır:

  • Denetim günlüklerini daha uzun süre saklamak veya daha güçlü arama özelliklerini kullanmak için denetim 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 depolara ve üçüncü taraflara yönlendirme yapabilirsiniz.

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

  • Etkinleştirilen veri erişimi denetleme günlükleriniz Firebase projelerinizi günlük tahsisinizin üzerine çıkarıyorsa Logging'den veri erişimi denetleme günlüklerini hariç tutan havuzlar oluşturabilirsiniz.

Günlükleri yönlendirme talimatları için Hedefleri yapılandırma başlıklı makaleyi inceleyin.

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 Reddedildi denetleme günlükleri ücretlidir.

Cloud Logging fiyatlandırması hakkında daha fazla bilgi için Google Cloud'un işlem paketi fiyatlandırması: Cloud Logging başlıklı makaleyi inceleyin.