Classroom की सुविधाओं के लिए, पसंद के मुताबिक एडमिन की भूमिकाएं तय करना

एडमिन, Admin console में कस्टम एडमिन रोल बना सकते हैं. इससे, Education Plus के लाइसेंस वाले कुछ लोगों या ग्रुप को ये काम करने की अनुमति दी जा सकती है:

  • असाइनमेंट पूरा होने की दर, ग्रेड के रुझान, और Classroom अपनाने की दर जैसे डेटा को समझने के लिए, Classroom का डैशबोर्ड देखें.

  • कुछ समय के लिए Classroom में क्लास ऐक्सेस करें. इससे एजुकेटर की मदद की जा सकती है, सूचनाएं पोस्ट की जा सकती हैं, और अन्य काम किए जा सकते हैं. इसके लिए, आपको स्थायी तौर पर सह-शिक्षक के तौर पर असाइन करने की ज़रूरत नहीं है.

इस गाइड में, Google API का इस्तेमाल करके अपने डोमेन में इन सुविधाओं को सेट अप करने का तरीका बताया गया है.

कस्टम रोल असाइन करने की प्रोसेस को अपने-आप होने की सुविधा चालू करना

कस्टम भूमिका असाइन करने की प्रोसेस को अपने-आप होने के लिए सेट अप करने के लिए:

  1. उन उपयोगकर्ताओं को व्यवस्थित करने के लिए सुरक्षा ग्रुप बनाएं जिनके पास इन सुविधाओं को ऐक्सेस करने की अनुमति है.
  2. ग्रुप में सदस्यों को जोड़ें.
  3. सही विशेषाधिकार चुनकर, कस्टम एडमिन रोल बनाएं.
  4. संगठन की इकाइयों के आईडी वापस पाएं.
  5. नई बनाई गई कस्टम एडमिन भूमिका को नए ग्रुप पर लागू करें.

ज़रूरी शर्तें

  1. JavaScript, Python, और Java जैसी भाषाओं में Google API का इस्तेमाल करके ऐप्लिकेशन सेट अप करने और चलाने का तरीका जानने के लिए, क्विकस्टार्ट गाइड पढ़ें.
  2. Groups API के बारे में खास जानकारी पढ़ें.
  3. इस गाइड में बताए गए Cloud Identity API का इस्तेमाल करने से पहले, आपको Cloud Identity सेट अप करना होगा. इन एपीआई का इस्तेमाल, एडमिन के अधिकार असाइन करने के लिए ग्रुप बनाने के लिए किया जाता है.
  4. 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 का सदस्य नहीं हो सकता.

किसी सदस्य को ग्रुप में जोड़ने के लिए, इस POST अनुरोध का इस्तेमाल करें.

Directory 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"
}

आपको हर उस उपयोगकर्ता के लिए यह अनुरोध करना होगा जिसे आपको सदस्य के तौर पर जोड़ना है. क्लाइंट के बनाए जाने वाले एचटीटीपी कनेक्शन को कम करने के लिए, इन अनुरोधों को बैच में भेजा जा सकता है.

ज़्यादा सुविधाओं वाला कस्टम एडमिन रोल बनाना

Directory API की मदद से, भूमिका के हिसाब से ऐक्सेस कंट्रोल (आरबीएसी) का इस्तेमाल किया जा सकता है. इससे, अपने Google Workspace डोमेन में सुविधाओं के ऐक्सेस को मैनेज किया जा सकता है. Google Workspace के साथ उपलब्ध कराई गई पहले से बनी भूमिकाओं के मुकाबले, एडमिन के ऐक्सेस को ज़्यादा खास तौर पर सीमित करने के लिए, खास अधिकारों वाली कस्टम भूमिकाएं बनाई जा सकती हैं. उपयोगकर्ताओं या सुरक्षा ग्रुप को भूमिकाएं असाइन की जा सकती हैं. भूमिका बनाने की सीमाओं के बारे में ज़्यादा जानकारी के लिए, कस्टम रोल और भूमिका असाइन करने की सीमाएं लेख पढ़ें.

नई भूमिका बनाने के लिए, इस POST अनुरोध का इस्तेमाल करें.

Directory API 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 का डैशबोर्ड

Analytics डेटा को ऐक्सेस करने वाली कस्टम भूमिका बनाने के लिए, 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 तरीके को कॉल करें.

जवाब

जवाब में भूमिका का नया इंस्टेंस शामिल होता है.

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 का डैशबोर्ड

हमारा सुझाव है कि किसी उपयोगकर्ता या ग्रुप को एडमिन की कस्टम भूमिका असाइन करते समय, छात्र-छात्राओं के लिए संगठन की इकाई और शिक्षकों के लिए संगठन की इकाई चुनें. ऐसा करने से, कस्टम एडमिन की भूमिका वाले उपयोगकर्ताओं को संगठन की इकाइयों के छात्र-छात्राओं और क्लास के लेवल का डेटा ऐक्सेस करने की अनुमति मिलती है. अगर छात्र-छात्राओं की संगठनात्मक इकाई को शामिल नहीं किया जाता है, तो चुने गए उपयोगकर्ताओं के पास छात्र-छात्राओं के डेटा का ऐक्सेस नहीं होगा. अगर शिक्षक की संगठनात्मक इकाई को शामिल नहीं किया जाता है, तो चुने गए उपयोगकर्ताओं के पास क्लास-लेवल के डेटा का ऐक्सेस नहीं होगा.

क्लास का कुछ समय के लिए ऐक्सेस

उपयोगकर्ताओं को कुछ समय के लिए क्लास ऐक्सेस करने के खास अधिकार दिए जा सकते हैं. इसके लिए, कस्टम एडमिन की भूमिका वाले उपयोगकर्ताओं को संगठन की कुछ इकाइयों में क्लास ऐक्सेस करने की अनुमति दें. अगर किसी संगठन की इकाई के लिए ऐक्सेस को प्रतिबंधित किया जा रहा है, तो कस्टम एडमिन की भूमिका असाइन किए गए ग्रुप के सदस्य सिर्फ़ उन क्लास को ऐक्सेस कर सकते हैं जिनमें क्लास का मुख्य शिक्षक उस संगठन की इकाई में शामिल हो.

कस्टम एडमिन रोल असाइन करना

किसी ग्रुप को कस्टम एडमिन की भूमिका असाइन करने के लिए, यहां दिया गया POST अनुरोध इस्तेमाल करें. भूमिका असाइन करने की सीमाओं के बारे में जानने के लिए, कस्टम भूमिका और भूमिका असाइन करने से जुड़ी सीमाओं के बारे में दिशा-निर्देश पढ़ें.

Directory API 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>"
}

संसाधन

ज़्यादा जानकारी के लिए, यहां जाएं: