نقش‌های سرپرست سفارشی را برای ویژگی‌های Classroom تعیین کنید

مدیران می‌توانند نقش‌های سرپرست سفارشی را در کنسول مدیریت ایجاد کنند تا به افراد یا گروه‌های خاصی با مجوز Education Plus اجازه دهند:

این راهنما نحوه تنظیم این ویژگی ها را در دامنه خود با استفاده از Google API توضیح می دهد.

فرآیند اختصاص نقش سفارشی را خودکار کنید

برای خودکار کردن فرآیند اختصاص نقش سفارشی:

  1. ایجاد گروه های امنیتی برای سازماندهی کاربرانی که می توانند به این ویژگی ها دسترسی داشته باشند.
  2. اعضا را به گروه ها اضافه کنید.
  3. با انتخاب امتیاز صحیح، یک نقش مدیر سفارشی ایجاد کنید.
  4. شناسه های واحد سازمانی را بازیابی کنید.
  5. نقش مدیر سفارشی را برای گروه‌های تازه ایجاد شده اعمال کنید.

پیش نیازها

  1. راهنمای راه‌اندازی سریع را بخوانید تا نحوه راه‌اندازی و اجرای برنامه‌ای را با استفاده از Google API در زبان‌هایی مانند جاوا اسکریپت، پایتون و جاوا بخوانید.
  2. نمای کلی API Groups را بخوانید.
  3. قبل از اینکه از هر یک از APIهای Cloud Identity توضیح داده شده در این راهنما استفاده کنید، باید Cloud Identity را تنظیم کنید . این API ها برای ایجاد گروه هایی برای اختصاص امتیازات مدیر استفاده می شوند.
  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 دقیقه برای انتشار عضویت تاخیر وجود داشته باشد. علاوه بر این، API یک خطا را برای چرخه های عضویت گروه برمی گرداند. برای مثال، اگر group1 عضوی از group2 باشد، group2 نمی تواند عضوی از group1 باشد.

برای افزودن یک عضو به یک گروه، از درخواست POST زیر استفاده کنید.

فهرست 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"
}

این درخواست باید برای هر کاربری که می‌خواهید به عنوان عضو اضافه کنید، ارسال شود. می‌توانید این درخواست‌ها را دسته‌بندی کنید تا تعداد اتصالات HTTP را که مشتری شما باید انجام دهد کاهش دهید.

یک نقش مدیر سفارشی ممتاز ایجاد کنید

Directory API به شما امکان می‌دهد از کنترل دسترسی مبتنی بر نقش (RBAC) برای مدیریت دسترسی به ویژگی‌های دامنه Google Workspace خود استفاده کنید. می‌توانید نقش‌های سفارشی با امتیازاتی ایجاد کنید تا دسترسی سرپرست را به طور خاص‌تری نسبت به نقش‌های از پیش ساخته شده ارائه شده با Google Workspace محدود کنید. می توانید نقش هایی را به کاربران یا گروه های امنیتی اختصاص دهید. برای اطلاعات دقیق تر در مورد محدودیت های ایجاد نقش، به محدودیت های نقش سفارشی و انتساب نقش مراجعه کنید.

برای ایجاد یک نقش جدید، از درخواست POST زیر استفاده کنید.

Directory API roles.insert :

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

customerId همان چیزی است که در مرحله 1 این راهنما استفاده شده است.

حسابی که درخواست POST را انجام می دهد به حوزه زیر نیاز دارد:

  • https://www.googleapis.com/auth/admin.directory.rolemanagement

درخواست بدن

بدنه درخواست شامل جزئیات role است که باید ایجاد شود. برای هر امتیازی که باید با این نقش اعطا شود، یک privilegeName و serviceId اضافه کنید.

تجزیه و تحلیل کلاس درس

امتیاز 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 را فراخوانی کنید.

واکنش

پاسخ حاوی نمونه جدید نقش است.

تجزیه و تحلیل کلاس درس

{
   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
}

شناسه های واحد سازمانی را بازیابی کنید

می توانید با استفاده از شناسه واحد سازمانی، دسترسی نقش مدیر سفارشی را به یک یا چند واحد سازمانی محدود کنید. از OrgUnit API برای بازیابی orgUnitId استفاده کنید.

تجزیه و تحلیل کلاس درس

توصیه می شود هنگام اختصاص نقش مدیر سفارشی به یک کاربر یا گروه خاص، یک واحد سازمانی دانش آموز و واحد سازمانی معلم را انتخاب کنید. انجام این کار به کاربران تعیین شده با امتیاز مدیر سفارشی امکان دسترسی به داده های دانش آموزی و سطح کلاس برای واحدهای سازمانی را می دهد. اگر واحد سازمانی دانش آموز حذف شود، کاربران تعیین شده به داده های دانشجویی دسترسی نخواهند داشت. اگر واحد سازمانی معلم حذف شود، کاربران تعیین‌شده به داده‌های سطح کلاس دسترسی نخواهند داشت.

دسترسی موقت کلاس

می‌توانید با اجازه دادن به کاربرانی که نقش سرپرست سفارشی دارند به کلاس‌های واحدهای سازمانی خاص دسترسی داشته باشند، امتیازات دسترسی موقت کلاس را محدود کنید. در صورت محدود کردن دسترسی به یک واحد سازمانی، گروهی که نقش مدیر سفارشی را اختصاص داده است، تنها می‌تواند به کلاس‌هایی دسترسی داشته باشد که معلم اصلی کلاس در آن واحد سازمانی باشد.

نقش مدیر سفارشی را تعیین کنید

برای اختصاص نقش مدیر سفارشی به یک گروه، از درخواست POST زیر استفاده کنید. برای محدودیت‌های انتساب نقش، به راهنمای محدودیت‌های اختصاص نقش و نقش سفارشی مراجعه کنید.

فهرست API roleAssignments.insert :

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

به یک کاربر گروهی یا فردی اختصاص دهید

اگر امتیاز را به گروهی اختصاص دهید، groupId در قسمت assignedTo در بدنه درخواست قرار دهید. groupId در مرحله Create Security Groups به دست آمد. اگر امتیاز را به یک کاربر اختصاص دهید، شناسه کاربر را در قسمت 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>"
}

منابع

اطلاعات تکمیلی را می توان در آدرس زیر یافت: