این صفحه گزارشهای حسابرسی ایجاد شده توسط Firebase را به عنوان بخشی از گزارشهای حسابرسی ابری (Cloud Audit Logs) شرح میدهد.
سرویسهای فایربیس گزارشهای حسابرسی (Audit Logs) را مینویسند تا به شما در پاسخ به سوالات «چه کسی، چه کاری را، کجا و چه زمانی انجام داده است؟» کمک کنند. اینها گزارشهای حسابرسی ابری (Cloud Audit Logs) هستند که به عنوان بخشی از پروژه Google Cloud (Google Cloud) متصل به پروژه فایربیس شما ارائه میشوند.
پروژههای Firebase شما هر کدام فقط شامل گزارشهای حسابرسی برای منابعی هستند که مستقیماً درون پروژه قرار دارند.
برای مرور کلی گزارشهای حسابرسی ابری، به مرور کلی گزارشهای حسابرسی ابری مراجعه کنید. برای درک عمیقتر قالب گزارش حسابرسی، به درک گزارشهای حسابرسی مراجعه کنید.
انواع گزارشهای حسابرسی زیر برای میزبانی برنامه Firebase در دسترس هستند:
- گزارشهای حسابرسی فعالیت مدیر - شامل عملیات "نوشتن توسط مدیر" است که فراداده یا اطلاعات پیکربندی را مینویسد. - شما نمیتوانید گزارشهای حسابرسی فعالیت مدیر را غیرفعال کنید. 
- گزارشهای حسابرسی دسترسی به دادهها - شامل عملیات «خواندن توسط مدیر» میشود که فرادادهها یا اطلاعات پیکربندی را میخواند. همچنین شامل عملیات «خواندن داده» و «نوشتن داده» میشود که دادههای ارائه شده توسط کاربر را میخواند یا مینویسد. - برای دریافت گزارشهای حسابرسی دسترسی به دادهها، باید صریحاً آنها را فعال کنید. 
برای توضیحات کاملتر در مورد انواع گزارشهای حسابرسی، به انواع گزارشهای حسابرسی مراجعه کنید.
موارد زیر خلاصه میکند که کدام عملیات API با هر نوع گزارش حسابرسی در Firebase App Hosting مطابقت دارد:
| نوع مجوز | روشها | 
|---|---|
| ADMIN_READ | google.firebase.apphosting.v1alpha.AppHosting.GetBackendgoogle.firebase.apphosting.v1alpha.AppHosting.GetBuildgoogle.firebase.apphosting.v1alpha.AppHosting.GetRolloutgoogle.firebase.apphosting.v1alpha.AppHosting.GetTrafficgoogle.firebase.apphosting.v1alpha.AppHosting.ListBackendsgoogle.firebase.apphosting.v1alpha.AppHosting.ListBuildsgoogle.firebase.apphosting.v1alpha.AppHosting.ListDomainsgoogle.firebase.apphosting.v1alpha.AppHosting.ListRolloutsgoogle.firebase.apphosting.v1beta.AppHosting.GetBackendgoogle.firebase.apphosting.v1beta.AppHosting.GetBuildgoogle.firebase.apphosting.v1beta.AppHosting.GetDomaingoogle.firebase.apphosting.v1beta.AppHosting.GetTrafficgoogle.firebase.apphosting.v1beta.AppHosting.ListBackendsgoogle.firebase.apphosting.v1beta.AppHosting.ListBuildsgoogle.firebase.apphosting.v1beta.AppHosting.ListDomainsgoogle.firebase.apphosting.v1beta.AppHosting.ListRollouts | 
| ADMIN_WRITE | google.firebase.apphosting.v1alpha.AppHosting.CreateBackendgoogle.firebase.apphosting.v1alpha.AppHosting.CreateBuildgoogle.firebase.apphosting.v1alpha.AppHosting.CreateDomaingoogle.firebase.apphosting.v1alpha.AppHosting.CreateRolloutgoogle.firebase.apphosting.v1alpha.AppHosting.DeleteBackendgoogle.firebase.apphosting.v1alpha.AppHosting.DeleteBuildgoogle.firebase.apphosting.v1alpha.AppHosting.DeleteDomaingoogle.firebase.apphosting.v1alpha.AppHosting.UpdateBuildgoogle.firebase.apphosting.v1alpha.AppHosting.UpdateTrafficgoogle.firebase.apphosting.v1beta.AppHosting.CreateBackendgoogle.firebase.apphosting.v1beta.AppHosting.CreateBuildgoogle.firebase.apphosting.v1beta.AppHosting.CreateDomaingoogle.firebase.apphosting.v1beta.AppHosting.CreateRolloutgoogle.firebase.apphosting.v1beta.AppHosting.DeleteBackendgoogle.firebase.apphosting.v1beta.AppHosting.DeleteBuildgoogle.firebase.apphosting.v1beta.AppHosting.DeleteDomaingoogle.firebase.apphosting.v1beta.AppHosting.UpdateBackendgoogle.firebase.apphosting.v1beta.AppHosting.UpdateDomaingoogle.firebase.apphosting.v1beta.AppHosting.UpdateTraffic | 
ورودیهای گزارش حسابرسی شامل اشیاء زیر هستند:
- خودِ ورودی لاگ، که یک شیء از نوع - LogEntryاست. فیلدهای مفید شامل موارد زیر هستند:-  logNameشامل شناسه منبع و نوع لاگ حسابرسی است.
-  این resourceشامل هدف عملیات حسابرسی شده است.
-  timestampشامل زمان عملیات حسابرسی شده است.
-  protoPayloadحاوی اطلاعات حسابرسی شده است.
 
