Администраторы домена имеют доступ к различным элементам управления функциями и приложениями, к которым пользователи домена могут получить доступ. На этой странице описываются эти функции, их влияние на внешнюю интеграцию или их полезность для неё, а также соответствующие запросы API.
Управление доступом к сторонним приложениям для пользователей младше 18 лет
Администраторы должны настроить сторонние приложения в консоли администратора Google для пользователей младше 18 лет. Если администратор не настроил приложение, пользователи младше 18 лет не смогут получить доступ к этому приложению с помощью своей учетной записи Google Workspace for Education.
От разработчиков, создающих приложения для пользователей Google Workspace for Education младше 18 лет, не требуется никаких действий. Настраивать сторонние приложения могут только администраторы в пользовательском интерфейсе консоли администратора, программными средствами это сделать невозможно.
Назначьте пользовательские роли администратора для функций класса
Администраторы могут создавать пользовательские роли администратора в консоли администратора, чтобы разрешить определенным лицам или группам с лицензией Education Plus :
Просматривайте аналитику Classroom, чтобы понять такие данные, как выполнение заданий, тенденции оценок и внедрение Classroom.
Временно получайте доступ к занятиям в Classroom без назначения постоянного преподавателя.
В этом руководстве объясняется, как настроить эти функции в вашем домене с помощью API Google.
Автоматизируйте процесс назначения пользовательских ролей
В этом руководстве вы узнаете, как выполнить следующие шаги для автоматизации процесса назначения пользовательских ролей:
- Создайте группы безопасности, чтобы организовать пользователей, которые смогут получить доступ к этим функциям.
- Добавьте участников в группы.
- Создайте пользовательскую роль администратора, выбрав правильную привилегию.
- Получить идентификаторы организационных подразделений.
- Примените пользовательскую роль администратора к вновь созданным группам.
Предпосылки
- Ознакомьтесь с руководствами по быстрому старту, чтобы узнать, как настроить и запустить приложение с использованием API Google на таких языках, как JavaScript, Python и Java.
- Прежде чем использовать любой из API Cloud Identity, описанных в этом руководстве, необходимо настроить Cloud Identity . Эти API используются для создания групп и назначения прав администратора.
- Ознакомьтесь с обзором API групп и настройте 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
). Найдите свой идентификатор клиента (customerId ).
{
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 к методу members.insert
API каталога:
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-подключений, которые должен устанавливать ваш клиент.
Создайте привилегированную пользовательскую роль администратора
API каталога позволяет использовать управление доступом на основе ролей (RBAC) для управления доступом к функциям в вашем домене Google Workspace. Вы можете создавать пользовательские роли с привилегиями, ограничивающими доступ администратора более точно, чем стандартные роли Google Workspace. Вы можете назначать роли пользователям или группам безопасности. Подробнее об ограничениях при создании ролей см. в разделах « Настраиваемые роли» и «Ограничения назначения ролей» .
Чтобы создать новую роль, используйте следующий запрос POST к методу roles.insert
API каталога:
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"
}
]
}
Вызовите метод privileges.list
для получения списка privilegeIds
и serviceIds
.
Ответ
Ответ содержит новый экземпляр роли.
Аналитика в классе
{
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
используйте API OrgUnit .
Аналитика в классе
При назначении роли администратора конкретному пользователю или группе рекомендуется выбрать организационное подразделение учащегося и организационное подразделение преподавателя. Это позволит пользователям, назначенным с правами администратора, получить доступ к данным учащихся и классов для этих организационных подразделений. Если организационное подразделение учащегося не указано, назначенные пользователи не будут иметь доступа к данным учащихся. Если организационное подразделение преподавателя не указано, назначенные пользователи не будут иметь доступа к данным класса.
Временный доступ к занятиям
Вы можете ограничить временные права доступа к классам, предоставив пользователям с настраиваемой ролью администратора доступ к классам в определенных организационных подразделениях. При ограничении доступа к подразделению группа, назначенная настраиваемой роли администратора, сможет получить доступ только к тем классам, в которых основной преподаватель класса находится в этом подразделении.
Назначить пользовательскую роль администратора
Чтобы назначить группе пользовательскую роль администратора, используйте следующий POST-запрос. Сведения об ограничениях на назначение ролей см. в руководстве по пользовательским ролям и ограничениям на назначение ролей.
API каталога roleAssignments.insert
:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments
Назначить группе или отдельному пользователю
При назначении привилегии группе укажите groupId
в поле assignedTo
в теле запроса. 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>"
}
Ресурсы
Дополнительную информацию можно найти по адресу:
- Обзор API каталога
- Аутентификация и авторизация, специфичные для API каталога
- Документация REST API каталога
- Поддержка разработчиков API Admin SDK