भूमिकाएं मैनेज करें

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

निर्देशिका API द्वारा उपयोग किए जाने वाले सामान्य शब्दों की सूची नीचे दी गई है ध्यान दें, Google Workspace में आरबीएसी के मामले में:

खास अधिकार
यहां पर कोई काम या कार्रवाई करने के लिए ज़रूरी अनुमति Google Workspace डोमेन. इस गेम के प्रतिनिधि Privilege संसाधन. यह लीजिए इस संसाधन से जुड़ा कोई स्थायी डेटा नहीं है.
Role
खास अधिकारों का संग्रह, जो उस भूमिका वाली इकाइयों को कुछ खास तरह के काम करने या कार्रवाइयां करने की क्षमता. इस गेम के प्रतिनिधि Role संसाधन.
भूमिका असाइन करना
उपयोगकर्ता या ग्रुप को दी गई किसी खास भूमिका का रिकॉर्ड. प्रतिनिधित्व RoleAssignment संसाधन.
सुरक्षा ग्रुप
एक तरह का Cloud Identity ग्रुप जिसका इस्तेमाल संगठन के ऐक्सेस को कंट्रोल करने के लिए किया जाता है संसाधन. सुरक्षा ग्रुप में, अलग-अलग उपयोगकर्ता और ग्रुप, दोनों शामिल हो सकते हैं.

भूमिकाएं असाइन करने और भूमिकाएं असाइन करने की सीमाएं

सिर्फ़ कुछ ही कस्टम भूमिकाएं या भूमिकाएं असाइन की जा सकती हैं. इसलिए, अगर आप सीमा के करीब पहुंच रहे हैं, तो उसे इस तरह से सीमा तय करें. भूमिकाएं और भूमिकाएं असाइन करने की सीमाओं के बारे में यहां बताया गया है:

  • पूरे संगठन के लिए, ज़्यादा से ज़्यादा 750 कस्टम भूमिकाएं बनाई जा सकती हैं.
  • हर उपयोगकर्ता के लिए, ज़्यादा से ज़्यादा 1,000 भूमिकाएं असाइन की जा सकती हैं संगठन की इकाई (ओयू), जहां रूट संगठन को एक इकाई माना जाता है. उदाहरण के लिए, रूट संगठन में 600 भूमिकाएं और 700 भूमिकाएं असाइन की जा सकती हैं किसी अन्य ओयू में हो जिसे आपने परिभाषित किया हो. जैसे, किसी कंपनी का डिपार्टमेंट. Google Workspace में पहले से बने एडमिन की सभी भूमिकाएं डिफ़ॉल्ट रूप से पूरे संगठन के लिए. इसके बारे में ज़्यादा जानें अधिकारों की सीमाएं जिसे ओयू लेवल पर असाइन किया जा सकता है.

समूहों के लिए भूमिकाएं और भूमिकाएं असाइन करने की प्रक्रिया में ये सीमाएं होती हैं:

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

अगर आपको किसी ओयू में 1,000 से ज़्यादा भूमिकाएं असाइन करनी हैं, तो और उस ग्रुप को कोई भूमिका असाइन कर देते हैं. समूह में भूमिका असाइनमेंट की कुछ अतिरिक्त सीमाएं हैं—यहां एडमिन सहायता केंद्र पर जाएं.

Google Admin console रोल-टू- प्रिवलेज मैपिंग

उन उपयोगकर्ताओं को भूमिकाएं असाइन करने के लिए जो Admin console में, हो सकता है कि कुछ अतिरिक्त अधिकारों की अनुमति दी गई है. उदाहरण के लिए, किसी उपयोगकर्ता को Admin console में ही नहीं, बल्कि USERS_CREATE खास अधिकार भी हैं ज़रूरी है, लेकिन USERS_UPDATE और ORGANIZATION_UNITS_RETRIEVE भी खास अधिकारों को ऐक्सेस करना होगा. नीचे दी गई टेबल में, Admin console को मैप किया गया है की सुविधाओं का इस्तेमाल करने और संगठन की इकाइयां.