-  
- دادههای ثبت وقایع حسابرسی، که یک شیء - AuditLogاست که در فیلد- protoPayloadاز ورودی گزارش نگهداری میشود.
- اطلاعات حسابرسی اختیاری مختص سرویس، که یک شیء مختص سرویس است. برای یکپارچهسازیهای قدیمیتر، این شیء در فیلد - serviceDataاز شیء- AuditLogنگهداری میشود؛ یکپارچهسازیهای جدیدتر از فیلد- metadataاستفاده میکنند.
برای فیلدهای دیگر در این اشیاء و نحوه تفسیر آنها، بخش «درک گزارشهای حسابرسی» را مرور کنید.
نام منابع Cloud Audit Logs نشان دهنده پروژه Firebase یا سایر موجودیتهای Google Cloud است که مالک گزارشهای حسابرسی هستند و اینکه آیا این گزارش شامل دادههای ثبت فعالیت مدیریتی، دسترسی به دادهها، رد خطمشی یا حسابرسی رویدادهای سیستم است یا خیر. به عنوان مثال، موارد زیر نامهای گزارش را برای گزارشهای حسابرسی فعالیت مدیریتی در سطح پروژه و گزارشهای حسابرسی دسترسی به دادههای یک سازمان نشان میدهد. متغیرها نشان دهنده شناسههای پروژه و سازمان Firebase هستند.
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
 گزارشهای حسابرسی میزبانی برنامه Firebase از نام سرویس firebaseapphosting.googleapis.com استفاده میکنند.
برای مشاهده لیست کاملی از نامهای سرویس Cloud Logging API و نوع منبع تحت نظارت مربوط به آنها، به Map services to resources مراجعه کنید.
 گزارشهای حسابرسی Firebase App Hosting از نوع منبع audited_resource برای همه گزارشهای حسابرسی استفاده میکنند.
