ক্লাসরুম বৈশিষ্ট্যের জন্য কাস্টম প্রশাসকের ভূমিকা নির্ধারণ করুন

এডমিন কনসোলে অ্যাডমিনিস্ট্রেটররা কাস্টম অ্যাডমিনিস্ট্রেটরের ভূমিকা তৈরি করতে পারেন যাতে করে কিছু নির্দিষ্ট ব্যক্তি বা গোষ্ঠীকে এডুকেশন প্লাস লাইসেন্স সহ অনুমতি দেওয়া যায়:

Google API ব্যবহার করে আপনার ডোমেনে এই বৈশিষ্ট্যগুলি কীভাবে সেট আপ করবেন তা এই নির্দেশিকা ব্যাখ্যা করে৷

কাস্টম ভূমিকা নিয়োগ প্রক্রিয়া স্বয়ংক্রিয়

কাস্টম ভূমিকা অ্যাসাইনমেন্ট প্রক্রিয়া স্বয়ংক্রিয় করতে:

  1. এই বৈশিষ্ট্যগুলি অ্যাক্সেস করতে পারে এমন ব্যবহারকারীদের সংগঠিত করতে নিরাপত্তা গোষ্ঠী তৈরি করুন৷
  2. গ্রুপে সদস্য যোগ করুন।
  3. সঠিক বিশেষাধিকার নির্বাচন করে একটি কাস্টম প্রশাসকের ভূমিকা তৈরি করুন।
  4. সাংগঠনিক ইউনিট আইডি পুনরুদ্ধার করুন।
  5. নতুন তৈরি করা গ্রুপগুলিতে কাস্টম প্রশাসকের ভূমিকা প্রয়োগ করুন।

পূর্বশর্ত

  1. কিভাবে JavaScript, Python, এবং Java এর মতো ভাষায় Google API ব্যবহার করে একটি অ্যাপ্লিকেশন সেট আপ এবং চালাতে হয় তা বোঝার জন্য Quickstart নির্দেশিকা পড়ুন।
  2. Groups API ওভারভিউ পড়ুন।
  3. আপনি এই নির্দেশিকায় বর্ণিত ক্লাউড আইডেন্টিটি APIগুলির যেকোনো একটি ব্যবহার করার আগে, আপনাকে অবশ্যই ক্লাউড আইডেন্টিটি সেট আপ করতে হবে । এই APIগুলি প্রশাসকের বিশেষাধিকার বরাদ্দ করার জন্য গ্রুপ তৈরি করতে ব্যবহৃত হয়।
  4. গ্রুপ API সেট আপ করুন

নিরাপত্তা গোষ্ঠী তৈরি করুন

groups.create মেথড দিয়ে একটি সিকিউরিটি গ্রুপ তৈরি করুন। অনুরোধের labels ক্ষেত্রে নিরাপত্তা লেবেল অন্তর্ভুক্ত করা হলে একটি গোষ্ঠীকে একটি নিরাপত্তা গোষ্ঠী হিসাবে সেট করা যেতে পারে। নিরাপত্তা গোষ্ঠী তৈরির বিষয়ে আরও তথ্য এবং সীমাবদ্ধতার জন্য, নিরাপত্তা গোষ্ঠী তৈরির নির্দেশিকা পড়ুন।

POST https://cloudidentity.googleapis.com/v1/groups

ঐচ্ছিকভাবে, আপনি গ্রুপের মালিককে আরম্ভ করতে InitialGroupConfig ক্যোয়ারী প্যারামিটার অন্তর্ভুক্ত করতে পারেন:

POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}

এই অনুরোধ করা অ্যাকাউন্টের জন্য নিম্নলিখিত সুযোগগুলির মধ্যে একটি প্রয়োজন:

  • https://www.googleapis.com/auth/cloud-identity.groups
  • https://www.googleapis.com/auth/cloud-identity
  • https://www.googleapis.com/auth/cloud-platform

শরীরের অনুরোধ

অনুরোধের বডিতে গ্রুপের বিশদ বিবরণ রয়েছে যা তৈরি করা হবে। customerId অবশ্যই "C" দিয়ে শুরু হতে হবে (উদাহরণস্বরূপ, C046psxkn )। আপনার গ্রাহক আইডি খুঁজুন .

{
   parent: "customers/<customer-id>",
   description: "This is the leadership group of school A.",
   displayName: "Leadership School A",
   groupKey: {
      id: "leadership_school_a@example.com"
   },
   labels: {
      "cloudidentity.googleapis.com/groups.security": "",
      "cloudidentity.googleapis.com/groups.discussion_forum": ""
   }
}

প্রতিক্রিয়া

প্রতিক্রিয়াটিতে Operation রিসোর্সের একটি নতুন উদাহরণ রয়েছে।

{
   done: true,
   response: {
      @type: "type.googleapis.com/google.apps.cloudidentity.groups.v1.Group",
      name: "groups/<group-id>", // unique group ID
      groupKey: {
         id: "leadership_school_a@example.com" // group email address
      },
      parent: "customers/<customer-id>",
      displayName: "Leadership School A",
      description: "This is the leadership group of school A.",
      createTime: "<created time>",
      updateTime: "<updated time>",
      labels: {
         "cloudidentity.googleapis.com/groups.security": "",
         "cloudidentity.googleapis.com/groups.discussion_forum": ""
      }
   }
}

গ্রুপ সদস্যদের যোগ করুন

একবার আপনি গ্রুপ তৈরি করলে, পরবর্তী ধাপ হল সদস্যদের যোগ করা। একটি গ্রুপ সদস্য একটি ব্যবহারকারী বা অন্য নিরাপত্তা গ্রুপ হতে পারে. আপনি যদি একটি গ্রুপকে অন্য গ্রুপের সদস্য হিসাবে যুক্ত করেন, তাহলে সদস্যতা প্রচারের জন্য 10 মিনিট পর্যন্ত বিলম্ব হতে পারে। উপরন্তু, API গ্রুপ সদস্যপদ চক্রের জন্য একটি ত্রুটি প্রদান করে। উদাহরণস্বরূপ, যদি group1 group2 এর সদস্য হয় তবে group2 group1 এর সদস্য হতে পারে না।

একটি গ্রুপে একজন সদস্য যোগ করতে, নিম্নলিখিত POST অনুরোধটি ব্যবহার করুন।

ডিরেক্টরি API members.insert :

POST https://admin.googleapis.com/admin/directory/v1/groups/{groupKey}/members

groupKey পাথ প্যারামিটার হল নতুন সদস্যের গ্রুপ ইমেল ঠিকানা বা গ্রুপের অনন্য আইডি।

POST অনুরোধ করা অ্যাকাউন্টের জন্য নিম্নলিখিত সুযোগগুলির মধ্যে একটি প্রয়োজন:

  • https://apps-apis.google.com/a/feeds/groups/
  • https://www.googleapis.com/auth/admin.directory.group
  • https://www.googleapis.com/auth/admin.directory.group.member

শরীরের অনুরোধ

অনুরোধের বডিতে তৈরি করা member বিবরণ রয়েছে।

{
   email: "person_one@example.com",
   role: "MEMBER", // can be `MEMBER`, `OWNER`, `MANAGER`
}

প্রতিক্রিয়া

প্রতিক্রিয়াটিতে সদস্যের নতুন উদাহরণ রয়েছে।

{
   kind: "admin#directory#member",
   etag: "<etag-value>", // role's unique ETag
   id: "4567", // group member's unique ID
   email: "person_one@example.com",
   role: "MEMBER",
   type: "GROUP",
   status: "ACTIVE"
}

আপনি সদস্য হিসাবে যোগ করতে চান এমন প্রতিটি ব্যবহারকারীর জন্য এই অনুরোধটি করা দরকার। আপনার ক্লায়েন্ট তৈরি করা HTTP সংযোগের সংখ্যা কমাতে আপনি এই অনুরোধগুলি ব্যাচ করতে পারেন।

একটি বিশেষ সুবিধাপ্রাপ্ত কাস্টম প্রশাসকের ভূমিকা তৈরি করুন

