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

Администраторы домена имеют несколько элементов управления для управления функциями и приложениями, к которым могут получить доступ пользователи в их домене. На этой странице описаны эти функции, то, как они могут повлиять на внешнюю интеграцию или быть полезными для нее, а также соответствующие запросы 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 ). Найдите свой идентификатор клиента .

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

Получить идентификаторы организационных подразделений

Вы можете ограничить доступ настраиваемой роли администратора к одному или нескольким организационным подразделениям, используя идентификатор организационного подразделения. Используйте API OrgUnit для получения orgUnitId .

Классная аналитика

При назначении настраиваемой роли администратора конкретному пользователю или группе рекомендуется выбрать организационное подразделение учащегося и организационное подразделение преподавателя. Это позволит пользователям, имеющим права администратора, получить доступ к данным на уровне учащихся и классов для организационных подразделений. Если организационное подразделение учащегося не указано, назначенные пользователи не будут иметь доступа к данным учащихся. Если организационное подразделение учителей опущено, назначенные пользователи не будут иметь доступа к данным на уровне класса.

Временный доступ к занятиям

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

Назначьте настраиваемую роль администратора

Чтобы назначить группе настраиваемую роль администратора, используйте следующий запрос 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>"
}

Ресурсы

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