আইডেন্টিটি অ্যান্ড অ্যাক্সেস ম্যানেজমেন্ট (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.getdatastore.entities.list | |
Aggregate | datastore.entities.getdatastore.entities.list | |
GetMore | কার্সার তৈরি করা কলের জন্য একই অনুমতিগুলির প্রয়োজন ছিল। | |
ListCollections | datastore.entities.list | |
Count | datastore.entities.list | |
Distinct | datastore.entities.getdatastore.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.getdatastore.entities.listdatastore.entities.updatedatastore.entities.create (শুধুমাত্র আপসার্টের জন্য) | |
FindAndModify | datastore.entities.getdatastore.entities.listdatastore.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 | একটি ডাটাবেস ক্লোন করুন। যদি আপনার
যদি আপনি বাইন্ডিং তালিকাভুক্ত করে ট্যাগ বাইন্ডিং সফলভাবে সেট করা হয়েছে কিনা তা যাচাই করতে চান, তাহলে নিম্নলিখিত অতিরিক্ত অনুমতিগুলির প্রয়োজন:
|
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.getdatastore.*resourcemanager.projects.getresourcemanager.projects.list | Cloud Firestore সম্পূর্ণ অ্যাক্সেস। |
roles/datastore.user | appengine.applications.getdatastore.databases.getdatastore.databases.getMetadatadatastore.databases.listdatastore.entities.*datastore.indexes.listdatastore.namespaces.getdatastore.namespaces.listdatastore.statistics.getdatastore.statistics.listresourcemanager.projects.getresourcemanager.projects.list | Cloud Firestore ডাটাবেসে ডেটা পড়ার/লেখার অ্যাক্সেস। অ্যাপ্লিকেশন ডেভেলপার এবং পরিষেবা অ্যাকাউন্টগুলির জন্য তৈরি। |
roles/datastore.viewer | appengine.applications.getdatastore.databases.getdatastore.databases.getMetadatadatastore.databases.listdatastore.entities.getdatastore.entities.listdatastore.indexes.getdatastore.indexes.listdatastore.namespaces.getdatastore.namespaces.listdatastore.statistics.getdatastore.statistics.listresourcemanager.projects.getresourcemanager.projects.list | সমস্ত Cloud Firestore রিসোর্সে পড়ার অ্যাক্সেস। |
roles/datastore.indexAdmin | appengine.applications.getdatastore.databases.getMetadatadatastore.indexes.*datastore.operations.listdatastore.operations.getresourcemanager.projects.getresourcemanager.projects.list | সূচক সংজ্ঞা পরিচালনা করার সম্পূর্ণ অ্যাক্সেস। |
roles/datastore.backupSchedulesViewer | datastore.backupSchedules.getdatastore.backupSchedules.list | Cloud Firestore ডাটাবেসে ব্যাকআপ সময়সূচীতে পড়ার অ্যাক্সেস। |
roles/datastore.backupSchedulesAdmin | datastore.backupSchedules.getdatastore.backupSchedules.listdatastore.backupSchedules.createdatastore.backupSchedules.updatedatastore.backupSchedules.deletedatastore.databases.listdatastore.databases.getMetadata | Cloud Firestore ডাটাবেসে ব্যাকআপ সময়সূচীতে সম্পূর্ণ অ্যাক্সেস। |
roles/datastore.backupsViewer | datastore.backups.getdatastore.backups.list | Cloud Firestore অবস্থানে ব্যাকআপ তথ্যের অ্যাক্সেস পড়ুন। |
roles/datastore.backupsAdmin | datastore.backups.getdatastore.backups.listdatastore.backups.delete | Cloud Firestore অবস্থানে ব্যাকআপের সম্পূর্ণ অ্যাক্সেস। |
roles/datastore.restoreAdmin | datastore.backups.getdatastore.backups.listdatastore.backups.restoreDatabasedatastore.databases.listdatastore.databases.createdatastore.databases.getMetadatadatastore.operations.listdatastore.operations.get | Cloud Firestore ব্যাকআপকে একটি নতুন ডাটাবেসে পুনরুদ্ধার করার ক্ষমতা। এই ভূমিকাটি নতুন ডাটাবেস তৈরি করার ক্ষমতাও দেয়, অগত্যা ব্যাকআপ থেকে পুনরুদ্ধার করে নয়। |
roles/datastore.cloneAdmin | datastore.databases.clonedatastore.databases.listdatastore.databases.createdatastore.databases.getMetadatadatastore.operations.listdatastore.operations.get | Cloud Firestore ডাটাবেসকে একটি নতুন ডাটাবেসে ক্লোন করার ক্ষমতা। এই ভূমিকাটি নতুন ডাটাবেস তৈরি করার ক্ষমতাও দেয়, অগত্যা ক্লোনিং করে নয়। |
roles/datastore.statisticsViewer | resourcemanager.projects.getresourcemanager.projects.listdatastore.databases.getMetadatadatastore.insights.getdatastore.keyVisualizerScans.getdatastore.keyVisualizerScans.listdatastore.statistics.listdatastore.statistics.get | অন্তর্দৃষ্টি, পরিসংখ্যান এবং কী ভিজ্যুয়ালাইজার স্ক্যানগুলিতে পড়ার অ্যাক্সেস। |
roles/datastore.userCredsViewer | datastore.userCreds.getdatastore.userCreds.list | Cloud Firestore ডাটাবেসে ব্যবহারকারীর শংসাপত্রগুলিতে পড়ার অ্যাক্সেস। |
roles/datastore.userCredsAdmin | datastore.userCreds.getdatastore.userCreds.listdatastore.userCreds.createdatastore.userCreds.updatedatastore.userCreds.deletedatastore.databases.listdatastore.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 শর্তাবলী কীভাবে কনফিগার করবেন তা জানতে, ডাটাবেস অ্যাক্সেস শর্তাবলী কনফিগার করুন দেখুন।
এরপর কি?
- IAM সম্পর্কে আরও জানুন।
- IAM-এর ভূমিকা প্রদান করুন ।
- প্রমাণীকরণ সম্পর্কে জানুন।