Admin console की सुविधाएं खास अधिकार ज़रूरी हैं
संगठन की इकाइयां - पढ़ें ORGANIZATION_UNITS_RETRIEVE
संगठन की इकाइयां - बनाएं ORGANIZATION_UNITS_RETRIEVE + ORGANIZATION_UNITS_CREATE
संगठन की इकाइयां - अपडेट ORGANIZATION_UNITS_RETRIEVE + ORGANIZATION_UNITS_UPDATE
संगठन की इकाइयां - मिटाएं ORGANIZATION_UNITS_RETRIEVE + ORGANIZATION_UNITS_DELETE
संगठन की इकाइयां ORGANIZATION_UNITS_ALL
उपयोगकर्ता - पढ़े गए USERS_RETRIEVE + ORGANIZATION_UNITS_RETRIEVE
उपयोगकर्ता - बनाएं USERS_CREATE + USERS_UPDATE + ORGANIZATION_UNITS_RETRIEVE
उपयोगकर्ता - अपडेट USERS_UPDATE + ORGANIZATION_UNITS_RETRIEVE
उपयोगकर्ता - उपयोगकर्ताओं को ले जाएं USERS_MOVE + USERS_RETRIEVE + ORGANIZATION_UNITS_RETRIEVE
उपयोगकर्ता - उपयोगकर्ताओं का नाम बदलें USERS_ALIAS + USERS_RETRIEVE + ORGANIZATION_UNITS_RETRIEVE
उपयोगकर्ता - पासवर्ड रीसेट करें USERS_RESET_PASSWORD + USERS_RETRIEVE + ORGANIZATION_UNITS_RETRIEVE
उपयोगकर्ता - पासवर्ड बलपूर्वक बदलें USERS_FORCE_PASSWORD_CHANGE + USERS_RETRIEVE + ORGANIZATION_UNITS_RETRIEVE
उपयोगकर्ता - उपनामों को जोड़ें/निकालें USERS_ADD_NICKNAME + USERS_RETRIEVE + ORGANIZATION_UNITS_RETRIEVE
उपयोगकर्ता - उपयोगकर्ताओं को निलंबित करें USERS_SUSPEND + USERS_RETRIEVE + ORGANIZATION_UNITS_RETRIEVE
ग्रुप GROUPS_ALL
सुरक्षा - उपयोगकर्ता सुरक्षा प्रबंधन USER_SECURITY_ALL + USERS_RETRIEVE + ORGANIZATION_UNITS_RETRIEVE

इस्तेमाल के उदाहरण

शुरू करने से पहले

इसे पूरा करें पुष्टि करना और अनुमति देना Google Workspace खाता सेट अप करने का तरीका.

डोमेन के खास अधिकारों की सूची पाएं

अपने डोमेन में इस्तेमाल किए जा सकने वाले खास अधिकारों की पेजों वाली सूची पाने के लिए, privileges.list() तरीका.

  • अगर आप एडमिन हैं और आपको अपने डोमेन में खास अधिकार मिल रहे हैं, तो my_customer का ग्राहक आईडी के तौर पर इस्तेमाल करें.

  • अगर आप रीसेलर हैं और आपको अपने किसी ग्राहक के खास अधिकार मिल रहे हैं, तो उस ग्राहक आईडी का इस्तेमाल करें जो वापस पाएं उपयोगकर्ता कार्रवाई.

अनुरोध

GET https://admin.googleapis.com/admin/directory/v1/customer/customer_id/roles/ALL/privileges

जवाब

सही जवाब मिलने पर एचटीटीपी 200 स्थिति वाला मैसेज दिखता है कोड. इसके साथ ही स्थिति कोड डालने पर, रिस्पॉन्स, डोमेन में काम करने वाले खास अधिकार दिखाता है:

{
  "kind": "admin\#directory\#privileges",
  "etag": ...,
  "items": [
    {
      "kind": "admin\#directory\#privilege",
      "etag": ...,
      "serviceId": "02afmg282jiquyg",
      "privilegeName": "APP_ADMIN",
      "isOuScopable": false
    },
    {
      "kind": "admin\#directory\#privilege",
      "etag": ...,
      "serviceId": "04f1mdlm0ki64aw",
      "privilegeName": "MANAGE_USER_SETTINGS",
      "isOuScopable": true,
      "childPrivileges": [
        {
          "kind": "admin\#directory\#privilege",
          "etag": ...,
          "serviceId": "04f1mdlm0ki64aw",
          "privilegeName": "MANAGE_APPLICATION_SETTINGS",
          "isOuScopable": true
        }
      ]
    },
    ...
  ]
}

मौजूदा भूमिकाएं पाएं

