ऑडिट लॉगिंग

इस पेज पर, Cloud Search के उन ऑडिट लॉग के बारे में बताया गया है जिन्हें वह Cloud Audit Logs के तहत बनाता है.

खास जानकारी

Google Cloud की सेवाएं, ऑडिट लॉग लिखती हैं. इससे आपको अपने संसाधनों में "किसने क्या किया, कहाँ, और कब" के बारे में जानकारी मिलती है. आपके Cloud प्रोजेक्ट में, सिर्फ़ उन संसाधनों के ऑडिट लॉग होते हैं जो सीधे तौर पर प्रोजेक्ट में मौजूद होते हैं. फ़ोल्डर, संगठन, और Cloud Billing खातों जैसी अन्य इकाइयों में, अपने-अपने ऑडिट लॉग होते हैं.

खास जानकारी के लिए, क्लाउड ऑडिट लॉग देखें. ज़्यादा जानकारी के लिए, ऑडिट लॉग के बारे में जानकारी लेख पढ़ें.

Cloud Audit Logs, हर Cloud प्रोजेक्ट, फ़ोल्डर, और संगठन के लिए ये लॉग उपलब्ध कराता है:

  • एडमिन की गतिविधि के ऑडिट लॉग: एडमिन के लिखने से जुड़ी कार्रवाइयां करने वाले तरीकों के लिए एंट्री.
  • डेटा ऐक्सेस ऑडिट लॉग: एडमिन के पढ़ने, डेटा लिखने, और डेटा पढ़ने की कार्रवाइयां करने वाले तरीकों के लिए एंट्री.
  • सिस्टम इवेंट के ऑडिट लॉग
  • नीति के उल्लंघन की वजह से ऑडिट लॉग ऐक्सेस करने की अनुमति नहीं दी गई

Cloud Search, एडमिन की गतिविधि से जुड़े ऑडिट लॉग लिखता है. इससे उन कार्रवाइयों को रिकॉर्ड किया जाता है जिनसे संसाधन के कॉन्फ़िगरेशन या मेटाडेटा में बदलाव होता है. एडमिन की गतिविधि के ऑडिट लॉग बंद नहीं किए जा सकते.

Cloud Search, डेटा ऐक्सेस ऑडिट लॉग सिर्फ़ तब लिखता है, जब आपने उन्हें चालू किया हो. इन लॉग में ऐसे एपीआई कॉल शामिल होते हैं जो रिसॉर्स कॉन्फ़िगरेशन या मेटाडेटा को पढ़ते हैं. साथ ही, इनमें उपयोगकर्ता के एपीआई कॉल भी शामिल होते हैं. ये कॉल, उपयोगकर्ता से मिले रिसॉर्स डेटा को बनाते, बदलते या पढ़ते हैं.

Cloud Search, सिस्टम इवेंट या नीति के उल्लंघन की वजह से ऑडिट लॉग नहीं लिखता.

ऑडिट किए गए ऑपरेशन

यहां दी गई टेबल में इस बारे में खास जानकारी दी गई है कि Cloud Search में, हर ऑडिट लॉग टाइप से कौनसा एपीआई ऑपरेशन जुड़ा है:

ऑडिट लॉग कैटगरी Cloud Search की कार्रवाइयां
एडमिन की गतिविधि: एडमिन ने लिखा 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
डेटा ऐक्सेस: एडमिन के पास पढ़ने का ऐक्सेस indexing.datasources.getSchema
settings.datasources.get
settings.datasources.list
settings.searchapplications.get
settings.searchapplications.list
settings.getCustomer
cloudsearch.IdentitySourceService.get
cloudsearch.IdentitySourceService.list
डेटा ऐक्सेस: डेटा लिखने की अनुमति 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
डेटा ऐक्सेस: डेटा पढ़ा गया 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

ऑडिट लॉग का फ़ॉर्मैट

ऑडिट लॉग एंट्री में ये ऑब्जेक्ट शामिल होते हैं. इन्हें Cloud Logging में देखा जा सकता है. इसके लिए, Logs Explorer, Cloud Logging API या gcloud कमांड-लाइन टूल का इस्तेमाल करें.

लॉग एंट्री खुद एक LogEntry ऑब्जेक्ट होती है. इन फ़ील्ड का इस्तेमाल किया जा सकता है:

  • logName: संसाधन का आईडी और ऑडिट लॉग का टाइप.
  • resource: ऑडिट किए गए ऑपरेशन का टारगेट.
  • timeStamp: ऑडिट किए गए ऑपरेशन का समय.
  • protoPayload: ऑडिट की गई जानकारी.

ऑडिट लॉगिंग का डेटा, protoPayload फ़ील्ड में मौजूद AuditLog ऑब्जेक्ट होता है.