ডিরেক্টরি API আপনাকে আপনার Google Workspace ডোমেনের বৈশিষ্ট্যগুলিতে অ্যাক্সেস পরিচালনা করতে ভূমিকা-ভিত্তিক অ্যাক্সেস নিয়ন্ত্রণ (RBAC) ব্যবহার করতে দেয়। Google Workspace-এ প্রদত্ত প্রিবিল্ট রোলগুলির চেয়ে বিশেষভাবে অ্যাডমিনিস্ট্রেটরের অ্যাক্সেস সীমিত করার জন্য আপনি বিশেষাধিকার সহ কাস্টম ভূমিকা তৈরি করতে পারেন। আপনি ব্যবহারকারী বা নিরাপত্তা গোষ্ঠীর ভূমিকা নির্ধারণ করতে পারেন। ভূমিকা তৈরির সীমাবদ্ধতা সম্পর্কে আরও বিস্তারিত তথ্যের জন্য, কাস্টম ভূমিকা এবং ভূমিকা নিয়োগের সীমাবদ্ধতাগুলি পড়ুন৷

একটি নতুন ভূমিকা তৈরি করতে, নিম্নলিখিত POST অনুরোধটি ব্যবহার করুন৷

ডিরেক্টরি API roles.insert :

POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles

customerId এই গাইডের ধাপ 1 এ ব্যবহৃত একটির মতই।

POST অনুরোধ করা অ্যাকাউন্টের জন্য নিম্নলিখিত সুযোগ প্রয়োজন:

  • https://www.googleapis.com/auth/admin.directory.rolemanagement

শরীরের অনুরোধ

অনুরোধের অংশে তৈরি করা role বিশদ বিবরণ রয়েছে৷ এই ভূমিকার সাথে মঞ্জুর করা উচিত এমন প্রতিটি বিশেষাধিকারের জন্য একটি privilegeName এবং serviceId যোগ করুন।

শ্রেণীকক্ষ বিশ্লেষণ

EDU_ANALYTICS_DATA_ACCESS বিশেষাধিকার প্রয়োজন এমন একটি কাস্টম ভূমিকা তৈরি করার জন্য যা বিশ্লেষণ ডেটা অ্যাক্সেস করতে পারে, 019c6y1840fzfkt সেট করা serviceId সহ।

{
   roleName: "Education Admin", // customize as needed
   roleDescription: "Access to view analytics data", // customize as needed
   rolePrivileges: [
      {
         privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
         serviceId: "019c6y1840fzfkt"
      }
   ]
}

অস্থায়ী ক্লাস অ্যাক্সেস

019c6y1840fzfkt সেট করা serviceId সহ অস্থায়ীভাবে ক্লাস অ্যাক্সেস করতে পারে এমন একটি কাস্টম ভূমিকা তৈরি করার জন্য ADMIN_OVERSIGHT_MANAGE_CLASSES বিশেষাধিকার প্রয়োজন।

{
   roleName: "Education Admin", // customize as needed
   roleDescription: "Access to manage classes privilege", // customize as needed
   rolePrivileges: [
      {
         privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
         serviceId: "019c6y1840fzfkt"
      }
   ]
}

privilegeIds এবং serviceIds একটি তালিকা পুনরুদ্ধার করতে privileges.list পদ্ধতিতে কল করুন।

প্রতিক্রিয়া

প্রতিক্রিয়া ভূমিকার নতুন উদাহরণ রয়েছে।

শ্রেণীকক্ষ বিশ্লেষণ

{
   kind: "admin#directory#role",
   etag: "<etag-value>",  // role's unique ETag
   roleId: "<role-id>",   // role's unique ID
   roleName: "Education Admin",
   roleDescription: "Access to view analytics data",
   rolePrivileges: [
      {
         privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
         serviceId: "019c6y1840fzfkt"
      }
   ],
   isSystemRole: false,
   isSuperAdminRole: false
}

অস্থায়ী ক্লাস অ্যাক্সেস

{
   kind: "admin#directory#role",
   etag: "<etag-value>",  // role's unique ETag
   roleId: "<role-id>",   // role's unique ID
   roleName: "Education Admin",
   roleDescription: "Access to manage classes privilege",
   rolePrivileges: [
      {
         privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
         serviceId: "019c6y1840fzfkt"
      }
   ],
   isSystemRole: false,
   isSuperAdminRole: false
}

সাংগঠনিক ইউনিট আইডি পুনরুদ্ধার করুন

