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 birAuditLog
nesnesidir.Hizmete özgü bir nesne olan isteğe bağlı hizmete özgü denetleme bilgileri. Eski entegrasyonlarda bu nesne,
AuditLog
nesnesininserviceData
alanında tutulur. Daha yeni entegrasyonlarda isemetadata
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:
Google Cloud Console'da Günlüğe Kaydetme > Günlük Gezgini sayfasına gidin.
Logs Explorer 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, 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:
entries.list
yönteminin dokümanlarındaki Try this API (Bu API'yi deneyin) bölümüne gidin.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" }
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.