گزارش حسابرسی برای بررسی برنامه Firebase

این صفحه گزارش‌های حسابرسی ایجاد شده توسط Firebase را به عنوان بخشی از گزارش‌های حسابرسی Cloud توصیف می‌کند.

نمای کلی

سرویس‌های Firebase گزارش‌های حسابرسی را می‌نویسند تا به شما در پاسخ به سؤالات «چه کسی، کجا و چه زمانی انجام داد؟» کمک کند. این گزارش‌های حسابرسی Cloud هستند که به عنوان بخشی از پروژه Google Cloud متصل به پروژه Firebase شما ارائه شده‌اند.

پروژه های Firebase شما هرکدام فقط شامل گزارش های حسابرسی برای منابعی هستند که مستقیماً در داخل پروژه هستند.

برای یک نمای کلی از گزارش‌های حسابرسی ابری، به نمای کلی گزارش‌های حسابرسی ابری مراجعه کنید. برای درک عمیق‌تر قالب گزارش حسابرسی، به درک گزارش‌های حسابرسی مراجعه کنید.

گزارش های حسابرسی موجود

انواع زیر گزارش های حسابرسی برای بررسی برنامه Firebase در دسترس هستند:

  • گزارش های حسابرسی فعالیت مدیریت

    شامل عملیات "نوشتن مدیر" است که ابرداده یا اطلاعات پیکربندی را می نویسد.

    نمی‌توانید گزارش‌های حسابرسی فعالیت مدیریت را غیرفعال کنید.

  • گزارش های حسابرسی دسترسی به داده ها

    شامل عملیات "خواندن سرپرست" است که فراداده یا اطلاعات پیکربندی را می خواند. همچنین شامل عملیات "خواندن داده" و "نوشتن داده" است که داده های ارائه شده توسط کاربر را می خواند یا می نویسد.

    برای دریافت گزارش های حسابرسی دسترسی به داده ها، باید به صراحت آنها را فعال کنید.

برای توصیف کاملتر انواع گزارش حسابرسی، به انواع گزارش حسابرسی مراجعه کنید.

عملیات حسابرسی شده

موارد زیر خلاصه می‌کند که کدام عملیات API با هر نوع گزارش حسابرسی در Firebase App Check مطابقت دارد:

