Ações do administrador

Os administradores de domínio têm vários controles para gerenciar os recursos e aplicativos que os usuários do domínio podem acessar. Esta página descreve esses recursos, como eles podem afetar ou ser úteis para uma integração externa e as solicitações de API relevantes.

Gerenciar o acesso de usuários com menos de 18 anos a apps de terceiros

Os administradores precisam configurar aplicativos de terceiros no Google Admin Console para usuários com menos de 18 anos. Se um administrador não tiver configurado um aplicativo, os usuários com menos de 18 anos não poderão acessar esse aplicativo com a conta de ensino do Google Workspace for Education.

Não é necessário que os desenvolvedores que criam aplicativos para usuários do Google Workspace for Education com menos de 18 anos façam nada. A configuração de apps de terceiros só pode ser feita por administradores na interface do Admin Console e não pode ser feita de forma programática.

Designar funções de administrador personalizadas para recursos do Google Sala de Aula

Os administradores podem criar funções de administrador personalizadas no Admin Console para permitir que determinados indivíduos ou grupos com o Google Workspace for Education Standard ou Plus para:

Este guia explica como configurar esses recursos no seu domínio usando as APIs do Google.

Automatizar o processo de atribuição de funções personalizadas

Este guia informa como concluir as etapas a seguir para automatizar o processo de atribuição de funções personalizadas:

  1. Crie grupos de segurança para organizar os usuários que podem acessar esses recursos.
  2. Adicione membros aos grupos.
  3. Crie uma função de administrador personalizada selecionando o privilégio correto.
  4. Recupere os IDs da unidade organizacional.
  5. Aplique a função de administrador personalizada aos grupos recém-criados.

Pré-requisitos

  1. Leia os guias de início rápido para entender como configurar e executar um aplicativo usando as APIs do Google em idiomas como JavaScript, Python e Java.
  2. Antes de usar qualquer uma das APIs do Cloud Identity descritas neste guia, você deve configurar o Cloud Identity. Essas APIs são usadas para criar grupos para atribuir privilégios de administrador.
  3. Leia a visão geral da API Groups e configure a API Groups se quiser fornecer acesso de função personalizada a um grupo de usuários em vez de um usuário individual.

Criar grupos de segurança

Crie um grupo de segurança com o groups.create método. Um grupo pode ser definido como um grupo de segurança quando o marcador de segurança é incluído no campo labels da solicitação. Para mais informações e limitações sobre a criação de grupos de segurança, consulte o guia Como criar grupos de segurança.

POST https://cloudidentity.googleapis.com/v1/groups

Opcionalmente, você pode incluir o InitialGroupConfig parâmetro de consulta para inicializar o proprietário do grupo:

POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}

A conta que faz essa solicitação exige um dos seguintes escopos:

  • https://www.googleapis.com/auth/cloud-identity.groups
  • https://www.googleapis.com/auth/cloud-identity
  • https://www.googleapis.com/auth/cloud-platform

Corpo da solicitação

O corpo da solicitação contém detalhes do grupo a ser criado. O customerId precisa começar com "C" (por exemplo, C046psxkn). Encontre seu ID do cliente.

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

Resposta

A resposta contém uma nova instância do Operation recurso.

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

Adicionar membros do grupo

Depois de criar o grupo, a próxima etapa é adicionar membros. Um membro do grupo pode ser um usuário ou outro grupo de segurança. Se você adicionar um grupo como membro de outro grupo, poderá haver um atraso de até 10 minutos para que a participação seja propagada. Além disso, a API retorna um erro para ciclos em associações de grupos. Por exemplo, se group1 for membro de group2, group2 não poderá ser membro de group1.

Para adicionar um membro a um grupo, use a seguinte solicitação POST para o método members.insert da API Directory:

POST https://admin.googleapis.com/admin/directory/v1/groups/{groupKey}/members

O parâmetro de caminho groupKey é o endereço de e-mail do novo membro ou o ID exclusivo do grupo.

A conta que faz a solicitação POST exige um dos seguintes escopos:

  • 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

Corpo da solicitação

O corpo da solicitação contém detalhes do member a ser criado.

{
   email: "person_one@example.com",
   role: "MEMBER", // can be `MEMBER`, `OWNER`, `MANAGER`
}

Resposta

A resposta contém a nova instância do membro.

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

Essa solicitação precisa ser feita para cada usuário que você quiser adicionar como membro. Você pode agrupar essas solicitações para reduzir o número de conexões HTTP que o cliente precisa fazer.

