Действия администратора

Администраторы домена имеют доступ к различным элементам управления функциями и приложениями, к которым пользователи домена могут получить доступ. На этой странице описываются эти функции, их влияние на внешнюю интеграцию или их полезность для неё, а также соответствующие запросы API.

Управление доступом к сторонним приложениям для пользователей младше 18 лет

Администраторы должны настроить сторонние приложения в консоли администратора Google для пользователей младше 18 лет. Если администратор не настроил приложение, пользователи младше 18 лет не смогут получить доступ к этому приложению с помощью своей учетной записи Google Workspace for Education.

От разработчиков, создающих приложения для пользователей Google Workspace for Education младше 18 лет, не требуется никаких действий. Настраивать сторонние приложения могут только администраторы в пользовательском интерфейсе консоли администратора, программными средствами это сделать невозможно.

Назначьте пользовательские роли администратора для функций класса

Администраторы могут создавать пользовательские роли администратора в консоли администратора, чтобы разрешить определенным лицам или группам с лицензией Education Plus :

В этом руководстве объясняется, как настроить эти функции в вашем домене с помощью API Google.

Автоматизируйте процесс назначения пользовательских ролей

В этом руководстве вы узнаете, как выполнить следующие шаги для автоматизации процесса назначения пользовательских ролей:

  1. Создайте группы безопасности, чтобы организовать пользователей, которые смогут получить доступ к этим функциям.
  2. Добавьте участников в группы.
  3. Создайте пользовательскую роль администратора, выбрав правильную привилегию.
  4. Получить идентификаторы организационных подразделений.
  5. Примените пользовательскую роль администратора к вновь созданным группам.

Предпосылки

  1. Ознакомьтесь с руководствами по быстрому старту, чтобы узнать, как настроить и запустить приложение с использованием API Google на таких языках, как JavaScript, Python и Java.
  2. Прежде чем использовать любой из API Cloud Identity, описанных в этом руководстве, необходимо настроить Cloud Identity . Эти API используются для создания групп и назначения прав администратора.
  3. Ознакомьтесь с обзором 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>"
}

Ресурсы

Дополнительную информацию можно найти по адресу: