Os administradores de domínio têm vários controles para gerenciar os recursos e aplicativos que os usuários no domínio podem acessar. Esta página descreve esses recursos, como eles podem afetar ou ser úteis para uma integração externa e solicitações de API relevantes.
Gerenciar o acesso de apps de terceiros para usuários menores de 18 anos
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 app, os usuários com menos de 18 anos não poderão acessar esse app com a conta do Google Workspace for Education.
Os desenvolvedores que criam aplicativos para usuários do Google Workspace for Education menores de 18 anos não precisam fazer 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 programaticamente.
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 determinadas pessoas ou grupos com uma licença do Education Plus:
Acessar as Análises do Google Sala de Aula para entender dados como a conclusão de atividades, as tendências de notas e a adoção do Google Sala de Aula.
Acesse temporariamente as turmas no Google Sala de Aula sem atribuir um professor auxiliar permanente.
Este guia explica como configurar esses recursos no seu domínio usando as APIs do Google.
Automatizar o processo de atribuição de papéis personalizados
Neste guia, você vai saber como concluir as etapas a seguir para automatizar o processo de atribuição de função personalizada:
- Crie grupos de segurança para organizar os usuários que podem acessar esses recursos.
- Adicione participantes aos grupos.
- Selecione o privilégio correto para criar uma função de administrador personalizada.
- Extrair IDs de unidades organizacionais.
- Aplique a função de administrador personalizada aos grupos recém-criados.
Pré-requisitos
- Leia os guias de início rápido para entender como configurar e executar um aplicativo usando as APIs do Google em linguagens como JavaScript, Python e Java.
- Antes de usar qualquer uma das APIs do Cloud Identity descritas neste guia, é necessário configurar o Cloud Identity. Essas APIs são usadas para criar grupos e atribuir privilégios de administrador.
- Leia a Visão geral da API Groups e configure a API Groups se quiser conceder acesso a papéis personalizados 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 método groups.create
. 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 Criação de grupos de segurança.
POST https://cloudidentity.googleapis.com/v1/groups
Opcionalmente, é possível incluir o parâmetro de consulta InitialGroupConfig
para
inicializar o proprietário do grupo:
POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}
A conta que faz essa solicitação requer 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 o 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 recurso 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": ""
}
}
}
Adicionar membros do grupo
Depois de criar o grupo, a próxima etapa é adicionar participantes. Um membro pode ser um usuário ou outro grupo de segurança. Se você adicionar um grupo como participante de
outro, pode haver um atraso de até 10 minutos para a propagação do
status. Além disso, a API retorna um erro para ciclos em associações
a 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 grupo do novo membro ou o
ID exclusivo do grupo.
A conta que faz a solicitação POST requer 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ê quer adicionar como membro. É possível 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 privilegiada
A API Directory permite usar o controle de acesso baseado em função (RBAC) para gerenciar o acesso a recursos no seu domínio do Google Workspace. É possível criar papéis personalizados com privilégios para limitar o acesso de administrador de forma mais específica do que os papéis predefinidos fornecidos com o Google Workspace. É possível atribuir papéis a usuários ou grupos de segurança. Para mais informações detalhadas sobre as limitações da criação de papéis, consulte as limitações de atribuição de papéis e papéis personalizados.
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 precisa ter 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
que será criado. Adicione um
privilegeName
e serviceId
para cada privilégio que precisa ser concedido com
essa função.
Análises do Google Sala de Aula
O privilégio EDU_ANALYTICS_DATA_ACCESS
é necessário para criar um papel personalizado que possa acessar dados de análise, 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 um papel personalizado que possa acessar temporariamente as classes, 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 método privileges.list
para recuperar uma lista de privilegeIds
e
serviceIds
.
Resposta
A resposta contém a nova instância do papel.
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 a turmas
{
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
}
Extrair IDs de unidades organizacionais
É possível limitar o acesso da função de administrador personalizado a uma ou mais
unidades organizacionais usando o ID da unidade organizacional. Use a API OrgUnit para
extrair o orgUnitId
.
Análises do Google Sala de Aula
É recomendável selecionar uma unidade organizacional de estudante e uma unidade organizacional de professor 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 alunos e de turmas nas unidades organizacionais. Se a unidade organizacional do estudante for omitida, os usuários designados não vão ter acesso aos dados dele. Se a unidade organizacional do professor for omitida, os usuários designados não terão acesso aos dados no nível da turma.
Acesso temporário à turma
É possível limitar os privilégios de acesso temporário a turmas 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 estiver nessa unidade.
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 a orientação sobre limitações de papéis personalizados e atribuições de papéis para saber os limites.
API Directory roleAssignments.insert
:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments
Atribuir a um grupo ou usuário específico
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 precisa ter 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. Você
precisa fazer uma solicitação por unidade organizacional que você quer 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 do 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
Informações adicionais podem ser encontradas em:
- Visão geral da API Directory
- Autenticação e autorização específicas da API Directory
- Documentação REST da API Directory
- Suporte para desenvolvedores da API Admin SDK