Denetleme günlüğü

Bu sayfada Cloud Search'ün, Cloud Denetleme Günlükleri kapsamında oluşturduğu denetleme günlükleri açıklanmaktadır.

Genel Bakış

Google Cloud hizmetleri, kaynaklarınızda "Kim neyi, nerede ve ne zaman yaptı?" sorularını yanıtlamanıza yardımcı olmak için denetleme günlükleri yazar. Cloud projelerinizde yalnızca doğrudan proje içinde bulunan kaynakların denetim günlükleri yer alır. Klasörler, kuruluşlar ve Cloud Faturalandırma hesapları gibi diğer öğeler, öğenin kendisine ait denetleme günlüklerini içerir.

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

Cloud Denetleme Günlükleri, her Cloud projesi, klasörü ve kuruluşu için aşağıdaki denetleme günlüklerini sağlar:

  • Yönetici yazma işlemlerini gerçekleştiren yöntemlere karşılık gelen girişleri içeren Yönetici Etkinliği denetleme günlükleri. Yönetici Etkinliği:Yönetici yazma işlemleri ile ilgili yöntemler, yakında yayınlanacak Denetlenen işlemler bölümünde ele alınacaktır.
  • Yönetici okuma, veri yazma ve veri okuma işlemlerini gerçekleştiren yöntemlere karşılık gelen girişleri içeren Veri Erişimi denetleme günlükleri. Veri Erişimi:Yönetici okuma, Veri Erişimi:Veri yazma, Veri Erişimi:Veri okuma işlemlerine karşılık gelen yöntemler, yakında yayınlanacak Denetlenen işlemler bölümünde ele alınacaktır.
  • Sistem Etkinliği denetleme günlükleri
  • Politika reddedildi denetleme günlükleri

Cloud Search, bir kaynağın yapılandırmasını veya meta verilerini değiştiren işlemleri kaydeden yönetici etkinliği denetleme günlükleri yazar. Yönetici Etkinliği denetleme günlüklerini devre dışı bırakamazsınız.

Cloud Search, Veri Erişimi denetleme günlüklerini yalnızca açıkça etkinleştirilmişse yazar. Veri erişimi denetim günlükleri, kaynakların yapılandırmasını veya meta verilerini okuyan API çağrılarının yanı sıra kullanıcı tarafından sağlanan kaynak verilerini oluşturan, değiştiren ya da okuyan kullanıcı odaklı API çağrılarını içerir.

Cloud Search, sistem etkinliği denetleme günlükleri yazmaz.

Cloud Search, politika reddedildi denetleme günlükleri yazmaz.

Denetlenmiş işlemler

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

Denetleme günlükleri kategorisi Cloud Search işlemleri
Yönetici Etkinliği: Yönetici yazma indexing.datasources.updateSchema
indexing.datasources.deleteSchema
settings.datasources.create
settings.datasources.delete
settings.datasources.update
settings.searchapplications.create
settings.searchapplications.delete
settings.searchapplications.reset
settings.searchapplications.update
settings.updateCustomer
cloudsearch.IdentitySourceService.create
cloudsearch.IdentitySourceService.update
cloudsearch.IdentitySourceService.delete
Veri erişimi: Yönetici okuma indexing.datasources.getSchema
settings.datasources.get
settings.datasources.list
settings.searchapplications.get
settings.searchapplications.list
settings.getCustomer
cloudsearch.IdentitySourceService.get
cloudsearch.IdentitySourceService.list
Veri erişimi: Veri yazma indexing.datasources.items.delete
indexing.datasources.items.deleteQueueItems
indexing.datasources.items.index
indexing.datasources.items.poll
indexing.datasources.items.push
indexing.datasources.items.unreserve
indexing.datasources.items.upload
media.upload
Veri erişimi: Veri okuma indexing.datasources.items.get
indexing.datasources.items.list
operations.get
operations.list
debug.datasources.items.checkAccess
debug.datasources.items.searchByViewUrl
stats.getIndex
stats.getQuery
stats.getSession
stats.getUser
stats.index.datasources.get
stats.query.searchapplications.get
stats.session.searchapplications.get
stats.user.search applications.get
debug.identitysources.items.listForunmappedidentity
debug.identitysources.unmappedids.list
debug.datasources.items.unmappedids.list
query.sources.list
query.suggest
query.search
stats.getSearchapplication