Criar uma função de administrador personalizada com privilégios

A API Directory permite usar o controle de acesso baseado em papéis (RBAC) para gerenciar o acesso a recursos no seu domínio do Google Workspace. Você pode criar funções personalizadas com privilégios para limitar o acesso do administrador de forma mais específica do que as funções predefinidas fornecidas com o Google Workspace. É possível atribuir funções a usuários ou grupos de segurança. Para mais informações sobre as limitações da criação de funções, consulte as limitações de funções personalizadas e atribuição de funções.

Para criar uma nova função, use a seguinte solicitação POST para o método roles.insert da API Directory:

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

O customerId é o mesmo usado na etapa 1 deste guia.

A conta que faz a solicitação POST exige o seguinte escopo:

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

Corpo da solicitação

O corpo da solicitação contém detalhes do role a ser criado. Adicione um privilegeName e um serviceId para cada privilégio que deve ser concedido com essa função.

Análises do Google Sala de Aula

O privilégio EDU_ANALYTICS_DATA_ACCESS é necessário para criar uma função personalizada que possa acessar dados de análise, juntamente com o serviceId definido como 019c6y1840fzfkt.

{
  roleName: "Education Admin", // customize as needed
  roleDescription: "Access to view analytics data", // customize as needed
  rolePrivileges: [
     {
        privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
        serviceId: "019c6y1840fzfkt"
     }
  ]
}

Acesso temporário à turma

O privilégio ADMIN_OVERSIGHT_MANAGE_CLASSES é necessário para criar uma função personalizada que possa acessar temporariamente as turmas, juntamente com o serviceId definido como 019c6y1840fzfkt.

{
  roleName: "Education Admin", // customize as needed
  roleDescription: "Access to manage classes privilege", // customize as needed
  rolePrivileges: [
     {
        privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
        serviceId: "019c6y1840fzfkt"
     }
  ]
}

Chame o privileges.list método para recuperar uma lista de privilegeIds e serviceIds.

Resposta

A resposta contém a nova instância da função.

Análises do Google Sala de Aula

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

Acesso temporário à turma

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

Recuperar IDs da unidade organizacional

Você pode limitar o acesso da função de administrador personalizada a uma ou mais unidades organizacionais usando o ID da unidade organizacional. Use a API OrgUnit para recuperar o orgUnitId.

Análises do Google Sala de Aula

Recomendamos que você selecione uma unidade organizacional de estudantes e uma unidade organizacional de professores ao atribuir a função de administrador personalizada a um usuário ou grupo específico. Isso permite que os usuários designados com o privilégio de administrador personalizado acessem dados de estudantes e turmas para as unidades organizacionais. Se a unidade organizacional de estudantes for omitida, os usuários designados não terão acesso aos dados dos estudantes. Se a unidade organizacional de professores for omitida, os usuários designados não terão acesso aos dados da turma.

Acesso temporário à turma

Você pode limitar os privilégios de acesso temporário à turma permitindo que usuários com a função de administrador personalizada acessem turmas em unidades organizacionais específicas. Se você restringir o acesso a uma unidade organizacional, o grupo atribuído à função de administrador personalizada só poderá acessar as turmas em que o professor principal da turma estiver nessa unidade organizacional.

Atribuir a função de administrador personalizada

Para atribuir a função de administrador personalizada a um grupo, use a seguinte solicitação POST. Consulte as limitações de funções personalizadas e atribuição de funções orientação para limites de atribuição de funções.

API Directory roleAssignments.insert:

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

Atribuir a um grupo ou usuário individual

Se você estiver atribuindo o privilégio a um grupo, inclua o groupId no campo assignedTo no corpo da solicitação. O groupId foi recebido na etapa Criar grupos de segurança. Se você estiver atribuindo o privilégio a um usuário individual, inclua o ID do usuário no campo assignedTo no corpo da solicitação. O ID do usuário pode ser recuperado chamando users.get e especificando o endereço de e-mail do usuário como o parâmetro userKey ou chamando users.list.

A conta que faz a solicitação POST exige o seguinte escopo:

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

Corpo da solicitação

O corpo da solicitação contém detalhes do RoleAssignment a ser criado. Faça uma solicitação por unidade organizacional que você queira associar a esse grupo.

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

Resposta

A resposta contém a nova instância da 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>"
}

Recursos

Mais informações podem ser encontradas em: