ফায়ারবেস ব্যবস্থাপনার জন্য অডিট লগিং

এই পৃষ্ঠাটি ক্লাউড অডিট লগের অংশ হিসাবে Firebase দ্বারা তৈরি অডিট লগগুলিকে বর্ণনা করে৷

ওভারভিউ

ফায়ারবেস পরিষেবাগুলি আপনাকে "কে কী, কোথায় এবং কখন?" প্রশ্নের উত্তর দিতে সাহায্য করার জন্য অডিট লগ লেখে। এগুলি হল ক্লাউড অডিট লগ, আপনার ফায়ারবেস প্রকল্পের সাথে সংযুক্ত Google ক্লাউড প্রকল্পের অংশ হিসাবে সরবরাহ করা হয়েছে৷

আপনার ফায়ারবেস প্রকল্পগুলির প্রতিটিতে সরাসরি প্রকল্পের মধ্যে থাকা সংস্থানগুলির জন্য শুধুমাত্র অডিট লগ থাকে৷

ক্লাউড অডিট লগগুলির একটি সাধারণ ওভারভিউয়ের জন্য, ক্লাউড অডিট লগ ওভারভিউ দেখুন। অডিট লগ ফরম্যাট সম্পর্কে গভীরভাবে বোঝার জন্য, অডিট লগ বুঝুন দেখুন।

উপলব্ধ অডিট লগ

ফায়ারবেস ম্যানেজমেন্টের জন্য নিম্নলিখিত ধরনের অডিট লগ পাওয়া যায়:

  • অ্যাডমিন কার্যকলাপ নিরীক্ষণ লগ

    মেটাডেটা বা কনফিগারেশন তথ্য লেখা "প্রশাসক লিখুন" অপারেশন অন্তর্ভুক্ত।

    আপনি অ্যাডমিন অ্যাক্টিভিটি অডিট লগ অক্ষম করতে পারবেন না।

  • ডেটা অ্যাক্সেস অডিট লগ

    "অ্যাডমিন রিড" ক্রিয়াকলাপগুলি অন্তর্ভুক্ত করে যা মেটাডেটা বা কনফিগারেশন তথ্য পড়ে। এছাড়াও "ডেটা রিড" এবং "ডেটা রাইটিং" ক্রিয়াকলাপগুলি অন্তর্ভুক্ত করে যা ব্যবহারকারী-প্রদত্ত ডেটা পড়তে বা লিখতে পারে।

    ডেটা অ্যাক্সেস অডিট লগগুলি পেতে, আপনাকে অবশ্যই সেগুলিকে স্পষ্টভাবে সক্ষম করতে হবে৷

অডিট লগের প্রকারের সম্পূর্ণ বিবরণের জন্য, অডিট লগের প্রকারগুলি দেখুন।

নিরীক্ষিত অপারেশন

ফায়ারবেস ম্যানেজমেন্টের প্রতিটি অডিট লগ টাইপের সাথে কোন API ক্রিয়াকলাপগুলি সামঞ্জস্যপূর্ণ তা নিম্নলিখিতগুলি সংক্ষিপ্ত করে:

অডিট লগ বিভাগ ফায়ারবেস ম্যানেজমেন্ট অপারেশন
প্রকল্পের কার্যক্রম
অ্যাডমিন কার্যকলাপ অ্যাডফায়ারবেস
ফায়ারবেস প্রজেক্ট আপডেট করুন
ডিফল্ট অবস্থান চূড়ান্ত করুন
ডেটা অ্যাক্সেস (ADMIN_READ) GetFirebaseProject
তালিকা উপলভ্য অবস্থান
GetAdminSdkConfig
SearchFirebaseApps
iOS অ্যাপ অপারেশন
অ্যাডমিন কার্যকলাপ আইওএস অ্যাপ তৈরি করুন
আইওএস অ্যাপ আপডেট করুন
ডেটা অ্যাক্সেস (ADMIN_READ) GetIosApp
ListIosApps
GetIosAppConfig
অ্যান্ড্রয়েড অ্যাপ অপারেশন
অ্যাডমিন কার্যকলাপ অ্যান্ড্রয়েড অ্যাপ তৈরি করুন
অ্যান্ড্রয়েড অ্যাপ আপডেট করুন
শংসাপত্র তৈরি করুন
DeleteSha Certificate
ডেটা অ্যাক্সেস (ADMIN_READ) GetAndroidApp
তালিকা অ্যান্ড্রয়েড অ্যাপস
GetAndroidAppConfig
ListSha সার্টিফিকেট
ওয়েব অ্যাপ অপারেশন
অ্যাডমিন কার্যকলাপ WebApp তৈরি করুন
WebApp আপডেট করুন
ডেটা অ্যাক্সেস (ADMIN_READ) GetWebApp
তালিকা ওয়েবঅ্যাপস
GetWebAppConfig