Denetleme günlüğü biçimi

Günlük Gezgini, Cloud Logging API veya gcloud komut satırı aracı kullanılarak Cloud Logging'de görüntülenebilen 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ü denetim bilgileri. Daha önceki entegrasyonlarda bu nesne, AuditLog nesnesinin serviceData alanında tutulur. Daha sonraki 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 Cloud projesini veya diğer Google Cloud varlığını 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üklerinin ve bir kuruluşun veri erişimi denetleme günlüklerinin günlük adları gösterilmektedir. Değişkenler, 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ı

Cloud Search denetleme günlüklerinde cloudsearch.googleapis.com hizmet adı kullanılır.

Kaynak türleri

Cloud Search denetleme günlükleri, tüm denetleme günlükleri için audited_resource kaynak türünü kullanır.

Diğer kaynak türlerinin listesi için İzlenen kaynak türleri başlıklı makaleye bakın.

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

Denetleme günlüğü, Cloud Search API için varsayılan olarak devre dışıdır. Google Cloud Search için denetleme günlük kaydını etkinleştirmek üzere:

  1. (isteğe bağlı) Günlükleri depolamak için bir Google Cloud Platform projesi oluşturmadıysanız Google Cloud Search API'ye erişimi yapılandırma başlıklı makaleye bakın.

  2. Günlükleri depolamak istediğiniz Google Cloud'un proje kimliğini alın. Proje kimliğini nasıl edineceğinizi öğrenmek için Projeleri tanımlama başlıklı makaleyi inceleyin.

  3. Belirli bir API için denetim günlüğünü etkinleştirmek üzere, etkinleştirilecek günlük kategorisini belirlemeniz gerekir. API'ler ve ilgili kategoriler için bu belgenin önceki bölümlerinde yer alan Denetlenmiş işlemler'e bakın.

  4. Denetleme günlüğü ayarlarını etkinleştirilecek günlük kategorileriyle güncellemek için updateCustomer() REST API yöntemini kullanın:

    1. Google yetkilendirme sunucusundan bir OAuth 2.0 erişim jetonu alın. Jetonu edinme hakkında bilgi için Google API'lerine erişmek için OAuth 2.0'ı kullanma başlıklı makalenin 2. adımına bakın. Erişim jetonunu alırken aşağıdaki OAuth kapsamlarından birini kullanın:

      • https://www.googleapis.com/auth/cloud_search.settings.indexing
      • https://www.googleapis.com/auth/cloud_search.settings
      • https://www.googleapis.com/auth/cloud_search
    2. Aşağıdaki curl komutunu çalıştırın.

    curl --request PATCH \
    'https://cloudsearch.googleapis.com/v1/settings/customer?updateMask=auditLoggingSettings&key=[YOUR_API_KEY]' \
    --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
    --header 'Content-Type: application/json' \
    --data '{"auditLoggingSettings": { "project": "projects/PROJECT_ID", "CATEGORY1": "true", "CATEGORY2": "true" } }'
    

    Burada:

    • YOUR_ACCESS_TOKEN, 4a adımında elde edilen OAuth 2.0 erişim jetonudur.
    • PROJECT_ID, 2. adımda elde edilen proje kimliğidir.
    • CATEGORY1, CATEGORY2, , 3. adımda etkinleştirmek için seçtiğiniz kategorilerdir. Geçerli değerler logAdminReadActions, logDataWriteActions ve logDataReadActions şeklindedir. Yönetici yazma işlemleri varsayılan olarak etkindir ve devre dışı bırakılamaz. Sorgu yöntemleri için denetleme günlüğü kaydı istiyorsanız Veri okuma kategorisini etkinleştirmeniz gerekir.

    AuditLoggingSettings güncellendikten sonra Cloud Search API'ye yapılan diğer istekler, AuditLoggingSettings içinde belirtilen proje kimliğinde bir denetleme günlüğü oluşturur.

  5. Sorgu yöntemleri için denetleme günlüğü oluşturma özelliğinin kullanılabilmesi için Veri okuma kategorisinin etkinleştirilmesi gerekir (4. adımda yapılır). Sorgu yöntemleri (query.sources.list, query.suggest ve query.search) için denetleme günlüğünü etkinleştirmek istiyorsanız şu ek adımları uygulayın:

    1. Denetim günlüğünü etkinleştirmek istediğiniz her arama uygulaması için adı alın. Ad, searchapplications/<search_application_id> biçiminde olmalıdır.

    2. settings.searchapplications.update ile aramak için adı kullanın.enableAuditLog, true olarak ayarlanmalıdır.

  6. cloudsearch.google.com'dan gelen çağrılar için denetleme günlüğünü etkinleştirmek istiyorsanız Veri okuma kategorisinin etkinleştirildiğinden emin olun (4. adım). Ayrıca, name değeri searchapplications/default olan 5b adımını uygulayın .