برای فهرستی از تمام انواع منابع تحت نظارت Cloud Logging و اطلاعات توصیفی، به انواع منابع تحت نظارت مراجعه کنید.
گزارشهای حسابرسی فعالیت مدیر همیشه فعال هستند؛ شما نمیتوانید آنها را غیرفعال کنید.
گزارشهای حسابرسی دسترسی به دادهها به طور پیشفرض غیرفعال هستند و نوشته نمیشوند مگر اینکه صریحاً فعال شوند (استثنا، گزارشهای حسابرسی دسترسی به دادهها برای BigQuery است که نمیتوان آن را غیرفعال کرد).
برای دستورالعملهای فعال کردن برخی یا همه گزارشهای حسابرسی دسترسی به دادهها، به پیکربندی گزارشهای دسترسی به دادهها مراجعه کنید.
مجوزها و نقشهای IAM ابری، توانایی شما برای دسترسی به دادههای گزارشهای حسابرسی در منابع Google Cloud را تعیین میکنند.
هنگام تصمیمگیری در مورد اینکه کدام مجوزها و نقشهای خاص ثبت وقایع (Logging) برای مورد استفاده شما اعمال میشوند، موارد زیر را در نظر بگیرید:
- نقش مشاهدهگر گزارشها ( - roles/logging.viewer) به شما دسترسی فقط خواندنی به گزارشهای فعالیت مدیر، سیاست رد شده و حسابرسی رویدادهای سیستم میدهد. اگر فقط این نقش را داشته باشید، نمیتوانید گزارشهای حسابرسی دسترسی به دادهها را که در سطل- _Defaultهستند، مشاهده کنید.
- نقش Private Logs Viewer - (roles/logging.privateLogViewer) شامل مجوزهای موجود در- roles/logging.viewer، به علاوهی قابلیت خواندن گزارشهای حسابرسی دسترسی به دادهها در سطل- _Defaultاست.- توجه داشته باشید که اگر این گزارشهای خصوصی در سطلهای تعریفشده توسط کاربر ذخیره شوند، هر کاربری که مجوز خواندن گزارشهای موجود در آن سطلها را داشته باشد، میتواند گزارشهای خصوصی را بخواند. برای اطلاعات بیشتر در مورد سطلهای گزارش، به نمای کلی مسیریابی و ذخیرهسازی مراجعه کنید. 
برای اطلاعات بیشتر در مورد مجوزها و نقشهای Cloud IAM که برای دادههای گزارشهای حسابرسی اعمال میشوند، به کنترل دسترسی مراجعه کنید.
 برای یافتن و مشاهده گزارشهای حسابرسی، باید شناسه پروژه، پوشه یا سازمانی که میخواهید اطلاعات گزارش حسابرسی آن را مشاهده کنید، در Firebase داشته باشید. میتوانید فیلدهای فهرستبندی شده LogEntry دیگری مانند resource.type را نیز مشخص کنید؛ برای جزئیات بیشتر، به بخش «یافتن سریع ورودیهای گزارش» مراجعه کنید.
نامهای گزارش حسابرسی در زیر آمده است؛ این نامها شامل متغیرهایی برای شناسههای پروژه، پوشه یا سازمان Firebase هستند:
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
 شما میتوانید گزارشهای حسابرسی را در Cloud Logging با استفاده از کنسول Google Cloud، ابزار خط فرمان gcloud یا رابط برنامهنویسی کاربردی Logging مشاهده کنید. 
میتوانید از Logs Explorer در کنسول Google Cloud برای بازیابی ورودیهای گزارش حسابرسی برای پروژه، پوشه یا سازمان Firebase خود استفاده کنید:
- در کنسول گوگل کلود، به صفحه Logging > Logs Explorer بروید. 
- در صفحه Logs Explorer ، یک پروژه، پوشه یا سازمان موجود در Firebase را انتخاب کنید. 
- در پنل سازندهی کوئری ، موارد زیر را انجام دهید: - در نوع منبع ، منبع Google Cloud که میخواهید گزارشهای حسابرسی آن را ببینید، انتخاب کنید. 
- در قسمت Log name ، نوع گزارش حسابرسی که میخواهید ببینید را انتخاب کنید: - برای گزارشهای حسابرسی فعالیت مدیر، activity را انتخاب کنید.
- برای گزارشهای حسابرسی دسترسی به دادهها، data_access را انتخاب کنید.
- برای گزارشهای حسابرسی رویداد سیستم، system_event را انتخاب کنید.
- برای گزارشهای حسابرسی مربوط به عدم پذیرش سیاست (Policy Denied audit logs)، گزینه policy را انتخاب کنید.
 
 - اگر این گزینهها را نمیبینید، پس هیچ گزارش حسابرسی از آن نوع در پروژه، پوشه یا سازمان Firebase موجود نیست. - برای جزئیات بیشتر در مورد پرسوجو با استفاده از Logs Explorer، به بخش «ساخت پرسوجوهای گزارش» مراجعه کنید. 
 ابزار خط فرمان gcloud یک رابط خط فرمان برای Cloud Logging API فراهم میکند. در هر یک از نامهای گزارش، یک PROJECT_ID ، FOLDER_ID یا ORGANIZATION_ID معتبر وارد کنید.
برای خواندن ورودیهای گزارش حسابرسی سطح پروژه Firebase، دستور زیر را اجرا کنید:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" --project=PROJECT_ID
برای خواندن ورودیهای گزارش حسابرسی در سطح پوشه، دستور زیر را اجرا کنید:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" --folder=FOLDER_ID
برای خواندن ورودیهای لاگ حسابرسی سطح سازمان، دستور زیر را اجرا کنید:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID
 برای اطلاعات بیشتر در مورد استفاده از ابزار gcloud ، به بخش «خواندن ورودیهای گزارش» مراجعه کنید.
هنگام ساخت کوئریهای خود، متغیرها را با مقادیر معتبر جایگزین کنید، نام یا شناسههای لاگ حسابرسی سطح پروژه، سطح پوشه یا سطح سازمان مناسب را همانطور که در نامهای لاگ حسابرسی ذکر شده است، جایگزین کنید. به عنوان مثال، اگر کوئری شما شامل PROJECT_ID باشد، شناسه پروژهای که ارائه میدهید باید به پروژه Firebase انتخاب شده فعلی اشاره کند.
برای استفاده از API لاگینگ برای مشاهده ورودیهای لاگ حسابرسی خود، موارد زیر را انجام دهید:
- برای متد - entries.listبه بخش «این API را امتحان کنید» در مستندات بروید.
- کد زیر را در قسمت بدنه درخواست (Request body) فرم «این API را امتحان کنید» (Try this API) قرار دهید. کلیک روی این فرم از پیش پر شده، بدنه درخواست را به طور خودکار پر میکند، اما باید یک - PROJECT_IDمعتبر در هر یک از نامهای گزارش (log name) وارد کنید.- { "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
- روی اجرا کلیک کنید. 
برای جزئیات بیشتر در مورد پرسوجو، به ثبت زبان پرسوجو مراجعه کنید.
برای نمونهای از یک ورودی گزارش حسابرسی و نحوه یافتن مهمترین اطلاعات موجود در آن، به نمونه ورودی گزارش حسابرسی مراجعه کنید.
شما میتوانید گزارشهای حسابرسی را به همان روشی که میتوانید انواع دیگر گزارشها را هدایت کنید، به مقاصد پشتیبانیشده هدایت کنید . در اینجا چند دلیل برای هدایت گزارشهای حسابرسی شما آورده شده است:
- برای نگهداری گزارشهای حسابرسی برای مدت طولانیتر یا استفاده از قابلیتهای جستجوی قدرتمندتر، میتوانید کپیهایی از گزارشهای حسابرسی خود را به Google Cloud Storage، BigQuery یا Google Cloud Pub/Sub ارسال کنید. با استفاده از Cloud Pub/Sub، میتوانید آنها را به برنامههای دیگر، مخازن دیگر و اشخاص ثالث ارسال کنید. 
- برای مدیریت گزارشهای حسابرسی خود در کل سازمان، میتوانید سینکهای تجمیعی ایجاد کنید که میتوانند گزارشها را از هر یا همه پروژههای Firebase در سازمان مسیریابی کنند. 
- اگر گزارشهای حسابرسی دسترسی به دادههای فعال شما، پروژههای Firebase شما را از محدودهی گزارشهایتان فراتر میبرند، میتوانید sinkهایی ایجاد کنید که گزارشهای حسابرسی دسترسی به دادههای شما را از گزارشگیری مستثنی کنند.
برای دستورالعملهای مربوط به گزارشهای مسیریابی، به پیکربندی sinkها مراجعه کنید.
گزارشهای حسابرسی فعالیت ادمین و گزارشهای حسابرسی رویدادهای سیستم رایگان هستند.
گزارشهای حسابرسی دسترسی به دادهها و گزارشهای حسابرسی رد خطمشی (Policy Denied) مشمول هزینه هستند.
برای اطلاعات بیشتر در مورد قیمتگذاری Cloud Logging، به قیمتگذاری مجموعه عملیات Google Cloud: Cloud Logging مراجعه کنید.