مدیران میتوانند نقشهای سرپرست سفارشی را در کنسول مدیریت ایجاد کنند تا به افراد یا گروههای خاصی با مجوز Education Plus اجازه دهند:
برای درک دادههایی مانند تکمیل تکلیف، گرایشهای نمره و پذیرش در کلاس ، تجزیه و تحلیلهای کلاس را مشاهده کنید .
برای حمایت از مربیان، ارسال اعلانها و موارد دیگر، بدون اینکه بهعنوان یک معلم مشترک دائمی منصوب شوید، بهطور موقت به کلاسهای Classroom دسترسی داشته باشید .
این راهنما نحوه تنظیم این ویژگی ها را در دامنه خود با استفاده از Google API توضیح می دهد.
فرآیند اختصاص نقش سفارشی را خودکار کنید
برای خودکار کردن فرآیند اختصاص نقش سفارشی:
- ایجاد گروه های امنیتی برای سازماندهی کاربرانی که می توانند به این ویژگی ها دسترسی داشته باشند.
- اعضا را به گروه ها اضافه کنید.
- با انتخاب امتیاز صحیح، یک نقش مدیر سفارشی ایجاد کنید.
- شناسه های واحد سازمانی را بازیابی کنید.
- نقش مدیر سفارشی را برای گروههای تازه ایجاد شده اعمال کنید.
پیش نیازها
- راهنمای راهاندازی سریع را بخوانید تا نحوه راهاندازی و اجرای برنامهای را با استفاده از Google API در زبانهایی مانند جاوا اسکریپت، پایتون و جاوا بخوانید.
- نمای کلی API Groups را بخوانید.
- قبل از اینکه از هر یک از APIهای Cloud Identity توضیح داده شده در این راهنما استفاده کنید، باید Cloud Identity را تنظیم کنید . این API ها برای ایجاد گروه هایی برای اختصاص امتیازات مدیر استفاده می شوند.
- API Groups را تنظیم کنید .
ایجاد گروه های امنیتی
با متد 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>"
}
منابع
اطلاعات تکمیلی را می توان در آدرس زیر یافت:
- نمای کلی فهرست API
- احراز هویت و مجوز ویژه API دایرکتوری
- مستندات Directory API REST
- پشتیبانی از توسعه دهنده API Admin SDK