আপনি সাংগঠনিক ইউনিট ID ব্যবহার করে এক বা একাধিক সাংগঠনিক ইউনিটে কাস্টম প্রশাসকের ভূমিকার অ্যাক্সেস সীমিত করতে পারেন। orgUnitId পুনরুদ্ধার করতে OrgUnit API ব্যবহার করুন।

শ্রেণীকক্ষ বিশ্লেষণ

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

অস্থায়ী ক্লাস অ্যাক্সেস

আপনি নির্দিষ্ট সাংগঠনিক ইউনিটের ক্লাসগুলিতে কাস্টম প্রশাসকের ভূমিকা সহ ব্যবহারকারীদের অনুমতি দিয়ে অস্থায়ী ক্লাস অ্যাক্সেসের সুবিধাগুলি সীমিত করতে পারেন৷ যদি একটি সাংগঠনিক ইউনিটে অ্যাক্সেস সীমাবদ্ধ করে, তবে কাস্টম প্রশাসকের ভূমিকা অর্পণ করা গ্রুপটি কেবলমাত্র সেই ক্লাসগুলিতে অ্যাক্সেস করতে পারে যেখানে ক্লাসের প্রাথমিক শিক্ষক সেই সাংগঠনিক ইউনিটে থাকে।

কাস্টম প্রশাসকের ভূমিকা বরাদ্দ করুন

একটি গ্রুপে কাস্টম প্রশাসকের ভূমিকা বরাদ্দ করতে, নিম্নলিখিত POST অনুরোধটি ব্যবহার করুন৷ ভূমিকা নিয়োগের সীমার জন্য কাস্টম ভূমিকা এবং ভূমিকা নিয়োগের সীমাবদ্ধতা নির্দেশিকা পড়ুন।

ডিরেক্টরি API roleAssignments.insert :

POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments

একটি গোষ্ঠী বা স্বতন্ত্র ব্যবহারকারীকে বরাদ্দ করুন

যদি কোনো গোষ্ঠীকে বিশেষাধিকার বরাদ্দ করা হয়, তাহলে অনুরোধের বডিতে assignedTo ক্ষেত্রে groupId অন্তর্ভুক্ত করুন। groupId নিরাপত্তা গ্রুপ তৈরি করুন ধাপে প্রাপ্ত হয়েছে। যদি একজন স্বতন্ত্র ব্যবহারকারীকে বিশেষাধিকার বরাদ্দ করা হয়, তাহলে অনুরোধের অংশে assignedTo ক্ষেত্রে ব্যবহারকারীর ID অন্তর্ভুক্ত করুন। users.get কল করে এবং userKey প্যারামিটার হিসাবে ব্যবহারকারীর ইমেল ঠিকানা নির্দিষ্ট করে বা users.list কল করে ব্যবহারকারীর আইডি পুনরুদ্ধার করা যেতে পারে।

POST অনুরোধ করা অ্যাকাউন্টের জন্য নিম্নলিখিত সুযোগ প্রয়োজন:

  • https://www.googleapis.com/auth/admin.directory.rolemanagement

শরীরের অনুরোধ

রিকোয়েস্ট বডিতে RoleAssignment তৈরির বিবরণ রয়েছে। আপনি এই গ্রুপের সাথে যুক্ত করতে চান এমন সাংগঠনিক ইউনিট প্রতি আপনাকে একটি অনুরোধ করতে হবে।

{
   roleId: "<role-id>",        // role's unique ID obtained from Step 3
   assignedTo: "<id>",         // group ID or user ID
   scopeType: "ORG_UNIT",      // can be `ORG_UNIT` or `CUSTOMER`
   orgUnitId: "<org-unit-id>"  // organizational unit ID referenced in Step 4
}

প্রতিক্রিয়া

প্রতিক্রিয়াটিতে RoleAssignment এর নতুন উদাহরণ রয়েছে।

{
   kind: "admin#directory#roleAssignment",
   etag: "<etag-value>",
   roleAssignmentId: "<role-assignment-id>",
   roleId: "<role-id>",
   assignedTo: "<group-id or user-id>",
   assigneeType: "GROUP",
   scopeType: "ORG_UNIT",
   orgUnitId: "<org-unit-id>"
}

সম্পদ

অতিরিক্ত তথ্য এখানে পাওয়া যাবে: