অ্যাডমিনিস্ট্রেটররা অ্যাডমিন কনসোলে কাস্টম অ্যাডমিনিস্ট্রেটর রোল তৈরি করতে পারেন, যার মাধ্যমে এডুকেশন প্লাস লাইসেন্সধারী নির্দিষ্ট ব্যক্তি বা গোষ্ঠীকে নিম্নলিখিত কাজগুলো করার অনুমতি দেওয়া হয়:
অ্যাসাইনমেন্ট সম্পন্ন হওয়ার হার, গ্রেডের প্রবণতা এবং ক্লাসরুম ব্যবহারের হার-এর মতো ডেটা বুঝতে ক্লাসরুম অ্যানালিটিক্স দেখুন ।
স্থায়ী সহ-শিক্ষক হিসেবে নিযুক্ত না হয়েও, শিক্ষকদের সহায়তা করতে, ঘোষণা পোস্ট করতে এবং আরও অনেক কিছুর জন্য সাময়িকভাবে ক্লাসরুমের ক্লাসগুলোতে প্রবেশ করুন ।
এই নির্দেশিকায় ব্যাখ্যা করা হয়েছে কীভাবে গুগল এপিআই ব্যবহার করে আপনার ডোমেইনে এই বৈশিষ্ট্যগুলি সেট আপ করতে হয়।
কাস্টম রোল অ্যাসাইনমেন্ট প্রক্রিয়া স্বয়ংক্রিয় করুন
কাস্টম রোল অ্যাসাইনমেন্ট প্রক্রিয়া স্বয়ংক্রিয় করতে:
- এই বৈশিষ্ট্যগুলো ব্যবহার করতে পারবে এমন ব্যবহারকারীদের সংগঠিত করতে নিরাপত্তা গ্রুপ তৈরি করুন।
- গ্রুপগুলোতে সদস্য যুক্ত করুন।
- সঠিক প্রিভিলেজ নির্বাচন করে একটি কাস্টম অ্যাডমিনিস্ট্রেটর রোল তৈরি করুন।
- সাংগঠনিক ইউনিট আইডিগুলো পুনরুদ্ধার করুন।
- নতুন তৈরি করা গ্রুপগুলিতে কাস্টম অ্যাডমিনিস্ট্রেটর রোল প্রয়োগ করুন।
পূর্বশর্ত
- জাভাস্ক্রিপ্ট, পাইথন এবং জাভার মতো ভাষায় গুগল এপিআই ব্যবহার করে কীভাবে একটি অ্যাপ্লিকেশন সেট আপ ও রান করতে হয়, তা বোঝার জন্য কুইকস্টার্ট গাইডগুলো পড়ুন।
- Groups API Overview পড়ুন।
- এই নির্দেশিকায় বর্ণিত যেকোনো ক্লাউড আইডেন্টিটি এপিআই ব্যবহার করার আগে, আপনাকে অবশ্যই ক্লাউড আইডেন্টিটি সেট আপ করতে হবে। এই এপিআইগুলো অ্যাডমিনিস্ট্রেটর সুবিধা প্রদানের জন্য গ্রুপ তৈরি করতে ব্যবহৃত হয়।
- Groups 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": ""
}
}
}
গ্রুপ সদস্যদের যোগ করুন
একবার আপনি গ্রুপ তৈরি করে ফেললে, পরবর্তী ধাপ হলো সদস্য যুক্ত করা। একজন গ্রুপ সদস্য একজন ব্যবহারকারী বা অন্য কোনো সিকিউরিটি গ্রুপ হতে পারে। আপনি যদি একটি গ্রুপকে অন্য কোনো গ্রুপের সদস্য হিসেবে যুক্ত করেন, তাহলে সদস্যপদ কার্যকর হতে ১০ মিনিট পর্যন্ত দেরি হতে পারে। এছাড়াও, গ্রুপ সদস্যপদে চক্রাকার পরিবর্তন হলে এপিআই (API) একটি এরর (error) দেখায়। উদাহরণস্বরূপ, যদি group1 , group2 এর সদস্য হয়, তাহলে group2 group1 এর সদস্য হতে পারবে না।
কোনো গ্রুপে সদস্য যোগ করতে, নিম্নলিখিত POST অনুরোধটি ব্যবহার করুন।
ডিরেক্টরি এপিআই 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 সংযোগ স্থাপন করতে হয়, তা কমানোর জন্য আপনি এই অনুরোধগুলো একসাথে পাঠাতে পারেন।
একটি বিশেষাধিকারপ্রাপ্ত কাস্টম প্রশাসক ভূমিকা তৈরি করুন
ডিরেক্টরি এপিআই আপনাকে আপনার গুগল ওয়ার্কস্পেস ডোমেইনের ফিচারগুলিতে অ্যাক্সেস পরিচালনা করার জন্য রোল-ভিত্তিক অ্যাক্সেস কন্ট্রোল (RBAC) ব্যবহার করতে দেয়। গুগল ওয়ার্কস্পেসের সাথে দেওয়া আগে থেকে তৈরি রোলগুলির চেয়ে আরও সুনির্দিষ্টভাবে অ্যাডমিনিস্ট্রেটর অ্যাক্সেস সীমিত করার জন্য আপনি বিশেষাধিকার সহ কাস্টম রোল তৈরি করতে পারেন। আপনি ব্যবহারকারী বা নিরাপত্তা গ্রুপকে রোল বরাদ্দ করতে পারেন। রোল তৈরির সীমাবদ্ধতা সম্পর্কে আরও বিস্তারিত তথ্যের জন্য, কাস্টম রোল এবং রোল অ্যাসাইনমেন্টের সীমাবদ্ধতা দেখুন।
নতুন রোল তৈরি করতে, নিম্নলিখিত POST অনুরোধটি ব্যবহার করুন।
ডিরেক্টরি এপিআই roles.insert :
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles
customerId টি এই নির্দেশিকার ধাপ ১- এ ব্যবহৃত id-টির মতোই।
POST অনুরোধকারী অ্যাকাউন্টটির নিম্নলিখিত স্কোপ প্রয়োজন:
-
https://www.googleapis.com/auth/admin.directory.rolemanagement
অনুরোধকারী শরীর
অনুরোধের মূল অংশে যে role তৈরি করা হবে তার বিবরণ রয়েছে। এই রোলের সাথে যে প্রতিটি প্রিভিলেজ প্রদান করা হবে, তার জন্য একটি privilegeName এবং serviceId যোগ করুন।
শ্রেণীকক্ষ বিশ্লেষণ
অ্যানালিটিক্স ডেটা অ্যাক্সেস করতে পারে এমন একটি কাস্টম রোল তৈরি করার জন্য EDU_ANALYTICS_DATA_ACCESS প্রিভিলেজটি প্রয়োজন, এবং এর সাথে serviceId 019c6y1840fzfkt তে সেট করতে হবে।
{
roleName: "Education Admin", // customize as needed
roleDescription: "Access to view analytics data", // customize as needed
rolePrivileges: [
{
privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
serviceId: "019c6y1840fzfkt"
}
]
}
অস্থায়ী ক্লাস অ্যাক্সেস
ক্লাসগুলো সাময়িকভাবে অ্যাক্সেস করতে পারে এমন একটি কাস্টম রোল তৈরি করার জন্য ADMIN_OVERSIGHT_MANAGE_CLASSES প্রিভিলেজটি প্রয়োজন, এবং এর সাথে serviceId 019c6y1840fzfkt এ সেট করতে হবে।
{
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
}
সাংগঠনিক ইউনিট আইডি পুনরুদ্ধার করুন
আপনি অর্গানাইজেশনাল ইউনিট আইডি ব্যবহার করে এক বা একাধিক অর্গানাইজেশনাল ইউনিটে কাস্টম অ্যাডমিনিস্ট্রেটর রোলের অ্যাক্সেস সীমিত করতে পারেন। orgUnitId পুনরুদ্ধার করতে OrgUnit API ব্যবহার করুন।
শ্রেণীকক্ষ বিশ্লেষণ
কোনো নির্দিষ্ট ব্যবহারকারী বা গ্রুপকে কাস্টম অ্যাডমিনিস্ট্রেটর রোল অ্যাসাইন করার সময় একটি স্টুডেন্ট অর্গানাইজেশনাল ইউনিট এবং একটি টিচার অর্গানাইজেশনাল ইউনিট নির্বাচন করার পরামর্শ দেওয়া হয়। এটি করলে, কাস্টম অ্যাডমিনিস্ট্রেটর প্রিভিলেজ প্রাপ্ত ব্যবহারকারীরা অর্গানাইজেশনাল ইউনিটগুলোর স্টুডেন্ট এবং ক্লাস-লেভেলের ডেটা অ্যাক্সেস করতে পারেন। যদি স্টুডেন্ট অর্গানাইজেশনাল ইউনিট বাদ দেওয়া হয়, তাহলে মনোনীত ব্যবহারকারীরা স্টুডেন্ট ডেটা অ্যাক্সেস করতে পারবেন না। যদি টিচার অর্গানাইজেশনাল ইউনিট বাদ দেওয়া হয়, তাহলে মনোনীত ব্যবহারকারীরা ক্লাস-লেভেলের ডেটা অ্যাক্সেস করতে পারবেন না।
অস্থায়ী ক্লাস অ্যাক্সেস
কাস্টম অ্যাডমিনিস্ট্রেটর রোল থাকা ব্যবহারকারীদের নির্দিষ্ট অর্গানাইজেশনাল ইউনিটের ক্লাসগুলিতে অ্যাক্সেস দিয়ে আপনি অস্থায়ী ক্লাস অ্যাক্সেসের সুবিধা সীমিত করতে পারেন। কোনো অর্গানাইজেশনাল ইউনিটে অ্যাক্সেস সীমাবদ্ধ করা হলে, কাস্টম অ্যাডমিনিস্ট্রেটর রোল দেওয়া গ্রুপটি শুধুমাত্র সেইসব ক্লাস অ্যাক্সেস করতে পারবে, যেগুলোর প্রধান শিক্ষক সেই অর্গানাইজেশনাল ইউনিটে রয়েছেন।
কাস্টম প্রশাসক ভূমিকা বরাদ্দ করুন
কোনো গ্রুপকে কাস্টম অ্যাডমিনিস্ট্রেটর রোল বরাদ্দ করতে, নিম্নলিখিত POST অনুরোধটি ব্যবহার করুন। রোল বরাদ্দের সীমাবদ্ধতা জানতে কাস্টম রোল এবং রোল বরাদ্দের সীমাবদ্ধতা সংক্রান্ত নির্দেশিকা দেখুন।
ডিরেক্টরি এপিআই roleAssignments.insert :
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments
একটি গ্রুপ বা স্বতন্ত্র ব্যবহারকারীকে বরাদ্দ করুন
যদি কোনো গ্রুপকে প্রিভিলেজটি অ্যাসাইন করা হয়, তাহলে রিকোয়েস্ট বডির assignedTo ফিল্ডে groupId অন্তর্ভুক্ত করুন। `Create security groups` ধাপে groupId টি সংগ্রহ করা হয়েছিল। যদি কোনো একক ব্যবহারকারীকে প্রিভিলেজটি অ্যাসাইন করা হয়, তাহলে রিকোয়েস্ট বডির assignedTo ফিল্ডে ব্যবহারকারীর আইডি অন্তর্ভুক্ত করুন। 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>"
}
সম্পদ
অতিরিক্ত তথ্য এখানে পাওয়া যাবে:
- ডিরেক্টরি এপিআই ওভারভিউ
- ডিরেক্টরি এপিআই-নির্দিষ্ট প্রমাণীকরণ এবং অনুমোদন
- ডিরেক্টরি এপিআই রেস্ট ডকুমেন্টেশন
- অ্যাডমিন এসডিকে এপিআই ডেভেলপার সাপোর্ট