Identity and Access Management (IAM)

Identity and Access Management (IAM)-এর মাধ্যমে আপনার রিসোর্সে অ্যাক্সেস ম্যানেজ করুন। IAM আপনাকে নির্দিষ্ট Google Cloud রিসোর্সে আরও গ্র্যানুলার অ্যাক্সেস দিতে দেয় এবং অন্যান্য রিসোর্সে অবাঞ্ছিত অ্যাক্সেস আটকায়। এই পৃষ্ঠায় Cloud Firestore-এর জন্য IAM অনুমতি ও ভূমিকা সম্পর্কে বর্ণনা করা হয়েছে। IAM-এর বিস্তারিত বিবরণের জন্য, IAM ডকুমেন্টেশন পড়ুন।

IAM আপনাকে সবচেয়ে কম প্রিভিলেজ সংক্রান্ত নিরাপত্তা নীতি গ্রহণ করতে দেয়, যাতে আপনি নিজের রিসোর্সে শুধুমাত্র প্রয়োজনীয় অ্যাক্সেস প্রদান করেন।

IAM নীতি সেট করার মাধ্যমে IAM আপনাকে কোন রিসোর্সের জন্য কার (ব্যবহারকারী) কী (ভূমিকা) অনুমতি আছে তা নিয়ন্ত্রণ করতে দেয়। IAM নীতি কোনও ব্যবহারকারীকে এক বা একাধিক ভূমিকা প্রদান করে, যার ফলে ব্যবহারকারী নির্দিষ্ট কিছু অনুমতি পান। যেমন, আপনি কোনও ব্যবহারকারীকে datastore.indexAdmin ভূমিকা দিতে পারেন, যা ব্যবহারকারীকে ইন্ডেক্স তৈরি, পরিবর্তন, মুছে ফেলা, তালিকাভুক্ত করা বা দেখার অনুমতি দেয়।

অনুমতি ও ভূমিকা

এই বিভাগে Cloud Firestore-এর সমর্থিত অনুমতি ও ভূমিকার সারসংক্ষেপ রয়েছে।

API পদ্ধতির জন্য প্রয়োজনীয় অনুমতি

নিম্নলিখিত সারণীতে প্রতিটি অ্যাকশন পারফর্ম করার জন্য কলারের কাছে যেসব অনুমতি থাকতে হবে তার তালিকা দেওয়া হল:

পদ্ধতি প্রয়োজনীয় অনুমতি
projects.databases.MongoDBCompatible
ListDatabases datastore.databases.getMetadata
ListIndexes datastore.schemas.list
Find datastore.entities.get
datastore.entities.list
Aggregate datastore.entities.get
datastore.entities.list
GetMore

কার্সর তৈরি করা কলের জন্য যে অনুমতি প্রয়োজন ছিল, এক্ষেত্রেও একই অনুমতি প্রয়োজন।

ListCollections datastore.entities.list
Count datastore.entities.list
Distinct datastore.entities.get
datastore.entities.list
CommitTransaction datastore.databases.get
AbortTransaction datastore.databases.get
EndSessions datastore.databases.get
KillCursors datastore.databases.get
Insert datastore.entities.create
Update datastore.entities.get
datastore.entities.list
datastore.entities.update
datastore.entities.create (শুধু আপসার্টের জন্য)
FindAndModify datastore.entities.get
datastore.entities.list
datastore.entities.update (শুধুমাত্র পরিবর্তন বা আপডেট করার জন্য)
datastore.entities.create (শুধুমাত্র আপসার্ট করার জন্য)
datastore.entities.delete (শুধুমাত্র মুছে ফেলার জন্য)
CreateCollection datastore.entities.create
DropCollection datastore.schemas.delete
projects.databases.indexes
create datastore.schemas.create
delete datastore.schemas.delete
get datastore.schemas.get
list datastore.schemas.list
projects.databases
create datastore.databases.create
delete datastore.databases.delete
get datastore.databases.getMetadata
list datastore.databases.list
patch datastore.databases.update
ফিরিয়ে আনুন datastore.backups.restoreDatabase
clone datastore.databases.clone ডেটাবেস ক্লোন করুন।