অডিট লগ বিন্যাস

অডিট লগ এন্ট্রিতে নিম্নলিখিত বস্তুগুলি অন্তর্ভুক্ত থাকে:

  • লগ এন্ট্রি নিজেই, যা LogEntry টাইপের একটি বস্তু। দরকারী ক্ষেত্রগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:

    • logName রিসোর্স আইডি এবং অডিট লগের ধরন রয়েছে।
    • resource নিরীক্ষিত অপারেশন লক্ষ্য ধারণ করে.
    • timestamp নিরীক্ষিত অপারেশনের সময় থাকে।
    • protoPayload নিরীক্ষিত তথ্য রয়েছে।
  • অডিট লগিং ডেটা, যা একটি AuditLog অবজেক্ট যা লগ এন্ট্রির protoPayload ক্ষেত্রে রাখা হয়।

  • ঐচ্ছিক পরিষেবা-নির্দিষ্ট অডিট তথ্য, যা একটি পরিষেবা-নির্দিষ্ট বস্তু। পুরানো ইন্টিগ্রেশনের জন্য, এই অবজেক্টটি AuditLog অবজেক্টের serviceData ক্ষেত্রে রাখা হয়; নতুন ইন্টিগ্রেশন metadata ক্ষেত্র ব্যবহার করে।

এই অবজেক্টের অন্যান্য ক্ষেত্রগুলির জন্য, এবং কীভাবে সেগুলিকে ব্যাখ্যা করতে হয়, অডিট লগ বুঝুন পর্যালোচনা করুন।

লগ নাম

ক্লাউড অডিট লগ রিসোর্স নামগুলি Firebase প্রোজেক্ট বা অন্য Google ক্লাউড সত্তাকে নির্দেশ করে যা অডিট লগগুলির মালিক এবং লগটিতে অ্যাডমিন অ্যাক্টিভিটি, ডেটা অ্যাক্সেস, নীতি অস্বীকার করা বা সিস্টেম ইভেন্ট অডিট লগিং ডেটা রয়েছে কিনা তা নির্দেশ করে৷ উদাহরণস্বরূপ, নিম্নলিখিতটি প্রকল্প-স্তরের অ্যাডমিন অ্যাক্টিভিটি অডিট লগ এবং একটি সংস্থার ডেটা অ্যাক্সেস অডিট লগগুলির জন্য লগ নামগুলি দেখায়৷ ভেরিয়েবলগুলি ফায়ারবেস প্রকল্প এবং সংস্থা সনাক্তকারীকে নির্দেশ করে।

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

কাজের নাম

ফায়ারবেস ম্যানেজমেন্ট অডিট লগগুলি পরিষেবার নাম firebase.googleapis.com ব্যবহার করে।

সমস্ত ক্লাউড লগিং API পরিষেবার নাম এবং তাদের সংশ্লিষ্ট নিরীক্ষণ করা সংস্থান প্রকারের সম্পূর্ণ তালিকার জন্য, সম্পদের মানচিত্র পরিষেবাগুলি দেখুন৷

সম্পদের ধরন

ফায়ারবেস ম্যানেজমেন্ট অডিট লগ সমস্ত অডিট লগের জন্য রিসোর্স টাইপ audited_resource ব্যবহার করে।

সমস্ত ক্লাউড লগিং নিরীক্ষণ করা সম্পদের ধরন এবং বর্ণনামূলক তথ্যের একটি তালিকার জন্য, পর্যবেক্ষণ করা সম্পদের ধরন দেখুন।

অডিট লগিং সক্ষম করুন

অ্যাডমিন কার্যকলাপ নিরীক্ষণ লগ সবসময় সক্রিয় করা হয়; আপনি তাদের নিষ্ক্রিয় করতে পারবেন না।

ডেটা অ্যাক্সেস অডিট লগগুলি ডিফল্টরূপে অক্ষম থাকে এবং স্পষ্টভাবে সক্ষম না করা পর্যন্ত লেখা হয় না (ব্যতিক্রমটি হল BigQuery-এর জন্য ডেটা অ্যাক্সেস অডিট লগ, যা নিষ্ক্রিয় করা যাবে না)৷

আপনার কিছু বা সমস্ত ডেটা অ্যাক্সেস অডিট লগ সক্রিয় করার নির্দেশাবলীর জন্য, ডেটা অ্যাক্সেস লগ কনফিগার করুন দেখুন।

অনুমতি এবং ভূমিকা

ক্লাউড IAM অনুমতি এবং ভূমিকা Google ক্লাউড সংস্থানগুলিতে অডিট লগ ডেটা অ্যাক্সেস করার আপনার ক্ষমতা নির্ধারণ করে৷

আপনার ব্যবহারের ক্ষেত্রে কোন লগিং-নির্দিষ্ট অনুমতি এবং ভূমিকাগুলি প্রযোজ্য তা সিদ্ধান্ত নেওয়ার সময়, নিম্নলিখিতগুলি বিবেচনা করুন:

  • লগস ভিউয়ার রোল ( roles/logging.viewer ) আপনাকে অ্যাডমিন অ্যাক্টিভিটি, পলিসি ডিনাইড, এবং সিস্টেম ইভেন্ট অডিট লগগুলিতে শুধুমাত্র পড়ার অ্যাক্সেস দেয়৷ আপনার যদি এই ভূমিকাটি থাকে তবে আপনি _Default বালতিতে থাকা ডেটা অ্যাক্সেস অডিট লগগুলি দেখতে পারবেন না।

  • ব্যক্তিগত লগ ভিউয়ার ভূমিকা (roles/logging.privateLogViewer ) এর মধ্যে রয়েছে roles/logging.viewer এ থাকা অনুমতিগুলি, সাথে _Default বাকেটের ডেটা অ্যাক্সেস অডিট লগ পড়ার ক্ষমতা।

    মনে রাখবেন যে যদি এই ব্যক্তিগত লগগুলি ব্যবহারকারী-সংজ্ঞায়িত বালতিতে সংরক্ষণ করা হয়, তাহলে যে কোনও ব্যবহারকারীর কাছে সেই বালতিগুলিতে লগ পড়ার অনুমতি আছে তারা ব্যক্তিগত লগগুলি পড়তে পারে৷ লগ বালতি সম্পর্কে আরও তথ্যের জন্য, রাউটিং এবং স্টোরেজ ওভারভিউ দেখুন।

অডিট লগ ডেটাতে প্রযোজ্য ক্লাউড 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

আপনি GCP কনসোল, gcloud কমান্ড-লাইন টুল বা লগিং API ব্যবহার করে ক্লাউড লগিং-এ অডিট লগ দেখতে পারেন।

কনসোল

আপনি আপনার ফায়ারবেস প্রকল্প, ফোল্ডার বা সংস্থার জন্য আপনার অডিট লগ এন্ট্রিগুলি পুনরুদ্ধার করতে GCP কনসোলে লগ এক্সপ্লোরার ব্যবহার করতে পারেন:

  1. GCP কনসোলে, লগিং > লগ এক্সপ্লোরার পৃষ্ঠাতে যান।

    লগ এক্সপ্লোরার পৃষ্ঠায় যান

  2. লগ এক্সপ্লোরার পৃষ্ঠায়, একটি বিদ্যমান ফায়ারবেস প্রকল্প, ফোল্ডার বা সংস্থা নির্বাচন করুন৷

  3. ক্যোয়ারী নির্মাতা ফলকে, নিম্নলিখিতগুলি করুন:

    • রিসোর্স টাইপে , Google ক্লাউড রিসোর্স নির্বাচন করুন যার অডিট লগ আপনি দেখতে চান।

    • লগ নামে , আপনি যে অডিট লগ টাইপটি দেখতে চান তা নির্বাচন করুন:

      • অ্যাডমিন অ্যাক্টিভিটি অডিট লগের জন্য, কার্যকলাপ নির্বাচন করুন।
      • ডেটা অ্যাক্সেস অডিট লগের জন্য, data_access নির্বাচন করুন।
      • সিস্টেম ইভেন্ট অডিট লগের জন্য, system_event নির্বাচন করুন।
      • নীতি অস্বীকৃত অডিট লগের জন্য, নীতি নির্বাচন করুন।

    আপনি যদি এই বিকল্পগুলি দেখতে না পান, তাহলে Firebase প্রোজেক্ট, ফোল্ডার বা প্রতিষ্ঠানে এই ধরনের কোনো অডিট লগ উপলব্ধ নেই।

    লগ এক্সপ্লোরার ব্যবহার করে অনুসন্ধান সম্পর্কে আরও বিশদ বিবরণের জন্য, লগ কোয়েরি তৈরি করুন দেখুন।