نوع مجوز روش ها
ADMIN_READ google.firebase.appcheck.v1.ConfigService.BatchGetAppAttestConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetDeviceCheckConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetPlayIntegrityConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaEnterpriseConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaV3Configs
google.firebase.appcheck.v1.ConfigService.BatchGetSafetyNetConfigs
google.firebase.appcheck.v1.ConfigService.GetAppAttestConfig
google.firebase.appcheck.v1.ConfigService.GetDebugToken
google.firebase.appcheck.v1.ConfigService.GetDeviceCheckConfig
google.firebase.appcheck.v1.ConfigService.GetPlayIntegrityConfig
google.firebase.appcheck.v1.ConfigService.GetRecaptchaEnterpriseConfig
google.firebase.appcheck.v1.ConfigService.GetRecaptchaV3Config
google.firebase.appcheck.v1.ConfigService.GetSafetyNetConfig
google.firebase.appcheck.v1.ConfigService.GetService
google.firebase.appcheck.v1.ConfigService.ListDebugTokens
google.firebase.appcheck.v1.ConfigService.ListServices
google.firebase.appcheck.v1beta.ConfigService.BatchGetAppAttestConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetDeviceCheckConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetPlayIntegrityConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaEnterpriseConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaV3Configs
google.firebase.appcheck.v1beta.ConfigService.BatchGetSafetyNetConfigs
google.firebase.appcheck.v1beta.ConfigService.GetAppAttestConfig
google.firebase.appcheck.v1beta.ConfigService.GetDebugToken
google.firebase.appcheck.v1beta.ConfigService.GetDeviceCheckConfig
google.firebase.appcheck.v1beta.ConfigService.GetPlayIntegrityConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaEnterpriseConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaV3Config
google.firebase.appcheck.v1beta.ConfigService.GetResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.GetSafetyNetConfig
google.firebase.appcheck.v1beta.ConfigService.GetService
google.firebase.appcheck.v1beta.ConfigService.ListDebugTokens
google.firebase.appcheck.v1beta.ConfigService.ListResourcePolicies
google.firebase.appcheck.v1beta.ConfigService.ListServices
ADMIN_WRITE google.firebase.appcheck.v1.ConfigService.BatchUpdateServices
google.firebase.appcheck.v1.ConfigService.CreateDebugToken
google.firebase.appcheck.v1.ConfigService.DeleteDebugToken
google.firebase.appcheck.v1.ConfigService.UpdateAppAttestConfig
google.firebase.appcheck.v1.ConfigService.UpdateDebugToken
google.firebase.appcheck.v1.ConfigService.UpdateDeviceCheckConfig
google.firebase.appcheck.v1.ConfigService.UpdatePlayIntegrityConfig
google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaEnterpriseConfig
google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaV3Config
google.firebase.appcheck.v1.ConfigService.UpdateSafetyNetConfig
google.firebase.appcheck.v1.ConfigService.UpdateService
google.firebase.appcheck.v1beta.ConfigService.BatchUpdateResourcePolicies
google.firebase.appcheck.v1beta.ConfigService.BatchUpdateServices
google.firebase.appcheck.v1beta.ConfigService.CreateDebugToken
google.firebase.appcheck.v1beta.ConfigService.CreateResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.DeleteDebugToken
google.firebase.appcheck.v1beta.ConfigService.DeleteResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.UpdateAppAttestConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateDebugToken
google.firebase.appcheck.v1beta.ConfigService.UpdateDeviceCheckConfig
google.firebase.appcheck.v1beta.ConfigService.UpdatePlayIntegrityConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaEnterpriseConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaV3Config
google.firebase.appcheck.v1beta.ConfigService.UpdateResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.UpdateSafetyNetConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateService
google.firebase.appcheck.v1beta.TokenVerificationService.VerifyAppCheckToken

فرمت گزارش حسابرسی

ورودی های گزارش حسابرسی شامل اشیاء زیر است:

  • خود ورودی گزارش که یک شی از نوع LogEntry است. زمینه های مفید شامل موارد زیر است:

    • logName شامل شناسه منبع و نوع گزارش حسابرسی است.
    • resource شامل هدف عملیات ممیزی شده است.
    • timestamp حاوی زمان عملیات حسابرسی شده است.
    • protoPayload حاوی اطلاعات ممیزی شده است.
  • داده های گزارش حسابرسی، که یک شی AuditLog است که در قسمت protoPayload ورودی گزارش نگهداری می شود.

  • اطلاعات حسابرسی اختصاصی سرویس اختیاری، که یک شی خاص سرویس است. برای ادغام های قدیمی تر، این شی در قسمت serviceData شی AuditLog نگهداری می شود. ادغام های جدیدتر از فیلد metadata استفاده می کنند.

برای سایر فیلدها در این اشیاء و نحوه تفسیر آنها، درک گزارش های حسابرسی را مرور کنید.

نام لاگ

نام‌های منابع گزارش‌های حسابرسی Cloud نشان‌دهنده پروژه Firebase یا سایر نهادهای Google Cloud هستند که گزارش‌های حسابرسی را در اختیار دارند، و اینکه آیا گزارش حاوی داده‌های گزارش‌گیری «فعالیت سرپرست»، «دسترسی به داده‌ها»، «خط‌مشی رد شده است» یا داده‌های گزارش حسابرسی رویداد سیستم است. برای مثال، موارد زیر نام گزارش‌های گزارش‌های حسابرسی فعالیت مدیریت سطح پروژه و گزارش‌های حسابرسی دسترسی به داده‌های سازمان را نشان می‌دهد. متغیرها نشان دهنده شناسه های پروژه و سازمان Firebase هستند.

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

نام سرویس

برنامه Firebase بررسی گزارش های حسابرسی از نام سرویس firebaseappcheck.googleapis.com استفاده می کند.

برای فهرست کامل نام‌های سرویس‌های Cloud Logging API و نوع منبع نظارت شده مربوط به آن‌ها، به نقشه خدمات به منابع مراجعه کنید.