मौजूदा भूमिकाओं की सूची पाने के लिए, इस GET अनुरोध का इस्तेमाल करें और इसमें शामिल में बताया गया प्राधिकरण अधिकृत करें अनुरोध.

  • अगर आप एडमिन हैं और आपको अपने डोमेन में भूमिकाएं मिल रही हैं, तो my_customer का ग्राहक आईडी के तौर पर इस्तेमाल करें.

  • अगर आप रीसेलर हैं और आपको किसी ग्राहक के लिए भूमिकाएं मिल रही हैं, तो उस ग्राहक आईडी का इस्तेमाल करें जिसे आप वापस पाएं उपयोगकर्ता कार्रवाई.

अनुरोध

GET https://admin.googleapis.com/admin/directory/v1/customer/customer_id/roles

जवाब

सही जवाब मिलने पर एचटीटीपी 200 स्टेटस दिखता है कोड. इसके साथ ही स्थिति कोड दर्ज करते हैं, तो प्रतिसाद उन भूमिकाओं को दिखाता है जो डोमेन में मौजूद हैं:

{
  "kind": "admin\#directory\#roles",
  "etag": "\"sxH3n22L0-77khHtQ7tiK6I21Yo/DywA6_jaJCYw-f0lFs2-g17UWe8\"",
  "items": [
    {
      "kind": "admin\#directory\#role",
      "etag": ... ,
      "roleId": "3894208461012993",
      "roleName": "_SEED_ADMIN_ROLE",
      "roleDescription": "Google Workspace Administrator Seed Role",
      "rolePrivileges": [
        {
          "privilegeName": "SUPER_ADMIN",
          "serviceId": "01ci93xb3tmzyin"
        },
        {
          "privilegeName": "ROOT_APP_ADMIN",
          "serviceId": "00haapch16h1ysv"
        },
        {
          "privilegeName": "ADMIN_APIS_ALL",
          "serviceId": "00haapch16h1ysv"
        },
        ...
      ],
      "isSystemRole": true,
      "isSuperAdminRole": true
    },
    {
      "kind": "admin\#directory\#role",
      "etag": "\"sxH3n22L0-77khHtQ7tiK6I21Yo/bTXiZXfuK1NGr_f4paosCWXuHmw\"",
      "roleId": "3894208461012994",
      "roleName": "_GROUPS_ADMIN_ROLE",
      "roleDescription": "Groups Administrator",
      "rolePrivileges": [
        {
          "privilegeName": "CHANGE_USER_GROUP_MEMBERSHIP",
          "serviceId": "01ci93xb3tmzyin"
        },
        {
          "privilegeName": "USERS_RETRIEVE",
          "serviceId": "00haapch16h1ysv"
        },
        {
          "privilegeName": "GROUPS_ALL",
          "serviceId": "00haapch16h1ysv"
        },
        {
          "privilegeName": "ADMIN_DASHBOARD",
          "serviceId": "01ci93xb3tmzyin"
        },
        {
          "privilegeName": "ORGANIZATION_UNITS_RETRIEVE",
          "serviceId": "00haapch16h1ysv"
        }
      ],
      "isSystemRole": true
    },
    ...
  ]
}

असाइन किए गए सभी रोल की सूची बनाएं

प्रत्यक्ष भूमिका वाले सभी असाइनमेंट की पेज नंबर वाली सूची पाने के लिए, इसका इस्तेमाल करें roleAssignments.list() तरीका. userKey पैरामीटर सेट है. आपको तब तक पेज नंबर डालना जारी रखना चाहिए, जब तक कोई पेज टोकन वापस किया गया.

  • अगर आप एडमिन हैं और आपको अपने डोमेन में भूमिकाएं असाइन की जा रही हैं, तो इसका इस्तेमाल करें my_customer का ग्राहक आईडी के तौर पर इस्तेमाल करें.

  • अगर आप रीसेलर हैं और अपने किसी ग्राहक को भूमिकाएं असाइन कर रहे हैं, तो वापस पाएं उपयोगकर्ता कार्रवाई.

अनुरोध

GET https://admin.googleapis.com/admin/directory/v1/customer/customer_id/roleassignments

जवाब

सही जवाब मिलने पर एचटीटीपी 200 स्टेटस दिखता है कोड. इसके साथ ही स्थिति कोड डालने पर, रिस्पॉन्स, डोमेन में असाइन की गई सभी भूमिकाएं दिखाता है:

{
  "kind": "admin\#directory\#roleAssignment",
  "etag": "\"sxH3n22L0-77khHtQ7tiK6I21Yo/VdrrUEz7GyXqlr9I9JL0wGZn8yE\"",
  "roleAssignmentId:"3894208461013211",
  "assignedTo:"100662996240850794412",
  "assigneeType:"user",
  "scopeType:"CUSTOMER",
}

