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

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

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

कस्टम रोल असाइन करने की प्रोसेस को ऑटोमेट करें

कस्टम रोल असाइन करने की प्रोसेस को ऑटोमेट करने के लिए:

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

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

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

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

डायरेक्ट्री एपीआई 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>"
}

रिसॉर्स

अतिरिक्त जानकारी यहां मिल सकती है: