Bu sayfada, Cloud Denetleme Günlükleri'nin bir parçası olarak Firebase tarafından 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, Firebase projenize bağlı Google Cloud projesinin bir parçası olarak sağlanan Cloud denetim günlükleridir.
Firebase projelerinizin her biri yalnızca doğrudan projede bulunan kaynakların denetim günlüklerini içerir.
Cloud Denetleme Günlükleri'ne genel bir bakış için Cloud Denetleme Günlükleri'ne genel bakış başlıklı makaleyi inceleyin. Denetleme günlüğü biçimini daha iyi anlamak için Denetleme günlüklerini anlama bölümünü 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 veri 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. Kullanıcı tarafından sağlanan verileri okuyan veya yazan "veri okuma" ve "veri yazma" işlemlerini de içerir.
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.
Denetlenen 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.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 |
ADMIN_WRITE |
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 |
Denetleme günlüğü biçimi
Denetleme günlüğü girişleri aşağıdaki nesneleri içerir:
Günlük girişinin kendisidir.
LogEntry
türündeki bir nesnedir. 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.
Günlük girişinin
protoPayload
alanında tutulan birAuditLog
nesnesi olan denetleme günlüğü verileri.Hizmete özel bir nesne olan isteğe bağlı hizmete özel denetim bilgileri. Daha eski entegrasyonlar için bu nesne
AuditLog
nesnesininserviceData
alanında tutulur; yeni entegrasyonlar isemetadata
alanını kullanır.
Bu nesnelerdeki diğer alanlar ve bunların nasıl yorumlanacağı hakkında bilgi edinmek için Denetleme günlüklerini anlama bölümünü inceleyin.
Günlük adı
Cloud Denetleme Günlükleri kaynak adları, Firebase projesini veya denetleme günlüklerinin sahibi olan diğer varlığı ve günlüğün Yönetici Etkinliği, Veri Erişimi, Politika Reddedildi veya Sistem Etkinliği denetleme günlük kaydı verilerini içerip içermediğini belirtir. Örneğin, aşağıdaki örnekte proje düzeyinde yönetici etkinliği denetleme günlüklerinin ve bir kuruluşun veri erişimi denetleme günlüklerinin günlük adları gösterilmektedir. Değişkenler, Firebase proje 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ükleri firebasedataconnect.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 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.
Cloud Logging'de izlenen tüm kaynak türlerinin listesi ve açıklayıcı bilgiler için İzlenen kaynak türleri bölümüne bakın.
Denetleme günlük kaydı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 (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 Veri Erişimi günlüklerini yapılandırma bölümüne bakın.
İzinler ve roller
Cloud IAM izinleri ve rolleri, Google Cloud kaynaklarındaki denetleme günlük verilerine erişme olanağınızı belirler.
Kullanım alanınız için hangi günlüğe ö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. Sadece 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
'da bulunan izinlerin yanı sıra_Default
paketindeki Veri Erişimi denetleme günlüklerini okuma olanağı sunar.Bu gizli günlükler kullanıcı tanımlı paketlerde depolanıyorsa bu paketlerdeki günlükleri okuma iznine sahip olan tüm kullanıcıların gizli günlükleri okuyabileceğini unutmayın. Günlük paketleri hakkında daha fazla bilgi için Yönlendirme ve depolamaya genel bakış sayfasını inceleyin.
Denetleme günlükleri verilerine uygulanan Cloud IAM izinleri ve rolleri hakkında daha fazla bilgi 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ük 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 dizine eklenmiş diğer LogEntry
alanlarını daha ayrıntılı belirtebilirsiniz. Ayrıntılar için Günlük girişlerini hızlıca bulma bölümünü inceleyin.
Aşağıda, Firebase projesinin, klasörünün veya kuruluşunun tanımlayıcılarına yönelik 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'u, gcloud
komut satırı aracını veya Logging API'yi kullanarak Cloud Logging'da denetim günlüklerini görüntüleyebilirsiniz.
Konsol
Firebase projeniz, klasörünüz veya kuruluşunuzun denetleme günlüğü girişlerinizi almak için Google Cloud konsolundaki Günlük Gezgini'ni kullanabilirsiniz:
Google Cloud konsolunda Günlük Kaydı > Günlük Gezgini sayfasına gidin.
Günlük Gezgini sayfasında mevcut bir Firebase projesi, klasörü veya kuruluşu seçin.
Sorgu oluşturucu bölmesinde aşağıdakileri yapın:
Kaynak türü bölümünde, denetleme 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 denetim 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 seçin.
Bu seçenekleri görmüyorsanız Firebase projesinde, klasöründe veya kuruluşunda bu tür bir denetleme günlüğü yok demektir.
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 için bir komut satırı arayüzü sağlar. Her bir günlük adında geçerli bir PROJECT_ID
, FOLDER_ID
veya ORGANIZATION_ID
değeri belirtin.
Firebase proje düzeyindeki denetleme günlük 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 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 edinmek 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; proje düzeyinde, klasör düzeyinde veya kuruluş düzeyinde uygun denetleme günlüğü adını ya da tanımlayıcıları denetleme günlüğü adlarında listelendiği şekilde değiştirin. Ö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 üzere Logging API'yi kullanmak için aşağıdakileri yapın:
entries.list
yönteminin dokümanlarında Bu API'yi deneyin bölümüne gidin.Aşağıdakini Bu API'yi deneyin formunun İstek gövdesi bölümüne girin. Önceden doldurulmuş bu form tıklandığında istek gövdesi otomatik olarak doldurulur, ancak her günlük adı için geçerli bir
PROJECT_ID
sağlamanız gerekir.{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
Yürüt'ü tıklayın.
Sorgulama hakkında daha fazla bilgi için Logging sorgu dili bölümüne bakın.
Denetleme günlüğü girişi örneği ve içerdiği en önemli bilgileri bulma ile ilgili bir örnek için Örnek denetleme günlüğü girişi bölümünü inceleyin.
Denetleme günlüklerini yönlendir
Diğer günlük türlerini yönlendirdiğiniz gibi denetim günlüklerini desteklenen hedeflere yönlendirebilirsiniz. Denetleme günlüklerinizi yönlendirmek istemenizin bazı nedenleri şunlardır:
Denetleme günlüklerini daha uzun bir süre saklamak 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 depolara ve üçüncü taraflara yönlendirme yapabilirsiniz.
Kuruluşun tamamında denetim günlüklerinizi yönetmek için kuruluştaki herhangi bir Firebase projesinden veya tüm projelerden gelen günlükleri yönlendirebilen toplu alıcılar oluşturabilirsiniz.
- Etkinleştirilmiş Veri Erişimi denetleme günlükleriniz Firebase projelerinizi günlük servis birimlerinizin üzerine aktarıyorsa Veri Erişimi denetleme günlüklerini Logging'den hariç tutan havuzlar oluşturabilirsiniz.
Günlükleri yönlendirmeyle ilgili talimatlar için Toplayıcıları 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.