सीधे तौर पर नहीं दिए गए सभी रोल की सूची बनाएं

सभी भूमिकाएं असाइन किए जाने की सूची पाने के लिए किसी उपयोगकर्ता को असाइन की गई है, तो इसका इस्तेमाल करें roleAssignments.list() तरीका.

ऐसा हो सकता है कि एपीआई, पेज टोकन के साथ खाली नतीजे दिखाए. आपको जारी रखना चाहिए जब तक कोई पेज टोकन नहीं दिखता, तब तक पेज नंबर डालना.

  • अगर आप एडमिन हैं और आपको अपने डोमेन में भूमिकाएं असाइन की जा रही हैं, तो इसका इस्तेमाल करें my_customer का ग्राहक आईडी के तौर पर इस्तेमाल करें.

  • अगर आप रीसेलर हैं और अपने किसी ग्राहक को भूमिकाएं असाइन कर रहे हैं, तो उस ग्राहक आईडी का इस्तेमाल करें जो वापस पाएं उपयोगकर्ता कार्रवाई.

  • USER_KEY को ऐसी वैल्यू से बदलें जो एपीआई अनुरोध में मौजूद उपयोगकर्ता की जानकारी. ज़्यादा जानकारी के लिए, यह देखें users.get.

अनुरोध

GET https://admin.googleapis.com/admin/directory/v1/customer/customer_id/roleassignments?userKey=USER_KEY&includeIndirectRoleAssignments=true

जवाब

सही जवाब मिलने पर एचटीटीपी 200 स्टेटस दिखता है कोड. इसके साथ ही स्थिति कोड, रिस्पॉन्स, डोमेन में असाइन की गई सभी भूमिकाएं दिखाता है और assigneeType, user या group है:

{
  "kind": "admin\#directory\#roleAssignment",
  "etag": "\"sxH3n22L0-77khHtQ7tiK6I21Yo/VdrrUEz7GyXqlr9I9JL0wGZn8yE\"",
  "roleAssignmentId:"3894208461013211",
  "assignedTo:"100662996240850794412",
  "assigneeType:"group",
  "scopeType:"CUSTOMER",
}

भूमिका बनाना

नई भूमिका बनाने के लिए, इस POST अनुरोध का इस्तेमाल करें और इसमें शामिल करें में बताया गया है अधिकृत करें अनुरोध. हर उस खास अधिकार के लिए एक privilegeName और serviceId जोड़ें जो यह होना चाहिए उन्हें यह भूमिका असाइन की गई है. अनुरोध और रिस्पॉन्स प्रॉपर्टी के लिए, एपीआई देखें रेफ़रंस.

अनुरोध

POST https://admin.googleapis.com/admin/directory/v1/customer/customer_id/roles

{
  "roleName": "My New Role",
  "rolePrivileges": [
    {
      "privilegeName": "USERS_ALL",
      "serviceId": "00haapch16h1ysv"
    },
    {
      "privilegeName": "GROUPS_ALL",
      "serviceId": "00haapch16h1ysv"
    }
  ]
}

जवाब

सही जवाब मिलने पर एचटीटीपी 200 स्टेटस दिखता है कोड. इसके साथ ही स्थिति कोड, रिस्पॉन्स नई भूमिका के लिए प्रॉपर्टी दिखाता है:

{
  "kind": "admin\#directory\#role",
  "etag": "\"sxH3n22L0-77khHtQ7tiK6I21Yo/uX9tXw0qyijC9nUKgCs08wo8aEM\"",
  "roleId": "3894208461013031",
  "roleName": "My New Role",
  "rolePrivileges": [
    {
      "privilegeName": "GROUPS_ALL",
      "serviceId": "00haapch16h1ysv"
    },
    {
      "privilegeName": "USERS_ALL",
      "serviceId": "00haapch16h1ysv"
    }
  ]
}

भूमिका असाइन करना

भूमिका असाइन करने के लिए, इस POST तरीके का इस्तेमाल करें और अनुमति देने का अनुरोध शामिल करें इसमें बताया गया है अनुरोधों को अनुमति देना.

अनुरोध

POST https://admin.googleapis.com/admin/directory/v1/customer/customer_id/roleassignments