জিক্লাউড

gcloud কমান্ড-লাইন টুল ক্লাউড লগিং API-কে একটি কমান্ড-লাইন ইন্টারফেস প্রদান করে। প্রতিটি লগ নামের মধ্যে একটি বৈধ PROJECT_ID , FOLDER_ID , বা ORGANIZATION_ID সরবরাহ করুন৷

আপনার ফায়ারবেস প্রকল্প-স্তরের অডিট লগ এন্ট্রিগুলি পড়তে, নিম্নলিখিত কমান্ডটি চালান:

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 প্রোজেক্টটি উল্লেখ করতে হবে।

আপনার অডিট লগ এন্ট্রিগুলি দেখতে লগিং API ব্যবহার করতে, নিম্নলিখিতগুলি করুন:

  1. entries.list পদ্ধতির জন্য ডকুমেন্টেশনে এই API চেষ্টা করুন বিভাগে যান।

  2. এই এপিআই ফর্মটি চেষ্টা করে দেখুন অনুরোধের মূল অংশে নিম্নলিখিতটি রাখুন। এই পূর্বনির্ধারিত ফর্মটিতে ক্লিক করা স্বয়ংক্রিয়ভাবে অনুরোধের অংশটি পূরণ করে, তবে আপনাকে প্রতিটি লগ নামের একটি বৈধ PROJECT_ID সরবরাহ করতে হবে৷

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. এক্সিকিউট এ ক্লিক করুন।

ক্যোয়ারী সম্পর্কে আরো বিস্তারিত জানার জন্য, লগিং ক্যোয়ারী ভাষা দেখুন।

একটি অডিট লগ এন্ট্রির উদাহরণের জন্য এবং এতে সবচেয়ে গুরুত্বপূর্ণ তথ্য কীভাবে খুঁজে পাবেন, নমুনা অডিট লগ এন্ট্রি দেখুন।

রুট অডিট লগ

আপনি সমর্থিত গন্তব্যগুলিতে অডিট লগগুলিকে একইভাবে রুট করতে পারেন যেভাবে আপনি অন্যান্য ধরণের লগগুলিকে রুট করতে পারেন৷ আপনি আপনার অডিট লগগুলিকে রুট করতে চাইতে পারেন এমন কিছু কারণ এখানে রয়েছে:

  • অডিট লগগুলিকে দীর্ঘ সময়ের জন্য রাখতে বা আরও শক্তিশালী অনুসন্ধান ক্ষমতা ব্যবহার করতে, আপনি Google ক্লাউড স্টোরেজ, BigQuery, বা Google Cloud Pub/Sub-এ আপনার অডিট লগগুলির কপিগুলিকে রুট করতে পারেন৷ ক্লাউড পাব/সাব ব্যবহার করে, আপনি অন্যান্য অ্যাপ্লিকেশন, অন্যান্য সংগ্রহস্থল এবং তৃতীয় পক্ষের কাছে যেতে পারেন।

  • একটি সম্পূর্ণ সংস্থা জুড়ে আপনার অডিট লগগুলি পরিচালনা করতে, আপনি একত্রিত সিঙ্ক তৈরি করতে পারেন যা সংস্থার যে কোনও বা সমস্ত ফায়ারবেস প্রকল্প থেকে লগগুলিকে রুট করতে পারে৷

  • যদি আপনার সক্ষম করা ডেটা অ্যাক্সেস অডিট লগগুলি আপনার ফায়ারবেস প্রকল্পগুলিকে আপনার লগ বরাদ্দের উপর চাপ দেয় তবে আপনি সিঙ্ক তৈরি করতে পারেন যা লগিং থেকে ডেটা অ্যাক্সেস অডিট লগগুলিকে বাদ দেয়৷

রাউটিং লগ সংক্রান্ত নির্দেশাবলীর জন্য, সিঙ্ক কনফিগার করুন দেখুন।

মূল্য নির্ধারণ

অ্যাডমিন অ্যাক্টিভিটি অডিট লগ এবং সিস্টেম ইভেন্ট অডিট লগগুলি কোনও খরচের নয়৷

ডেটা অ্যাক্সেস অডিট লগ এবং নীতি অস্বীকার করা অডিট লগ চার্জযোগ্য।

ক্লাউড লগিং মূল্য সম্পর্কে আরও তথ্যের জন্য, Google ক্লাউডের অপারেশন স্যুট মূল্য দেখুন: ক্লাউড লগিং