আইডেন্টিটি অ্যান্ড অ্যাকসেস ম্যানেজমেন্ট (আইএএম)

আইডেন্টিটি অ্যান্ড অ্যাক্সেস ম্যানেজমেন্ট (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.indexes.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
projects.databases.indexes
create datastore.indexes.create
delete datastore.indexes.delete
get datastore.indexes.get
list datastore.indexes.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.indexes.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.indexes.get
datastore.indexes.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.indexes.*

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
অন্তর্দৃষ্টি, পরিসংখ্যান এবং কী ভিজ্যুয়ালাইজার স্ক্যানগুলিতে পড়ার অ্যাক্সেস।
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.indexes.create একটি সূচক তৈরি করুন।
datastore.indexes.delete একটি সূচক মুছে ফেলুন।
datastore.indexes.get একটি সূচক থেকে মেটাডেটা পড়ুন।
datastore.indexes.list একটি প্রকল্পের সূচীগুলি তালিকাভুক্ত করুন।
datastore.indexes.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 উপলব্ধ ডাটাবেস অবস্থানের তালিকা তৈরি করুন। একটি নতুন ডাটাবেস তৈরি করতে প্রয়োজন।
কী ভিজ্যুয়ালাইজারের অনুমতির নাম বিবরণ
datastore.keyVisualizerScans.get কী ভিজ্যুয়ালাইজার স্ক্যান সম্পর্কে বিস্তারিত জানুন।
datastore.keyVisualizerScans.list উপলব্ধ কী ভিজ্যুয়ালাইজার স্ক্যানগুলির তালিকা তৈরি করুন।
ব্যাকআপ শিডিউল অনুমতির নাম বিবরণ
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 পরিচালনা করা

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

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

শর্তসাপেক্ষ অ্যাক্সেস নিয়ন্ত্রণ সংজ্ঞায়িত এবং প্রয়োগ করতে আপনি 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 শর্তাবলী কীভাবে কনফিগার করবেন তা জানতে, ডাটাবেস অ্যাক্সেস শর্তাবলী কনফিগার করুন দেখুন।

এরপর কি?