सेवा के हिसाब से ऑडिट की जानकारी देने वाला ऑब्जेक्ट, सेवा के हिसाब से ऑब्जेक्ट होता है. पहले के इंटिग्रेशन के लिए, यह ऑब्जेक्ट AuditLog ऑब्जेक्ट के serviceData फ़ील्ड में होता है. बाद के इंटिग्रेशन, metadata फ़ील्ड का इस्तेमाल करते हैं.

ज़्यादा जानकारी के लिए, ऑडिट लॉग के बारे में जानकारी लेख पढ़ें.

लॉग का नाम

क्लाउड ऑडिट लॉग के संसाधन के नाम से पता चलता है कि लॉग का मालिकाना हक किस प्रोजेक्ट या Google Cloud इकाई के पास है. साथ ही, इससे ऑडिट लॉग के टाइप के बारे में भी पता चलता है. उदाहरण के लिए:

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

सेवा का नाम

Cloud Search के ऑडिट लॉग, सेवा के नाम cloudsearch.googleapis.com का इस्तेमाल करते हैं.

संसाधन के टाइप

Cloud Search के ऑडिट लॉग, सभी लॉग के लिए audited_resource संसाधन टाइप का इस्तेमाल करते हैं. अन्य संसाधन टाइप के लिए, मॉनिटर किए गए संसाधन टाइप देखें.

ऑडिट लॉगिंग की सुविधा चालू करना

Cloud Search API के लिए, ऑडिट लॉगिंग की सुविधा डिफ़ॉल्ट रूप से बंद होती है. Cloud Search के लिए ऑडिट लॉगिंग की सुविधा चालू करने के लिए:

  1. (ज़रूरी नहीं) अगर आपने लॉग सेव करने के लिए Google Cloud प्रोजेक्ट नहीं बनाया है, तो Cloud Search API का ऐक्सेस कॉन्फ़िगर करें लेख पढ़ें.
  2. उस Google Cloud प्रोजेक्ट का आईडी पाएं जिसमें आपको लॉग सेव करने हैं. प्रोजेक्ट की पहचान करना लेख पढ़ें.
  3. किसी एपीआई के लिए, चालू की जाने वाली लॉग कैटगरी तय करें. ऑडिट किए गए ऑपरेशन देखें.
  4. कैटगरी के साथ auditLogSettings को अपडेट करने के लिए, updateCustomer() REST API तरीके का इस्तेमाल करें:

    1. OAuth 2.0 का ऐक्सेस टोकन पाएं. OAuth 2.0 का इस्तेमाल करके, Google API को ऐक्सेस करना लेख पढ़ें. इनमें से किसी एक स्कोप का इस्तेमाल करें:
      • 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. यह कर्ल कमांड चलाएं: bash 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" } }' YOUR_ACCESS_TOKEN, PROJECT_ID, और कैटगरी (logAdminReadActions, logDataWriteActions या logDataReadActions) बदलें. एडमिन के पास, लिखने की अनुमतियां डिफ़ॉल्ट रूप से चालू होती हैं. क्वेरी के तरीकों को लॉग करने के लिए, डेटा रीड कैटगरी चालू करें.

      Cloud Search API को किए गए बाद के अनुरोधों के लॉग, तय किए गए प्रोजेक्ट में जनरेट होते हैं.

  5. क्वेरी के तरीकों के लिए ऑडिट लॉगिंग के लिए, डेटा पढ़ने की कैटगरी ज़रूरी है. query.sources.list, query.suggest, और query.search के लिए लॉगिंग की सुविधा चालू करने के लिए:

    1. हर खोज ऐप्लिकेशन के लिए, searchapplications/<search_application_id> के फ़ॉर्म में नाम वापस पाएं.
    2. enableAuditLog को true पर सेट करके, settings.searchapplications.update को कॉल करें.
  6. cloudsearch.google.com से किए गए कॉल के लिए ऑडिट लॉगिंग चालू करने के लिए, पक्का करें कि डेटा रीड कैटगरी चालू हो. इसके बाद, searchapplications/default को अपडेट करें.

Google Cloud Console के लॉग एक्सप्लोरर में लॉग देखें. Cloud Search के ऑडिट लॉग के लिए, इस फ़िल्टर का इस्तेमाल करें:

protoPayload.serviceName="cloudsearch.googleapis.com"

ज़्यादा जानकारी के लिए, लॉग एक्सप्लोरर की खास जानकारी देखें.

ऑडिट लॉग की अनुमतियां

पहचान और ऐक्सेस मैनेजमेंट (आईएएम) अनुमतियों से यह तय होता है कि कौनसे लॉग देखे या एक्सपोर्ट किए जा सकते हैं. ज़्यादा जानकारी के लिए, भूमिकाओं के बारे में जानकारी लेख पढ़ें.

एडमिन की गतिविधि के ऑडिट लॉग देखने के लिए, आपके पास इनमें से कोई एक IAM भूमिका होनी चाहिए:

डेटा ऐक्सेस के ऑडिट लॉग देखने के लिए, आपके पास इनमें से कोई एक भूमिका होनी चाहिए:

