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