Bu sayfada Firebase tarafından Bulut Denetim Günlüklerinin bir parçası olarak oluşturulan denetim 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 denetim günlükleri yazar. Bunlar, Firebase projenize bağlı Google Cloud Platform projesi kapsamında sağlanan Bulut Denetim Günlükleridir.
Firebase projelerinizin her biri yalnızca doğrudan proje içindeki kaynaklara ilişkin denetim günlüklerini içerir.
Bulut Denetim Günlüklerine genel bir bakış için Bulut Denetim Günlüklerine genel bakış bölümüne bakın. Denetim günlüğü biçimini daha iyi anlamak için bkz. Denetim günlüklerini anlama.
Mevcut denetim günlükleri
Firebase için Cloud Storage'da aşağıdaki denetim günlüğü türleri mevcuttur:
Yönetici Etkinliği denetim günlükleri
Meta verileri veya yapılandırma bilgilerini yazan "yönetici yazma" işlemlerini içerir.
Yönetici Etkinliği denetim günlüklerini devre dışı bırakamazsınız.
Denetim günlüğü türlerinin daha kapsamlı açıklamaları için bkz. Denetim günlüğü türleri .
Denetlenen operasyonlar
Aşağıda, Cloud Storage for Firebase'deki her denetim günlüğü türüne hangi API işlemlerinin karşılık geldiği özetlenmektedir:
Denetim günlükleri kategorisi | Firebase işlemleri için Cloud Storage | |
---|---|---|
Proje işlemleri | ||
Yönetici Etkinliği | kovalar.get kovalar.listesi Buckets.addFirebase Buckets.removeFirebase |
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. -
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 denetim günlüğü verileri.Hizmete özgü bir nesne olan isteğe bağlı hizmete özgü denetim bilgileri. Daha eski entegrasyonlarda bu nesne,
AuditLog
nesnesininserviceData
alanında tutulur; daha yeni entegrasyonlarmetadata
veri 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 GCP varlığını ve günlüğün Yönetici Etkinliği, Veri Erişimi, Reddedilen Politika veya Sistem Etkinliği denetim günlüğü verilerini içerip içermediğini belirtir. Örneğin, aşağıda proje düzeyinde Yönetici Etkinliği denetim günlükleri ve bir kuruluşun Veri Erişimi denetim günlükleri için 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 için Cloud Storage denetim günlükleri firebasestorage.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 konusuna bakın.
Kaynak türleri
Firebase için Cloud Storage denetim günlükleri, tüm denetim 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 bkz. İzlenen kaynak türleri .
Denetim günlüğünü etkinleştir
Yönetici Etkinliği denetim günlükleri her zaman etkindir; bunları devre dışı bırakamazsınız.
İzinler ve roller
Cloud IAM izinleri ve rolleri, GCP kaynaklarındaki denetim günlük verilerine erişme yeteneğinizi belirler.
Kullanım durumunuz için hangi Logging'e özgü izinlerin ve rollerin geçerli olacağına 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, Reddedilen İlke ve Sistem Olayı denetim günlüklerine salt okunur erişim sağlar. Yalnızca bu role sahipseniz_Default
paketindeki Veri Erişimi denetim günlüklerini görüntüleyemezsiniz.Özel Günlük Görüntüleyici rolü
(roles/logging.privateLogViewer
),roles/logging.viewer
dosyasında bulunan izinlerin yanı sıra_Default
paketindeki Veri Erişimi denetim günlüklerini okuma becerisini içerir.Bu özel günlükler kullanıcı tanımlı paketlerde saklanı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 kontrolü .
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 veya kuruluşun tanımlayıcısını bilmeniz gerekir. resource.type
gibi diğer indekslenmiş LogEntry
alanlarını da belirtebilirsiniz; ayrıntılar için Günlük girişlerini hızlı bir şekilde bulma konusunu inceleyin.
Denetim günlüğü adları aşağıdadır; Firebase projesinin, klasörünün veya kuruluşunun tanımlayıcılarına ilişkin değişkenleri 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 Cloud Logging'de GCP Konsolunu, gcloud
komut satırı aracını veya Logging API'sini kullanarak görüntüleyebilirsiniz.
Konsol
Firebase projenize, klasörünüze veya kuruluşunuza ilişkin denetim günlüğü girişlerinizi almak için GCP Konsolundaki Günlük Gezgini'ni kullanabilirsiniz:
GCP Konsolunda Günlük Kaydı > Günlük Gezgini sayfasına gidin.
Günlük Gezgini sayfasında mevcut bir Firebase projesini, klasörünü veya kuruluşunu seçin.
Sorgu oluşturucu bölmesinde aşağıdakileri yapın:
Kaynak türü alanında, denetim günlüklerini görmek istediğiniz GCP 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 denetim günlükleri için etkinlik seçeneğini seçin.
- Veri Erişimi denetim günlükleri için data_access'i seçin.
- Sistem Olayı denetim günlükleri için system_event öğesini seçin.
- Politika Reddedildi denetim günlükleri için politikayı seçin.
Bu seçenekleri görmüyorsanız Firebase projesinde, klasöründe veya kuruluşunda bu türden herhangi bir denetim günlüğü bulunmuyor demektir.
Günlük Gezgini'ni kullanarak sorgulama hakkında daha fazla ayrıntı için bkz . Günlük sorguları oluşturma .
gcloud
gcloud
komut satırı aracı, Cloud Logging API'ye bir komut satırı arayüzü sağlar. Günlük adlarının her birine geçerli bir PROJECT_ID
, FOLDER_ID
veya ORGANIZATION_ID
girin.
Firebase proje düzeyindeki 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ü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 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'si
Sorgularınızı oluştururken değişkenleri geçerli değerlerle değiştirin; uygun proje düzeyi, klasör düzeyi veya kuruluş düzeyinde denetim günlüğü adını veya denetim günlüğü adlarında listelenen tanımlayıcıları değiştirin. Örneğin, sorgunuz PROJECT_ID içeriyorsa sağladığınız proje tanımlayıcının o anda seçili olan Firebase projesine atıfta bulunması gerekir.
Denetim günlüğü girişlerinize bakmak amacıyla Günlük API'sini kullanmak için aşağıdakileri yapın:
entries.list
yöntemine ilişkin belgelerdeki Bu API'yi deneyin bölümüne gidin.Aşağıdakileri Bu API'yi Deneyin formunun İstek gövdesi kısmına ekleyin. Bu önceden doldurulmuş forma tıkladığınızda istek gövdesi otomatik olarak doldurulur, ancak günlük adlarının her birine 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 ayrıntı için bkz. Günlüğe kaydetme sorgu dili .
Denetim günlüğü girişi örneği ve buradaki en önemli bilgilerin nasıl bulunacağı için Örnek denetim günlüğü girişi bölümüne bakın.
Denetim günlüklerini yönlendir
Denetim günlüklerini, diğer türdeki günlükleri yönlendirdiğ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 saklamak veya daha güçlü arama özelliklerinden yararlanmak için denetim günlüklerinizin kopyalarını Google Cloud Storage, BigQuery veya Google Cloud Pub/Sub'a yönlendirebilirsiniz. Cloud Pub/Sub'u kullanarak diğer uygulamalara, diğer kod depolarına ve üçüncü taraflara yönlendirme yapabilirsiniz.
Denetim günlüklerinizi kuruluşun tamamında yönetmek için, kuruluştaki Firebase projelerinin herhangi birinden veya tümünden gelen günlükleri yönlendirebilecek toplu havuzlar oluşturabilirsiniz.
Yönlendirme günlüklerine ilişkin talimatlar için bkz . Havuzları yapılandırma .
Fiyatlandırma
Yönetici Etkinliği denetim günlükleri ve Sistem Etkinliği denetim günlükleri ücretsizdir.
Veri Erişimi denetim günlükleri ve Politika Reddedildi denetim günlükleri ücrete tabidir.
Cloud Logging fiyatlandırması hakkında daha fazla bilgi için Google Cloud'un işlem paketi fiyatlandırmasına bakın: Cloud Logging .