{
  "roleId": "3894208461012995",
  "assignedTo": "100662996240850794412",
  "scopeType": "CUSTOMER"
}

जवाब

सही जवाब मिलने पर एचटीटीपी 200 स्टेटस दिखता है कोड. इसके साथ ही स्थिति कोड, रिस्पॉन्स नई भूमिका के असाइनमेंट के लिए प्रॉपर्टी लौटाता है:

{
  "kind": "admin\#directory\#roleAssignment",
  "etag": "\"sxH3n22L0-77khHtQ7tiK6I21Yo/VdrrUEz7GyXqlr9I9JL0wGZn8yE\"",
  "roleAssignmentId": "3894208461013211",
  "roleId": "3894208461012995",
  "assignedTo": "100662996240850794412",
  "scopeType": "CUSTOMER"
}

शर्तों के साथ भूमिका असाइन करना

खास शर्तों को पूरा करने वाली कार्रवाइयां करने के लिए, भूमिकाएं दी जा सकती हैं. इस समय, सिर्फ़ दो शर्तों का इस्तेमाल किया जा सकता है:

  • सिर्फ़ सुरक्षा से जुड़े ग्रुप पर लागू होता है
  • सुरक्षा से जुड़े ग्रुप पर लागू नहीं

जब condition को सेट किया जाता है, तो यह सिर्फ़ तब लागू होगा, जब संसाधन और उस तक पहुंचे. अगर condition की भूमिका खाली है, तो भूमिका (roleId) होगी स्कोप (scopeType) पर, कलाकार (assignedTo) पर बिना किसी शर्त के लागू किया गया.

किसी उपयोगकर्ता को भूमिका असाइन करने के लिए, नीचे दिए गए पीओएसटी तरीके का इस्तेमाल करें और उसमें अनुमति देने के बारे में इसमें बताया गया है अनुमति दें अनुरोध हैं.

उपयोगकर्ता के user_id के साथ JSON बॉडी जोड़ें, जिससे आपको उन्हें ऐक्सेस किया जा सकता है users.get(), roleId को मौजूदा भूमिकाएं पाएं और condition में बताया गया है. कॉन्टेंट बनाने जैसा कि नीचे दिखाया गया है, दो शर्त वाली स्ट्रिंग का इस्तेमाल हर बार हूबहू करना चाहिए केवल समूह संपादक और समूह रीडर के साथ काम करता है एडमिन के लिए पहले से बनाई गई भूमिकाएं. ये शर्तें इन शर्तों को पूरा करती हैं Cloud IAM कंडिशन सिंटैक्स.

अनुरोध

सिर्फ़ सुरक्षा से जुड़े ग्रुप पर लागू होता है
POST https://admin.googleapis.com/admin/directory/v1.1beta1/customer/customer_id/roleassignments

{
  "roleId": "3894208461012995",
  "assignedTo": "100662996240850794412",
  "scopeType": "CUSTOMER",
  "condition": "api.getAttribute('cloudidentity.googleapis.com/groups.labels',
    []).hasAny(['groups.security']) && resource.type ==
    'cloudidentity.googleapis.com/Group'"
}
सुरक्षा से जुड़े ग्रुप पर लागू नहीं
POST https://admin.googleapis.com/admin/directory/v1.1beta1/customer/customer_id/roleassignments

{
  "roleId": "3894208461012995",
  "assignedTo": "100662996240850794412",
  "scopeType": "CUSTOMER",
  "condition": "!api.getAttribute('cloudidentity.googleapis.com/groups.labels',
    []).hasAny(['groups.security']) && resource.type ==
    'cloudidentity.googleapis.com/Group'"
}

जवाब

सही जवाब मिलने पर एचटीटीपी 200 स्टेटस दिखता है कोड. इसके साथ ही स्थिति कोड, रिस्पॉन्स नए भूमिका असाइनमेंट के लिए प्रॉपर्टी लौटाता है:

{
  "kind": "admin\#directory\#roleAssignment",
  "etag": "\"sxH3n22L0-77khHtQ7tiK6I21Yo/VdrrUEz7GyXqlr9I9JL0wGZn8yE\"",
  "roleAssignmentId": "3894208461013211",
  "roleId": "3894208461012995",
  "assignedTo": "100662996240850794412",
  "scopeType": "CUSTOMER",
  "condition": "!api.getAttribute('cloudidentity.googleapis.com/groups.labels',
    []).hasAny(['groups.security']) && resource.type ==
    'cloudidentity.googleapis.com/Group'"
}