انواع منابع

گزارش‌های بررسی بررسی برنامه Firebase از نوع منبع audited_resource برای همه گزارش‌های حسابرسی استفاده می‌کنند.

برای فهرستی از انواع منابع نظارت شده و اطلاعات توصیفی Cloud Logging، به انواع منابع نظارت شده مراجعه کنید.

ثبت حسابرسی را فعال کنید

گزارش های حسابرسی فعالیت مدیریت همیشه فعال هستند. شما نمی توانید آنها را غیرفعال کنید

گزارش‌های حسابرسی دسترسی به داده به‌طور پیش‌فرض غیرفعال هستند و نوشته نمی‌شوند مگر اینکه صریحاً فعال شوند (به استثنای گزارش‌های حسابرسی دسترسی به داده برای BigQuery، که غیرفعال نمی‌شود).

برای دستورالعمل‌های فعال کردن برخی یا همه گزارش‌های حسابرسی دسترسی به داده، به پیکربندی گزارش‌های دسترسی به داده مراجعه کنید.

مجوزها و نقش ها

مجوزها و نقش‌های Cloud IAM توانایی شما را برای دسترسی به داده‌های گزارش‌های حسابرسی در منابع Google Cloud تعیین می‌کنند.

هنگامی که تصمیم می گیرید کدام مجوزها و نقش های خاص Logging در مورد استفاده شما اعمال می شود، موارد زیر را در نظر بگیرید:

  • نقش Logs Viewer ( roles/logging.viewer ) به شما امکان دسترسی فقط خواندنی به گزارش‌های حسابرسی Admin Activity، Policy Denied و System Event را می‌دهد. اگر فقط این نقش را دارید، نمی‌توانید گزارش‌های حسابرسی دسترسی به داده را که در سطل _Default هستند مشاهده کنید.

  • نقش Private Logs Viewer (roles/logging.privateLogViewer ) شامل مجوزهای موجود در roles/logging.viewer ، به علاوه توانایی خواندن گزارش های حسابرسی دسترسی به داده در سطل _Default است.

    توجه داشته باشید که اگر این گزارش‌های خصوصی در سطل‌های تعریف‌شده توسط کاربر ذخیره شوند، هر کاربری که مجوز خواندن گزارش‌ها در آن سطل‌ها را داشته باشد، می‌تواند گزارش‌های خصوصی را بخواند. برای اطلاعات بیشتر در مورد سطل های گزارش، به بررسی کلی مسیریابی و ذخیره سازی مراجعه کنید.

برای اطلاعات بیشتر در مورد مجوزها و نقش‌های Cloud IAM که برای داده‌های گزارش حسابرسی اعمال می‌شود، به کنترل دسترسی مراجعه کنید.

مشاهده سیاهههای مربوط

برای یافتن و مشاهده گزارش‌های حسابرسی، باید شناسه پروژه، پوشه یا سازمانی که می‌خواهید اطلاعات گزارش حسابرسی را برای آن مشاهده کنید، بدانید. می‌توانید سایر فیلدهای 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 API مشاهده کنید.

کنسول

می‌توانید از Logs Explorer در کنسول Google Cloud برای بازیابی ورودی‌های گزارش حسابرسی برای پروژه، پوشه یا سازمان Firebase خود استفاده کنید:

  1. در کنسول Google Cloud، به صفحه Logging > Logs Explorer بروید.

    به صفحه Logs Explorer بروید

  2. در صفحه Logs Explorer ، یک پروژه، پوشه یا سازمان Firebase موجود را انتخاب کنید.

  3. در بخش Query builder موارد زیر را انجام دهید:

    • در نوع منبع ، منبع Google Cloud را که می‌خواهید گزارش حسابرسی آن را ببینید، انتخاب کنید.

    • در Log name ، نوع گزارش حسابرسی را که می خواهید ببینید انتخاب کنید:

      • برای گزارش‌های حسابرسی فعالیت مدیریت، فعالیت را انتخاب کنید.
      • برای گزارش های حسابرسی دسترسی به داده، data_access را انتخاب کنید.
      • برای گزارش های حسابرسی رویداد سیستم، system_event را انتخاب کنید.
      • برای گزارش‌های حسابرسی رد شده، سیاست را انتخاب کنید.

    اگر این گزینه‌ها را نمی‌بینید، پس هیچ گزارش حسابرسی از آن نوع در پروژه، پوشه یا سازمان Firebase موجود نیست.

    برای جزئیات بیشتر در مورد پرس و جو با استفاده از Logs Explorer، به Build log query مراجعه کنید.