আপনার clone অনুরোধে tags ভ্যালু থাকলে, নিম্নলিখিত অতিরিক্ত অনুমতি প্রয়োজন:

  • datastore.databases.createTagBinding

আপনি যদি ট্যাগ বাইন্ডিংগুলি তালিকাভুক্ত করে সফলভাবে সেট করা হয়েছে কিনা তা যাচাই করতে চান, তাহলে নিম্নলিখিত অতিরিক্ত অনুমতির প্রয়োজন হবে:

  • datastore.databases.listTagBindings
  • datastore.databases.listEffectiveTags
projects.locations
get datastore.locations.get
list datastore.locations.list
projects.databases.backupschedules
get datastore.backupSchedules.get
list datastore.backupSchedules.list
create datastore.backupSchedules.create
update datastore.backupSchedules.update
delete datastore.backupSchedules.delete
projects.locations.backups
get datastore.backups.get
list datastore.backups.list
delete datastore.backups.delete
projects.databases.usercreds
get datastore.userCreds.get
list datastore.userCreds.list
create datastore.userCreds.create
enable datastore.userCreds.update
disable datastore.userCreds.update
resetPassword datastore.userCreds.update
delete datastore.userCreds.delete

আগে থেকে নির্ধারিত ভূমিকা

IAM-এর মাধ্যমে, Cloud Firestore-এ প্রতিটি API পদ্ধতির জন্য প্রয়োজন যে API অনুরোধ করা অ্যাকাউন্টের কাছে রিসোর্স ব্যবহার করার জন্য উপযুক্ত অনুমতি আছে। ব্যবহারকারী, গ্রুপ বা পরিষেবা অ্যাকাউন্টকে ভূমিকা প্রদান করে এমন নীতি সেট করার মাধ্যমে অনুমতি দেওয়া হয়। মালিক, এডিটর ও দর্শক-এর মতো আদিম ভূমিকা ছাড়াও, আপনার প্রোজেক্টের ব্যবহারকারীদের আপনি Cloud Firestore ভূমিকা দিতে পারবেন।

নিম্নলিখিত সারণীতে Cloud Firestore IAM ভূমিকার তালিকা দেওয়া হয়েছে। আপনি কোনও ব্যবহারকারী, গ্রুপ বা পরিষেবা অ্যাকাউন্টকে একাধিক ভূমিকা দিতে পারেন।

ভূমিকা অনুমতি বিবরণ
roles/datastore.owner appengine.applications.get

datastore.*

resourcemanager.projects.get
resourcemanager.projects.list
Cloud Firestore-এ সম্পূর্ণ অ্যাক্সেস।
roles/datastore.user appengine.applications.get

datastore.databases.get
datastore.databases.getMetadata
datastore.databases.list
datastore.entities.*
datastore.schemas.list
datastore.namespaces.get
datastore.namespaces.list
datastore.statistics.get
datastore.statistics.list

resourcemanager.projects.get
resourcemanager.projects.list
Cloud Firestore ডেটাবেসে ডেটা পড়া/লেখার অ্যাক্সেস। অ্যাপ্লিকেশন ডেভেলপার ও পরিষেবা অ্যাকাউন্টের জন্য।
roles/datastore.viewer appengine.applications.get

datastore.databases.get
datastore.databases.getMetadata
datastore.databases.list
datastore.entities.get
datastore.entities.list
datastore.schemas.get
datastore.schemas.list
datastore.namespaces.get
datastore.namespaces.list
datastore.statistics.get
datastore.statistics.list

resourcemanager.projects.get
resourcemanager.projects.list
সব Cloud Firestore রিসোর্স পড়ার অ্যাক্সেস।
roles/datastore.indexAdmin appengine.applications.get

datastore.databases.getMetadata

datastore.schemas.*

