एडमिन, Admin console में पसंद के मुताबिक एडमिन की भूमिकाएं बना सकते हैं, ताकि Education Plus के लाइसेंस वाले कुछ लोगों या ग्रुप को ये काम करने की अनुमति मिल सके:
असाइनमेंट पूरा करने, ग्रेड के रुझान, और Classroom का इस्तेमाल किए जाने जैसे डेटा को समझने के लिए, Classroom के आंकड़े देखें.
स्थायी सह-शिक्षक के तौर पर असाइन किए बिना, एजुकेटर की मदद करने, सूचनाएं पोस्ट करने वगैरह के लिए, Classroom में कुछ समय के लिए क्लास ऐक्सेस करें.
इस गाइड में, Google API का इस्तेमाल करके अपने डोमेन में इन सुविधाओं को सेट अप करने का तरीका बताया गया है.
कस्टम रोल असाइन करने की प्रोसेस को ऑटोमेट करें
कस्टम रोल असाइन करने की प्रोसेस को ऑटोमेट करने के लिए:
- इन सुविधाओं को ऐक्सेस कर सकने वाले उपयोगकर्ताओं को व्यवस्थित करने के लिए, सुरक्षा से जुड़े ग्रुप बनाएं.
- ग्रुप में सदस्य जोड़ें.
- सही खास अधिकार चुनकर कस्टम एडमिन भूमिका बनाएं.
- संगठन की इकाई के आईडी वापस पाएं.
- नए बनाए गए ग्रुप पर कस्टम एडमिन रोल लागू करें.
ज़रूरी शर्तें
- Google API का इस्तेमाल करके JavaScript, Python, और Java जैसी भाषाओं में कोई ऐप्लिकेशन सेट अप करने और चलाने का तरीका जानने के लिए, क्विकस्टार्ट गाइड पढ़ें.
- Groups API की खास जानकारी पढ़ें.
- इस गाइड में बताए गए किसी भी Cloud Identity API का इस्तेमाल करने से पहले, आपको Cloud Identity सेट अप करना होगा. इन एपीआई का इस्तेमाल, ग्रुप बनाने के लिए किया जाता है, ताकि एडमिन के अधिकार असाइन किए जा सकें.
- 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": ""
}
}
}
समूह सदस्य जोड़ें
ग्रुप बनाने के बाद, अगला चरण सदस्यों को जोड़ना है. समूह का सदस्य कोई उपयोगकर्ता या कोई दूसरा सुरक्षा समूह हो सकता है. अगर आपने किसी ग्रुप को दूसरे ग्रुप के सदस्य के तौर पर जोड़ा है, तो सदस्यता को लागू होने में 10 मिनट लग सकते हैं. इसके अलावा, एपीआई, ग्रुप की पैसे चुकाकर ली जाने वाली सदस्यताओं में साइकल से जुड़ी गड़बड़ी दिखाता है. उदाहरण के लिए, अगर group1
, group2
का सदस्य है, तो group2
, group1
का सदस्य नहीं हो सकता.
ग्रुप में कोई सदस्य जोड़ने के लिए, नीचे दिए गए पोस्ट अनुरोध का इस्तेमाल करें.
डायरेक्ट्री एपीआई 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"
}
यह अनुरोध हर उस व्यक्ति के लिए किया जाना चाहिए जिसे आपको सदस्य के तौर पर जोड़ना है. क्लाइंट से बनाए जाने वाले एचटीटीपी कनेक्शन की संख्या कम करने के लिए, इन अनुरोधों को बैच किया जा सकता है.
खास अधिकारों वाले कस्टम एडमिन की भूमिका बनाएं
डायरेक्ट्री एपीआई की मदद से, रोल के आधार पर ऐक्सेस कंट्रोल (आरबीएसी) का इस्तेमाल किया जा सकता है. ऐसा करके, Google Workspace डोमेन की सुविधाओं का ऐक्सेस मैनेज किया जा सकता है. एडमिन ऐक्सेस को सीमित करने के लिए, खास अधिकार बनाए जा सकते हैं. इसके लिए, Google Workspace में पहले से बनाई गई भूमिकाओं के बजाय, खास अधिकार असाइन किए जा सकते हैं. उपयोगकर्ताओं या सुरक्षा से जुड़े ग्रुप को भूमिकाएं असाइन की जा सकती हैं. भूमिका बनाने की सीमाओं के बारे में ज़्यादा जानकारी के लिए, कस्टम रोल और रोल असाइन करने से जुड़ी सीमाएं देखें.
नई भूमिका बनाने के लिए, नीचे दिए गए पोस्ट अनुरोध का इस्तेमाल करें.
डायरेक्ट्री एपीआई roles.insert
:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles
customerId
वही है जिसका इस्तेमाल इस गाइड के
पहले चरण में किया गया है.
POST अनुरोध करने वाले खाते के लिए इस दायरे की ज़रूरत होती है:
https://www.googleapis.com/auth/admin.directory.rolemanagement
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, role
की जाने वाली जानकारी शामिल होती है. इस भूमिका के साथ दिए जाने वाले हर खास अधिकार के लिए, privilegeName
और serviceId
जोड़ें.
Classroom का डैशबोर्ड
ऐसी कस्टम भूमिका बनाने के लिए EDU_ANALYTICS_DATA_ACCESS
अधिकार की ज़रूरत है जो Analytics डेटा को ऐक्सेस कर सके. इसके अलावा, 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
तरीके को कॉल करें.
जवाब
रिस्पॉन्स में भूमिका का नया इंस्टेंस शामिल है.
Classroom का डैशबोर्ड
{
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 का इस्तेमाल करें.
Classroom का डैशबोर्ड
हमारा सुझाव है कि किसी खास उपयोगकर्ता या ग्रुप को कस्टम एडमिन भूमिका असाइन करते समय, संगठन की किसी इकाई और शिक्षक के लिए संगठन की इकाई चुनें. ऐसा करने से, कस्टम एडमिन के अधिकार वाले उपयोगकर्ता, संगठन की इकाइयों के लिए छात्र-छात्राओं और क्लास-लेवल के डेटा को ऐक्सेस कर सकते हैं. अगर संगठन की किसी इकाई को हटा दिया जाता है, तो तय किए गए उपयोगकर्ता, छात्र-छात्राओं के डेटा को ऐक्सेस नहीं कर पाएंगे. अगर शिक्षक संगठन की इकाई को छोड़ दिया जाता है, तो तय किए गए उपयोगकर्ता कक्षा-लेवल के डेटा को ऐक्सेस नहीं कर पाएंगे.
क्लास का अस्थायी ऐक्सेस
कस्टम एडमिन भूमिका वाले उपयोगकर्ताओं को संगठन की खास इकाइयों में मौजूद क्लास का ऐक्सेस देकर, कुछ समय के लिए क्लास ऐक्सेस करने के खास अधिकारों को सीमित किया जा सकता है. अगर संगठन की किसी इकाई के लिए ऐक्सेस प्रतिबंधित किया जा रहा है, तो जिस ग्रुप को पसंद के मुताबिक एडमिन की भूमिका असाइन की गई है वह सिर्फ़ उन क्लास को ऐक्सेस कर सकता है जिनमें क्लास का मुख्य शिक्षक उस संगठन की इकाई में हो.
कस्टम एडमिन की भूमिका असाइन करना
किसी ग्रुप को कस्टम एडमिन की भूमिका असाइन करने के लिए, इस पोस्ट अनुरोध का इस्तेमाल करें. भूमिका असाइन करने की सीमाओं के लिए, कस्टम रोल और रोल असाइन करने की सीमाओं से जुड़े दिशा-निर्देश देखें.
डायरेक्ट्री एपीआई roleAssignments.insert
:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments
किसी ग्रुप या किसी उपयोगकर्ता को असाइन करें
अगर किसी ग्रुप को खास अधिकार असाइन किए जाते हैं, तो अनुरोध के मुख्य हिस्से के assignedTo
फ़ील्ड में groupId
शामिल करें. 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>"
}
रिसॉर्स
अतिरिक्त जानकारी यहां मिल सकती है:
- डायरेक्ट्री एपीआई की खास जानकारी
- डायरेक्ट्री एपीआई के लिए, पुष्टि करने और अनुमति देने की प्रक्रिया
- डायरेक्ट्री एपीआई REST दस्तावेज़
- एडमिन SDK API के लिए डेवलपर सहायता