इस दस्तावेज़ में Firebase रीयल टाइम डेटाबेस के लिए ऑडिट लॉगिंग के बारे में बताया गया है. इसमें यह भी बताया गया है कि किन तरीकों का इस्तेमाल किया जा सकता है ऑडिट लॉग जनरेट करना, हर तरीके से बनने वाले ऑडिट लॉग के बारे में जानकारी, और इनमें से किसी भी तरीके से ऑडिट लॉग नहीं बनाए जाते. Google Cloud ऑडिट लॉग, जो आपके Google खाते में एडमिन और ऐक्सेस गतिविधियों को रिकॉर्ड करते हैं, Google Cloud के संसाधन. ज़्यादा जानकारी के लिए, यह देखें Cloud ऑडिट लॉग की खास जानकारी.
नोट
DATA_READ
और DATA_WRITE
ऑपरेशन के लिए protoPayload.metadata
में फ़ील्ड के बारे में ज़्यादा जानकारी पहचान दस्तावेज़ में उपलब्ध है.
सेवा का नाम
Firebase रीयल टाइम डेटाबेस के ऑडिट लॉग, firebasedatabase.googleapis.com
सेवा के नाम का इस्तेमाल करते हैं.
अनुमति के टाइप के हिसाब से तरीके
DATA_READ
, DATA_WRITE
, और इनकी जांच करने के तरीके
ADMIN_READ
अनुमतियां इस कैटगरी में लॉग जनरेट करती हैं
डेटा ऐक्सेस ऑडिट लॉग.
ADMIN_WRITE
अनुमतियों की जांच करने वाले तरीकों से लॉग जनरेट होते हैं
के तौर पर कैटगरी में बांटा गया
एडमिन की गतिविधि के ऑडिट लॉग.
अनुमति किस तरह की है | तरीके |
---|---|
ADMIN_READ |
google.firebase.database.v1beta.RealtimeDatabaseService.GetDatabaseInstance google.firebase.database.v1beta.RealtimeDatabaseService.ListDatabaseInstances |
ADMIN_WRITE |
google.firebase.database.v1beta.RealtimeDatabaseService.CreateDatabaseInstance google.firebase.database.v1beta.RealtimeDatabaseService.DeleteDatabaseInstance google.firebase.database.v1beta.RealtimeDatabaseService.DisableDatabaseInstance google.firebase.database.v1beta.RealtimeDatabaseService.ReenableDatabaseInstance google.firebase.database.v1beta.RealtimeDatabaseService.UndeleteDatabaseInstance |
DATA_READ |
google.firebase.database.v1.RealtimeDatabase.Connect google.firebase.database.v1.RealtimeDatabase.Disconnect google.firebase.database.v1.RealtimeDatabase.Listen google.firebase.database.v1.RealtimeDatabase.OnDisconnectCancel google.firebase.database.v1.RealtimeDatabase.Read google.firebase.database.v1.RealtimeDatabase.Unlisten |
DATA_WRITE |
google.firebase.database.v1.RealtimeDatabase.OnDisconnectPut google.firebase.database.v1.RealtimeDatabase.OnDisconnectUpdate google.firebase.database.v1.RealtimeDatabase.RunOnDisconnect google.firebase.database.v1.RealtimeDatabase.Update google.firebase.database.v1.RealtimeDatabase.Write |
हर एपीआई इंटरफ़ेस के लिए ऑडिट लॉग
हर तरीके के लिए, अनुमतियों का आकलन कैसे और किस तरह किया जाता है, इस बारे में जानने के लिए, Firebase रीयल टाइम डेटाबेस के लिए, Cloud Identity और ऐक्सेस मैनेजमेंट दस्तावेज़ देखें.
google.firebase.database.v1.RealtimeDatabase
इस सेक्शन में, ऑडिट लॉग से जुड़ी जानकारी दी गई है
google.firebase.database.v1.RealtimeDatabase
से जुड़े तरीके.
Connect
- तरीका:
google.firebase.database.v1.RealtimeDatabase.Connect
- ऑडिट लॉग का टाइप: डेटा का ऐक्सेस
- अनुमतियां:
firebasedatabase.data.connect - DATA_READ
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Connect"
Disconnect
- तरीका:
google.firebase.database.v1.RealtimeDatabase.Disconnect
- ऑडिट लॉग का टाइप: डेटा का ऐक्सेस
- अनुमतियां:
firebasedatabase.data.connect - DATA_READ
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Disconnect"
Listen
- तरीका:
google.firebase.database.v1.RealtimeDatabase.Listen
- ऑडिट लॉग का टाइप: डेटा का ऐक्सेस
- अनुमतियां:
firebasedatabase.data.get - DATA_READ
- तरीका लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Listen"
OnDisconnectCancel
- तरीका:
google.firebase.database.v1.RealtimeDatabase.OnDisconnectCancel
- ऑडिट लॉग का टाइप: डेटा का ऐक्सेस
- अनुमतियां:
firebasedatabase.data.cancel - DATA_READ
- तरीका लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.OnDisconnectCancel"
OnDisconnectPut
- तरीका:
google.firebase.database.v1.RealtimeDatabase.OnDisconnectPut
- ऑडिट लॉग का टाइप: डेटा का ऐक्सेस
- अनुमतियां:
firebasedatabase.data.update - DATA_WRITE
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.OnDisconnectPut"
OnDisconnectUpdate
- तरीका:
google.firebase.database.v1.RealtimeDatabase.OnDisconnectUpdate
- ऑडिट लॉग का टाइप: डेटा का ऐक्सेस
- अनुमतियां:
firebasedatabase.data.update - DATA_WRITE
- तरीका लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.OnDisconnectUpdate"
Read
- तरीका:
google.firebase.database.v1.RealtimeDatabase.Read
- ऑडिट लॉग का टाइप: डेटा का ऐक्सेस
- अनुमतियां:
firebasedatabase.data.get - DATA_READ
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Read"
RunOnDisconnect
- तरीका:
google.firebase.database.v1.RealtimeDatabase.RunOnDisconnect
- ऑडिट लॉग का टाइप: डेटा का ऐक्सेस
- अनुमतियां:
firebasedatabase.data.update - DATA_WRITE
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.RunOnDisconnect"
Unlisten
- तरीका:
google.firebase.database.v1.RealtimeDatabase.Unlisten
- ऑडिट लॉग का टाइप: डेटा का ऐक्सेस
- अनुमतियां:
firebasedatabase.data.cancel - DATA_READ
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Unlisten"
Update
- तरीका:
google.firebase.database.v1.RealtimeDatabase.Update
- ऑडिट लॉग का टाइप: डेटा का ऐक्सेस
- अनुमतियां:
firebasedatabase.data.get - DATA_READ
firebasedatabase.data.get - DATA_WRITE
firebasedatabase.data.update - DATA_WRITE
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Update"
Write
- तरीका:
google.firebase.database.v1.RealtimeDatabase.Write
- ऑडिट लॉग का टाइप: डेटा का ऐक्सेस
- अनुमतियां:
firebasedatabase.data.get - DATA_READ
firebasedatabase.data.get - DATA_WRITE
firebasedatabase.data.update - DATA_WRITE
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1.RealtimeDatabase.Write"
google.firebase.database.v1beta.RealtimeDatabaseService
इस सेक्शन में, ऑडिट लॉग से जुड़ी जानकारी दी गई है
google.firebase.database.v1beta.RealtimeDatabaseService
से जुड़े तरीके.
CreateDatabaseInstance
- तरीका:
google.firebase.database.v1beta.RealtimeDatabaseService.CreateDatabaseInstance
- ऑडिट लॉग टाइप: एडमिन की गतिविधि
- अनुमतियां:
firebasedatabase.instances.create - ADMIN_WRITE
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.CreateDatabaseInstance"
DeleteDatabaseInstance
- तरीका:
google.firebase.database.v1beta.RealtimeDatabaseService.DeleteDatabaseInstance
- ऑडिट लॉग टाइप: एडमिन की गतिविधि
- अनुमतियां:
firebasedatabase.instances.delete - ADMIN_WRITE
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.DeleteDatabaseInstance"
DisableDatabaseInstance
- तरीका:
google.firebase.database.v1beta.RealtimeDatabaseService.DisableDatabaseInstance
- ऑडिट लॉग टाइप: एडमिन की गतिविधि
- अनुमतियां:
firebasedatabase.instances.disable - ADMIN_WRITE
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.DisableDatabaseInstance"
GetDatabaseInstance
- तरीका:
google.firebase.database.v1beta.RealtimeDatabaseService.GetDatabaseInstance
- ऑडिट लॉग का टाइप: डेटा का ऐक्सेस
- अनुमतियां:
firebasedatabase.instances.get - ADMIN_READ
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.GetDatabaseInstance"
ListDatabaseInstances
- तरीका:
google.firebase.database.v1beta.RealtimeDatabaseService.ListDatabaseInstances
- ऑडिट लॉग का टाइप: डेटा का ऐक्सेस
- अनुमतियां:
firebasedatabase.instances.list - ADMIN_READ
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.ListDatabaseInstances"
ReenableDatabaseInstance
- तरीका:
google.firebase.database.v1beta.RealtimeDatabaseService.ReenableDatabaseInstance
- ऑडिट लॉग टाइप: एडमिन की गतिविधि
- अनुमतियां:
firebasedatabase.instances.reenable - ADMIN_WRITE
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.ReenableDatabaseInstance"
UndeleteDatabaseInstance
- तरीका:
google.firebase.database.v1beta.RealtimeDatabaseService.UndeleteDatabaseInstance
- ऑडिट लॉग टाइप: एडमिन की गतिविधि
- अनुमतियां:
firebasedatabase.instances.undelete - ADMIN_WRITE
- तरीका, लंबे समय तक चलने वाला या स्ट्रीमिंग ऑपरेशन का होता है:
नंबर
- इस तरीके के लिए फ़िल्टर करें:
protoPayload.methodName="google.firebase.database.v1beta.RealtimeDatabaseService.UndeleteDatabaseInstance"
ऑडिट की पुष्टि करने की जानकारी
ऑडिट लॉग की एंट्री में जानकारी शामिल होती है लॉग की गई कार्रवाई को पूरा करने वाली पहचान के बारे में. अनुरोध की पहचान करने के लिए कॉलर के लिए, ऑडिटLog ऑब्जेक्ट में ये फ़ील्ड देखें:
रीयल टाइम कनेक्शन बनाना. रीयलटाइम डेटाबेस
Connect
ऑपरेशन से ये होते हैं प्रमाणीकरण डेटा लॉग नहीं करता क्योंकि रीयलटाइम डेटाबेस कनेक्शन स्थापित. इसलिए,Connect
में पुष्टि करने से जुड़ी कोई जानकारी नहीं है.AuthenticationInfo
ऑब्जेक्ट में प्लेसहोल्डरprincipalEmail
हैaudit-pending-auth@firebasedatabase-{REGION_CODE}-prod.iam.gserviceaccount.com
.Google की पुष्टि. Google के स्टैंडर्ड वर्शन का इस्तेमाल करने वाले रीयल टाइम डेटाबेस ऑपरेशन पुष्टि करना, जैसे कि Firebase एडमिन SDK टूल से मिला ट्रैफ़िक या REST के अनुरोध मानक OAuth टोकन से पुष्टि की गई हो, इसमें ऐसा
AuthenticationInfo
ऑब्जेक्ट है जिसमें असल क्रेडेंशियल मौजूद हैं ईमेल.Firebase से पुष्टि करना. Firebase से पुष्टि करने की सुविधा का इस्तेमाल करने वाले रीयल टाइम डेटाबेस ऑपरेशन में एक
AuthenticationInfo
ऑब्जेक्ट है, जिसमेंprincipalEmail
audit-third-party-auth@firebasedatabase-{REGION_CODE}-prod.iam.gserviceaccount.com
. अगर आप मिंट करके अपने पुष्टि करने वाले समाधान लागू करते हैं, तो भी ऐसा ही होगा कस्टम JWTs.- अगर तीसरे पक्ष की पुष्टि करने के लिए किसी JSON वेब टोकन (JWT) का इस्तेमाल किया गया था, तो
thirdPartyPrincipal
फ़ील्ड में टोकन का हेडर और पेलोड शामिल होता है. इसके लिए उदाहरण के लिए, Firebase से पुष्टि करने की सुविधा की मदद से पुष्टि किए गए अनुरोधों के लिए ऑडिट लॉग उस अनुरोध का Firebase प्रमाणीकरण टोकन शामिल करें.
- अगर तीसरे पक्ष की पुष्टि करने के लिए किसी JSON वेब टोकन (JWT) का इस्तेमाल किया गया था, तो
कोई पुष्टि नहीं. ऐसी रीयलटाइम डेटाबेस ऑपरेशन जो किसी का इस्तेमाल नहीं करतीं पुष्टि करने के लिए एक
AuthenticationInfo
ऑब्जेक्ट है, जिसमेंprincipalEmail
का मानaudit-no-auth@firebasedatabase-{REGION_CODE}-prod.iam.gserviceaccount.com
खुले सुरक्षा नियमों वाला रीयल टाइम डेटाबेस इंस्टेंस, इस तरह के अनुरोध दे सकता है. बुध सभी उपयोगकर्ताओं को अपना डेटाबेस सही तरीके से सुरक्षित रखने की सलाह दी जाती है.लेगसी सीक्रेट टोकन. लेगसी टोकन का इस्तेमाल करने वाले रीयल टाइम डेटाबेस ऑपरेशन इसमें
AuthenticationInfo
ऑब्जेक्ट है, जिसमें प्लेसहोल्डर है में सेprincipalEmail
audit-secret-auth@firebasedatabase-{REGION_CODE}-prod.iam.gserviceaccount.com
. सीक्रेट साइन किए गए JWT के लिए,thirdPartyPrincipal
में JWT हेडर होते हैं और पेलोड.
Firebase के सुरक्षा नियमों के आकलन ऑडिट करें
क्लाउड ऑडिट लॉग का इस्तेमाल, उन अनुरोधों की पहचान करने के लिए किया जा सकता है जो नियमों में हुए बदलावों का असर पड़ा है.
AuthorizationInfo ऑब्जेक्ट में, authorization.permission
इनमें से कोई एक हो सकता है:
firebasedatabase.data.get
: यहां दिए गए पाथ पर पढ़ने का ऐक्सेस दिया गया हैresource
.firebasedatabase.data.update
: इसमें बताए गए पाथ पर दिया गया ऐक्सेस लिखेंresource
.firebasedatabase.data.connect
:Connect
औरDisconnect
के लिए प्लेसहोल्डर. रीयलटाइम डेटाबेस इंस्टेंस से कनेक्ट करने के लिए अनुमति लेने की ज़रूरत नहीं है.firebasedatabase.data.cancel
:Unlisten
औरOnDisconnectCancel
के लिए इस्तेमाल किया जाता है. पहले से अनुमति वाली कार्रवाई को रद्द या रद्द करने के लिए, अनुमति.
क्लाउड ऑडिट लॉग को रीयल टाइम डेटाबेस प्रोफ़ाइलर के नतीजों से जोड़ें
रीयलटाइम डेटाबेस की परफ़ॉर्मेंस का बारीकी से विश्लेषण करने के लिए, रीयल टाइम डेटाबेस प्रोफ़ाइलर के साथ रीयलटाइम डेटाबेस के ऑडिट लॉगिंग. हर टूल की अपनी-अपनी खूबियां हैं.
Cloud Audit Logging | रीयलटाइम डेटाबेस प्रोफ़ाइलर |
---|---|
|
|
ऑडिट लॉग का कॉन्टेंट, प्रोफ़ाइलर मेट्रिक के हिसाब से होता है. जैसा कि नीचे दिखाया गया है.
ऑडिट लॉगिंग कार्रवाई का नाम | RealtimeDatabaseAuditMetadata में विशेष मान |
प्रोफ़ाइलर की कार्रवाई का नाम |
---|---|---|
जोड़ें | RequestType REALTIME है |
एक ही समय पर कनेक्ट करने की सुविधा |
डिसकनेक्ट करें | RequestType REALTIME है |
एक साथ डिसकनेक्ट |
पढ़ें | RequestType REALTIME है |
रीयलटाइम में पढ़ा गया |
पढ़ें | RequestType REST है |
रेस्ट-रीड |
लिखें | RequestType REALTIME है |
रीयलटाइम-राइट |
लिखें | RequestType REST है |
आराम-जवाब |
अपडेट करें | RequestType REALTIME है.
PreconditionType देखें. |
रीयलटाइम-अपडेट रीयलटाइम-लेन-देन |
अपडेट करें | RequestType REST है.
PreconditionType देखें. |
बाकी-अपडेट बाकी लेन-देन |
लिसनर सुनें | RequestType REALTIME है |
लिसनर-लिसन |
लिसनर अनलिस्टन | RequestType REALTIME है |
लिसनर-अनलिस्टन |
डिसकनेक्ट करने का विकल्प | RequestType REALTIME है |
ऑन-डिसकनेक्ट-पुट |
डिसकनेक्ट करने का अपडेट | RequestType REALTIME है |
डिसकनेक्ट होने पर अपडेट करने की सेटिंग |
ऑनडिसकनेक्ट रद्द करें | RequestType REALTIME है |
डिसकनेक्ट-रद्द करें |
रनऑन डिसकनेक्ट | RequestType REALTIME है |
रन-ऑन-डिसकनेक्ट |