datastore.operations.list
datastore.operations.get
resourcemanager.projects.get
resourcemanager.projects.list
ইনডেক্স সংজ্ঞা ম্যানেজ করার সম্পূর্ণ অ্যাক্সেস।
roles/datastore.backupSchedulesViewer datastore.backupSchedules.get
datastore.backupSchedules.list
Cloud Firestore ডেটাবেসে ব্যাক-আপ শিডিউল অ্যাক্সেস করার অনুমতি।
roles/datastore.backupSchedulesAdmin datastore.backupSchedules.get
datastore.backupSchedules.list
datastore.backupSchedules.create
datastore.backupSchedules.update
datastore.backupSchedules.delete
datastore.databases.list
datastore.databases.getMetadata
Cloud Firestore ডেটাবেসে ব্যাক-আপ শিডিউলের সম্পূর্ণ অ্যাক্সেস।
roles/datastore.backupsViewer datastore.backups.get
datastore.backups.list
Cloud Firestore লোকেশনে ব্যাক-আপ সংক্রান্ত তথ্য অ্যাক্সেস করার অনুমতি।
roles/datastore.backupsAdmin datastore.backups.get
datastore.backups.list
datastore.backups.delete
Cloud Firestore লোকেশনে ব্যাক-আপের সম্পূর্ণ অ্যাক্সেস।
roles/datastore.restoreAdmin datastore.backups.get
datastore.backups.list
datastore.backups.restoreDatabase
datastore.databases.list
datastore.databases.create
datastore.databases.getMetadata
datastore.operations.list
datastore.operations.get
নতুন ডেটাবেসে Cloud Firestore ব্যাক-আপ ফিরিয়ে আনার ক্ষমতা। এই ভূমিকা নতুন ডেটাবেস তৈরি করার ক্ষমতাও দেয়, ব্যাক-আপ থেকে রিস্টোর করার মাধ্যমে এটি করতে হবে এমন কোনও বাধ্যবাধকতা নেই।
roles/datastore.cloneAdmin datastore.databases.clone
datastore.databases.list
datastore.databases.create
datastore.databases.getMetadata
datastore.operations.list
datastore.operations.get
নতুন ডেটাবেসে Cloud Firestore ডেটাবেস ক্লোন করার ক্ষমতা। এই ভূমিকা নতুন ডেটাবেস তৈরি করার ক্ষমতাও দেয়, ক্লোন করার মাধ্যমে নয়।
roles/datastore.statisticsViewer resourcemanager.projects.get
resourcemanager.projects.list
datastore.databases.getMetadata
datastore.insights.get
datastore.keyVisualizerScans.get
datastore.keyVisualizerScans.list
datastore.statistics.list
datastore.statistics.get
ইনসাইট, পরিসংখ্যান এবং Key Visualizer স্ক্যান পড়ার অ্যাক্সেস।
roles/datastore.userCredsViewer datastore.userCreds.get
datastore.userCreds.list
Cloud Firestore ডেটাবেসে ব্যবহারকারীর ক্রেডেনশিয়াল অ্যাক্সেস করার অনুমতি।
roles/datastore.userCredsAdmin datastore.userCreds.get
datastore.userCreds.list
datastore.userCreds.create
datastore.userCreds.update
datastore.userCreds.delete
datastore.databases.list
datastore.databases.getMetadata
Cloud Firestore ডেটাবেসে ব্যবহারকারীর ক্রেডেনশিয়ালের সম্পূর্ণ অ্যাক্সেস।

কাস্টম ভূমিকা

পূর্বনির্ধারিত ভূমিকা আপনার ব্যবসার প্রয়োজনীয়তা পূরণ না করলে, আপনি নিজের কাস্টম ভূমিকা নির্ধারণ করতে পারেন এবং আপনার নির্দিষ্ট করা অনুমতি দিতে পারেন:

ট্যাগ তৈরি ও ম্যানেজ করার জন্য প্রয়োজনীয় ভূমিকা

তৈরি বা রিস্টোর করার অ্যাকশনে কোনও ট্যাগ দেখানো হলে, কিছু ভূমিকা প্রয়োজন হয়। ডেটাবেস রিসোর্সের সাথে ট্যাগ কী-ভ্যালু পেয়ার অ্যাসোসিয়েট করার আগে সেগুলি তৈরি করার ব্যাপারে আরও জানতে ট্যাগ তৈরি ও ম্যানেজ করা দেখুন।

নিচে তালিকাভুক্ত অনুমতিগুলি প্রয়োজন।

ট্যাগ দেখুন
  • datastore.databases.listTagBindings
  • datastore.databases.listEffectiveTags
রিসোর্সে ট্যাগ ম্যানেজ করা