Etkinleştirildikten sonra günlükler, Google Cloud Console'un Günlük Gezgini bölümünde görüntülenebilir. Yalnızca Cloud Search denetleme günlüklerini görüntülemek için aşağıdaki filtreyi kullanın:

protoPayload.serviceName="cloudsearch.googleapis.com"

Günlükleri görüntüleme hakkında bilgi için Günlük Gezgini'ne genel bakış başlıklı makaleyi inceleyin.

Denetleme günlüğü izinleri

Görüntüleyebileceğiniz veya dışa aktarabileceğiniz denetleme günlükleri, Identity and Access Management izinleri ve rolleri tarafından belirlenir. Günlükler, Cloud projelerinde ve kuruluşlar, klasörler ve Cloud Faturalandırma hesapları gibi diğer bazı varlıklarda bulunur. Daha fazla bilgi için Rolleri anlama başlıklı makaleyi inceleyin.

Yönetici Etkinliği denetleme günlüklerini görüntülemek için denetleme günlüklerinizi içeren projede aşağıdaki IAM rollerinden birine sahip olmanız gerekir:

  • Proje Sahibi, Proje Düzenleyicisi veya Proje Görüntüleyicisi
  • Logging Logs Viewer rolü
  • logging.logEntries.list IAM iznine sahip bir özel IAM rolü

Veri erişimi denetleme günlüklerini görüntülemek için denetleme günlüklerinizi içeren projede aşağıdaki rollerden birine sahip olmanız gerekir:

Proje dışı bir varlığın (ör. kuruluş) denetleme günlüklerini kullanıyorsanız Cloud projesi rollerini uygun kuruluş rolleriyle değiştirin.

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 Cloud 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 Gezgini'nde sorgu oluşturma başlıklı makaleyi inceleyin.

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

   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üğü girişlerinizi görüntülemek için çeşitli seçenekleriniz vardır.

Konsol

Cloud Console'daki Günlük Gezgini'ni kullanarak Cloud projenizle ilgili denetleme günlüğü girişlerinizi alabilirsiniz:

  1. Cloud Console'da Günlük kaydı > Logs Explorer sayfasına gidin.

    Günlük Gezgini sayfasına gidin

  2. Günlük Gezgini sayfasında mevcut bir Cloud projesini seçin.

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

    • Kaynak bölümünde, denetim günlüklerini görmek istediğiniz Google Cloud kaynak türü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 Cloud projesinde bu türde denetim günlükleri yoktur.

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

gcloud

gcloud, Logging API için bir 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.

Google Cloud 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 gcloud logging read başlıklı makaleyi inceleyin.

API

Sorgularınızı oluştururken değişkenleri geçerli değerlerle değiştirin, uygun proje düzeyinde, klasör düzeyinde veya kuruluş düzeyinde denetim günlüğü adını ya da tanımlayıcılarını denetim günlüğü adlarında listelendiği şekilde kullanın. Örneğin, sorgunuzda PROJECT_ID varsa sağladığınız proje tanımlayıcısı, şu anda seçili olan Cloud 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.

Örnek bir denetleme günlüğü girişi ve bu girişteki en önemli bilgileri nasıl bulacağınız hakkında bilgi edinmek için Denetleme günlüklerini anlama başlıklı makaleyi inceleyin.

Denetleme günlüklerini dışa aktarma

Denetleme günlüklerini, diğer günlük türlerini dışa aktardığınız şekilde dışa aktarabilirsiniz. Günlüklerinizi nasıl dışa aktaracağınızla ilgili ayrıntılar için Günlükleri dışa aktarma başlıklı makaleyi inceleyin. Denetleme günlüklerini dışa aktarmanın bazı uygulamaları şunlardır:

  • Denetleme günlüklerini daha uzun süre saklamak veya daha güçlü arama özelliklerini kullanmak için denetleme günlüklerinizin kopyalarını Cloud Storage, BigQuery ya da Pub/Sub'a aktarabilirsiniz. Pub/Sub'ı kullanarak diğer uygulamalara, diğer depolara ve üçüncü taraflara dışa aktarma yapabilirsiniz.

  • Denetim günlüklerinizi kuruluşun tamamında yönetmek için kuruluş içindeki herhangi bir veya tüm Cloud projelerinden günlükleri dışa aktarabilen toplu havuzlar oluşturabilirsiniz.

  • Etkinleştirilen Veri Erişimi denetleme günlükleriniz Cloud projelerinizi günlük servis birimi sınırının üzerine çıkarıyorsa Veri Erişimi denetleme günlüklerini dışa aktarabilir ve Logging'den hariç tutabilirsiniz. Ayrıntılar için Günlükleri hariç tutma bölümünü inceleyin.

Fiyatlandırma ve elde tutma

Cloud Logging, devre dışı bırakılamayan denetleme günlükleri (tüm Yönetici Etkinliği denetleme günlükleri dahil) için sizden ücret almaz. Cloud Logging, açıkça istediğiniz Veri Erişimi denetleme günlükleri için sizden ücret alır.

Denetleme günlüklerinin fiyatlandırması hakkında daha fazla bilgi için Google Cloud'un işlem paketi fiyatlandırması sayfasına bakın.

Cloud Search denetleme günlükleriyle ilişkili depolama süresi şöyledir:

  • Yönetici etkinliği günlükleri (veya yönetici yazma): Bu günlükler 400 gün boyunca saklanır.
  • Veri erişimi günlükleri (Yönetici Okuma, Veri Yazma ve Veri Okuma): Bu günlükler 30 gün boyunca saklanır.

Saklama süresi hakkında daha fazla bilgi için Günlük saklama süreleri başlıklı makaleyi inceleyin.

Mevcut sınırlamalar

Cloud Search denetleme günlüğü şu anda aşağıdaki sınırlamalara sahiptir:

  • Günlük girişinin boyutu 512 KB'tan az olmalıdır. Boyut 512 KB'ı aşarsa yanıt, günlük girişinden çıkarılır. Bu işlem boyutu 512 KB veya daha düşük bir değere indirmezse istek bırakılır. Son olarak, boyut hâlâ 512 KB'ı aşıyorsa günlük girişi bırakılır.

  • Yanıt gövdeleri list(), get() ve suggest() yöntemleri için günlüğe kaydedilmez. Ancak yanıt durumları kullanılabilir.

  • Yalnızca cloudsearch.google.com (etkinse) ve müşteri arama uygulamalarından gelen Query API çağrıları kaydedilir.

  • search() aramaları için yalnızca Query, RequestOptions ve DataSourceRestriction istekte günlüğe kaydedilir. Yanıtta yalnızca her SearchResult için URL ve meta veriler (kaynak ve objectType) denetlenir.

  • Cloud Search arka ucuna verilen ve veri dışa aktarma işlemine karşılık gelen çağrılar denetlenmez.