gcloud

ابزار خط فرمان gcloud یک رابط خط فرمان را برای API Cloud Logging فراهم می کند. یک 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 ، به خواندن ورودی‌های گزارش مراجعه کنید.

API

هنگام ساخت پرس و جوهای خود، متغیرها را با مقادیر معتبر جایگزین کنید، نام یا شناسه های گزارش حسابرسی مناسب در سطح پروژه، سطح پوشه یا سازمان را که در نام های گزارش حسابرسی فهرست شده است، جایگزین کنید. به عنوان مثال، اگر درخواست شما شامل PROJECT_ID باشد، شناسه پروژه ای که ارائه می کنید باید به پروژه Firebase انتخاب شده فعلی مراجعه کند.

برای استفاده از Logging API برای مشاهده ورودی های گزارش حسابرسی خود، موارد زیر را انجام دهید:

  1. به بخش Try this API در مستندات روش entries.list بروید.

  2. موارد زیر را در قسمت بدنه درخواست فرم Try this API قرار دهید. با کلیک بر روی این فرم از پیش پر شده به طور خودکار بدنه درخواست پر می شود، اما باید یک PROJECT_ID معتبر در هر یک از نام های گزارش وارد کنید.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
  3. روی Execute کلیک کنید.

برای جزئیات بیشتر در مورد پرس و جو، به ثبت زبان پرس و جو مراجعه کنید.

برای مثالی از ورودی گزارش حسابرسی و نحوه یافتن مهمترین اطلاعات در آن، به نمونه ورودی گزارش حسابرسی مراجعه کنید.

سیاهههای مربوط به حسابرسی مسیر

می‌توانید گزارش‌های حسابرسی را به همان روشی که می‌توانید انواع دیگر گزارش‌ها را مسیریابی کنید، به مقصدهای پشتیبانی شده هدایت کنید . در اینجا دلایلی وجود دارد که ممکن است بخواهید گزارش های حسابرسی خود را مسیریابی کنید:

  • برای نگهداری گزارش‌های حسابرسی برای مدت طولانی‌تر یا استفاده از قابلیت‌های جستجوی قدرتمندتر، می‌توانید کپی‌های گزارش‌های حسابرسی خود را به Google Cloud Storage، BigQuery یا Google Cloud Pub/Sub هدایت کنید. با استفاده از Cloud Pub/Sub می‌توانید به برنامه‌های دیگر، مخازن دیگر و اشخاص ثالث مسیریابی کنید.

  • برای مدیریت گزارش‌های حسابرسی خود در کل یک سازمان، می‌توانید سینک‌های انبوهی ایجاد کنید که می‌توانند گزارش‌ها را از هر یا همه پروژه‌های Firebase در سازمان هدایت کنند.

  • اگر گزارش‌های حسابرسی دسترسی به داده فعال شما، پروژه‌های Firebase شما را بر تخصیص گزارش‌های شما فشار می‌دهد، می‌توانید سینک‌هایی ایجاد کنید که گزارش‌های حسابرسی دسترسی به داده‌ها را از ورود حذف کنند.

برای دستورالعمل‌های مربوط به گزارش‌های مسیریابی، به پیکربندی سینک‌ها مراجعه کنید.

قیمت گذاری

گزارش‌های حسابرسی فعالیت مدیریت و گزارش‌های حسابرسی رویداد سیستم بدون هزینه هستند.

گزارش‌های حسابرسی دسترسی به داده و گزارش‌های حسابرسی رد شده در خط مشی قابل پرداخت هستند.

برای اطلاعات بیشتر درباره قیمت‌گذاری Cloud Logging، قیمت‌گذاری مجموعه عملیات Google Cloud را ببینید: Cloud Logging .