আপনি যে ডেটাবেস রিসোর্সে ট্যাগ ভ্যালু অ্যাটাচ করছেন সেটির জন্য নিম্নলিখিত অনুমতি প্রয়োজন।

  • datastore.databases.createTagBinding

অনুমতি

Cloud Firestore যেসব অনুমতি সমর্থন করে তার তালিকা নিচে দেওয়া হল।

ডেটাবেসের অনুমতির নাম বিবরণ
datastore.databases.get ট্রানজ্যাকশন শুরু বা রোলব্যাক করুন।
datastore.databases.getMetadata ডেটাবেস থেকে মেটাডেটা পড়ুন।
datastore.databases.list প্রোজেক্টে ডেটাবেসের তালিকা তৈরি করুন।
datastore.databases.create ডেটাবেস তৈরি করুন।
datastore.databases.update ডেটাবেস আপডেট করুন।
datastore.databases.delete ডেটাবেস মুছে দেওয়া।
datastore.databases.clone ডেটাবেস ক্লোন করুন।
datastore.databases.createTagBinding ডেটাবেসের জন্য ট্যাগ বাইন্ডিং তৈরি করুন।
datastore.databases.deleteTagBinding কোনও ডেটাবেসের জন্য ট্যাগ বাইন্ডিং মুছে দিন।
datastore.databases.listTagBindings কোনও ডেটাবেসের জন্য সব ট্যাগ বাইন্ডিংয়ের তালিকা তৈরি করুন।
datastore.databases.listEffectiveTagBindings কোনও ডেটাবেসের জন্য কার্যকর ট্যাগ বাইন্ডিংয়ের তালিকা তৈরি করুন।
এন্টিটির অনুমতির নাম বিবরণ
datastore.entities.create ডকুমেন্ট তৈরি করুন।
datastore.entities.delete ডকুমেন্ট মুছে দেওয়া।
datastore.entities.get ডকুমেন্ট পড়া।
datastore.entities.list প্রোজেক্টে থাকা ডকুমেন্টের নামের তালিকা।
(ডকুমেন্ট ডেটা অ্যাক্সেস করতে datastore.entities.get প্রয়োজন।)
datastore.entities.update ডকুমেন্ট আপডেট করুন।
ইনডেক্স অনুমতির নাম বিবরণ
datastore.schemas.create একটি ইন্ডেক্স তৈরি করুন।
datastore.schemas.delete ইন্ডেক্স মুছে দেওয়া।
datastore.schemas.get ইনডেক্স থেকে মেটাডেটা পড়ুন।
datastore.schemas.list প্রোজেক্টে ইন্ডেক্সের তালিকা তৈরি করুন।
datastore.schemas.update ইনডেক্স আপডেট করুন।
অপারেশন সংক্রান্ত অনুমতির নাম বিবরণ
datastore.operations.cancel দীর্ঘ সময় ধরে চলা অপারেশন বাতিল করুন।
datastore.operations.delete দীর্ঘ সময় ধরে চলা অপারেশন মুছে দিন।
datastore.operations.get দীর্ঘ সময় ধরে চলা অপারেশনের লেটেস্ট স্ট্যাটাস পায়।
datastore.operations.list দীর্ঘ সময় ধরে চলা অপারেশনের তালিকা।
প্রোজেক্টের অনুমতির নাম বিবরণ
resourcemanager.projects.get প্রোজেক্টে রিসোর্স ব্রাউজ করুন।
resourcemanager.projects.list মালিকানাধীন প্রোজেক্টের তালিকা।
লোকেশন সংক্রান্ত অনুমতির নাম বিবরণ
datastore.locations.get ডেটাবেস লোকেশন সম্পর্কে বিবরণ পান। নতুন ডেটাবেস তৈরি করতে হবে।
datastore.locations.list উপলভ্য ডেটাবেস লোকেশনের তালিকা। নতুন ডেটাবেস তৈরি করতে হবে।
Key Visualizer-এর অনুমতির নাম বিবরণ
datastore.keyVisualizerScans.get Key Visualizer স্ক্যান সম্পর্কে বিবরণ পান।
datastore.keyVisualizerScans.list উপলভ্য Key Visualizer স্ক্যানের তালিকা তৈরি করুন।
ব্যাক-আপ শিডিউল সংক্রান্ত অনুমতির নাম বিবরণ
datastore.backupSchedules.get ব্যাক-আপ শিডিউল সম্পর্কে বিবরণ পান।
datastore.backupSchedules.list উপলভ্য ব্যাক-আপ শিডিউলের তালিকা।
datastore.backupSchedules.create ব্যাক-আপ শিডিউল তৈরি করুন।
datastore.backupSchedules.update ব্যাক-আপের শিডিউল আপডেট করুন।
datastore.backupSchedules.delete ব্যাক-আপ শিডিউল মুছে দেওয়া।
ব্যাক-আপ অনুমতির নাম বিবরণ
datastore.backups.get ব্যাক-আপ সম্পর্কে বিবরণ পান।
datastore.backups.list উপলভ্য ব্যাক-আপের তালিকা।
datastore.backups.delete ব্যাক-আপ মুছে দেওয়া।
datastore.backups.restoreDatabase ব্যাক-আপ থেকে ডেটাবেস ফিরিয়ে আনুন।
ইনসাইট সংক্রান্ত অনুমতির নাম বিবরণ
datastore.insights.get রিসোর্সের ইনসাইট পাওয়া
ব্যবহারকারীর ক্রেডেনশিয়াল সংক্রান্ত অনুমতির নাম বিবরণ
datastore.userCreds.get ব্যবহারকারীর ক্রেডেনশিয়াল সম্পর্কে বিবরণ পান।
datastore.userCreds.list উপলভ্য ব্যবহারকারীর ক্রেডেনশিয়ালের তালিকা।
datastore.userCreds.create ব্যবহারকারীর ক্রেডেনশিয়াল তৈরি করুন।
datastore.userCreds.update ব্যবহারকারীর ক্রেডেনশিয়াল চালু বা বন্ধ করা অথবা ব্যবহারকারীর পাসওয়ার্ড রিসেট করা।
datastore.userCreds.delete ব্যবহারকারীর ক্রেডেনশিয়াল মুছে দিন।

ভূমিকা পরিবর্তন সংক্রান্ত লেটেন্সি

Cloud Firestore ৫ মিনিটের জন্য IAM অনুমতি ক্যাশে করে, তাই ভূমিকা পরিবর্তন কার্যকর হতে ৫ মিনিট পর্যন্ত সময় লাগে।

Cloud Firestore IAM ম্যানেজ করা

Google Cloud কনসোল, IAM API বা gcloud কমান্ড-লাইন টুল ব্যবহার করে আপনি IAM নীতি পেতে ও সেট করতে পারবেন। আরও জানতে প্রোজেক্ট মেম্বারদের অ্যাক্সেস দেওয়া, পরিবর্তন করা ও তুলে নেওয়া দেখুন।

শর্তসাপেক্ষ অ্যাক্সেসের অনুমতি কনফিগার করুন

শর্তাধীন অ্যাক্সেস কন্ট্রোল নির্ধারণ ও প্রয়োগ করতে আপনি IAM শর্তাবলী ব্যবহার করতে পারবেন।

যেমন, নিম্নলিখিত শর্তটি একটি নির্দিষ্ট তারিখ পর্যন্ত কোনও প্রিন্সিপালকে datastore.user ভূমিকা অ্যাসাইন করে:

{
  "role": "roles/datastore.user",
  "members": [
    "user:travis@example.com"
  ],
  "condition": {
    "title": "Expires_December_1_2023",
    "description": "Expires on December 1, 2023",
    "expression":
      "request.time < timestamp('2023-12-01T00:00:00.000Z')"
  }
}

সাময়িক অ্যাক্সেসের জন্য IAM শর্ত কীভাবে নির্ধারণ করতে হয় তা জানতে, সাময়িক অ্যাক্সেস কনফিগার করুন দেখুন।

এক বা একাধিক ডেটাবেস অ্যাক্সেস করার জন্য IAM শর্তাবলী কীভাবে কনফিগার করতে হয় তা জানতে, ডেটাবেস অ্যাক্সেস শর্তাবলী কনফিগার করুন দেখুন।

এর পরে কী করতে হবে