अगर किसी प्रोजेक्ट के बजाय किसी अन्य इकाई, जैसे कि संगठन के ऑडिट लॉग का इस्तेमाल किया जा रहा है, तो Cloud प्रोजेक्ट की भूमिकाओं को संगठन की सही भूमिकाओं में बदलें.

लॉग देखें

लॉग देखने के लिए, आपको Cloud प्रोजेक्ट, फ़ोल्डर या संगठन का आइडेंटिफ़ायर चाहिए. resource.type जैसे अन्य LogEntry फ़ील्ड तय किए जा सकते हैं. लॉग एक्सप्लोरर में क्वेरी बनाना लेख पढ़ें.

ऑडिट लॉग के नाम इस फ़ॉर्मैट में होते हैं:

   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

आपके पास ऑडिट लॉग एंट्री देखने के कई विकल्प हैं.

कंसोल

  1. Google Cloud Console में, लॉगिंग > लॉग एक्सप्लोरर पेज पर जाएं. लॉग एक्सप्लोरर पर जाएं
  2. अपना प्रोजेक्ट चुनें.
  3. क्वेरी बिल्डर पैनल में, संसाधन और लॉग टाइप चुनें. नए लॉग एक्सप्लोरर का इस्तेमाल करके क्वेरी करने के बारे में ज़्यादा जानने के लिए, लॉग एक्सप्लोरर में क्वेरी बनाना लेख पढ़ें.

gcloud

प्रोजेक्ट-लेवल के लॉग के लिए, यह कमांड चलाएं:

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" 
--project=PROJECT_ID

एपीआई

  1. entries.list तरीके के लिए, इस एपीआई को आज़माएं सेक्शन पर जाएं.
  2. इस अनुरोध के मुख्य हिस्से का इस्तेमाल करें. साथ ही, PROJECT_ID की जगह अपना चुना गया प्रोजेक्ट आईडी डालें:
    {
    "resourceNames": ["projects/PROJECT_ID"],
    "pageSize": 5,
    "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
  3. लागू करें पर क्लिक करें.

क्वेरी करने के बारे में ज़्यादा जानने के लिए, लॉगिंग क्वेरी लैंग्वेज देखें.

ऑडिट लॉग की एंट्री का सैंपल और उसमें मौजूद सबसे अहम जानकारी ढूंढने का तरीका जानने के लिए, ऑडिट लॉग को समझना लेख पढ़ें.

ऑडिट लॉग एक्सपोर्ट करना

ऑडिट लॉग को अन्य लॉग की तरह एक्सपोर्ट किया जा सकता है. लॉग एक्सपोर्ट करना लेख पढ़ें.

  • डेटा को ज़्यादा समय तक सेव रखने या बेहतर तरीके से खोजने के लिए, उसे Cloud Storage, BigQuery या Pub/Sub में एक्सपोर्ट करें.
  • किसी संगठन के सभी लॉग मैनेज करने के लिए, एग्रीगेट किए गए सिंक का इस्तेमाल करें.
  • लॉग के बंटवारे को मैनेज करने के लिए, डेटा ऐक्सेस लॉग को शामिल न करें. लॉग शामिल न करना लेख पढ़ें.

कीमत और सदस्यों को जोड़े रखना

Cloud Logging, एडमिन की गतिविधि के ऑडिट लॉग के लिए कोई शुल्क नहीं लेता है. Cloud Logging, डेटा ऐक्सेस ऑडिट लॉग के लिए शुल्क लेता है. Google Cloud का कार्रवाइयों वाला सुइट की कीमत देखें.

Cloud Search के ऑडिट लॉग सेव करने की अवधि:

  • एडमिन की गतिविधि के लॉग: 400 दिन.
  • डेटा ऐक्सेस करने के लॉग: 30 दिन.

मौजूदा सीमाएं

Cloud Search की ऑडिट लॉगिंग से जुड़ी सीमाएं:

  • लॉग एंट्री का साइज़ 512 केबी से कम होना चाहिए. अगर कोई एंट्री 512 केबी से ज़्यादा है, तो response फ़ील्ड हटा दिया जाता है. अगर यह अब भी 512 केबी से ज़्यादा है, तो request फ़ील्ड हटा दिया जाता है. अगर यह अब भी 512 केबी से ज़्यादा है, तो पूरी एंट्री हटा दी जाती है.
  • list(), get(), और suggest() तरीकों के लिए, जवाब के मुख्य हिस्से को लॉग नहीं किया जाता.
  • सिर्फ़ cloudsearch.google.com और ग्राहक खोज ऐप्लिकेशन से किए गए क्वेरी कॉल लॉग किए जाते हैं.
  • search() कॉल के लिए, अनुरोध में सिर्फ़ Query, RequestOptions, और DataSourceRestriction को लॉग किया जाता है. जवाब में सिर्फ़ यूआरएल और मेटाडेटा की जांच की जाती है.
  • डेटा एक्सपोर्ट करने के लिए, बैकएंड कॉल की ऑडिट नहीं की जाती.