Multi-Tenant

From MoodleDocs

workplacelogo.png Esta funcionalidade é parte do Moodle Workplace, que está disponível através dos Moodle Partners.

Visão Geral

O Moodle Workplace permite ao administrador principal criar vários "Tenants" e atribuir usuários a cada um deles. Todos os usuários de tenants usarão o mesmo site, mas não irão conseguir se ver. Cada tenant pode ter seu próprio nome de site, logotipo e esquema de cores.

https://youtu.be/s_CMgdbnxP8

Quando o Moodle Workplace é instalado, o site está preparado para ser multi-tenant. O recurso 'moodle/categoria:viewcourselist' é removido das funções "Usuário autenticado" e "Visitante". Se você não quiser usar a funcionalidade de multi-tenant, considere permitir esses recursos.

Gerenciando Tenants

O administrador principal ou um usuário com o recurso ' tool/tenant:manage' é capaz de criar tenants, alterar suas configurações, associar tenants a categorias de curso e atribuir administradores de tenants. Três funções adicionais são criadas automaticamente quando o Moodle Workplace é instalado, automaticamente atribuídas aos seguintes usuários:

  • A função " Administrador de tenants" é atribuída ao administrador de tenants no contexto do sistema
  • A função " Administrador de tenant na categoria de curso" é atribuída ao administrador de tenant no contexto desta categoria de curso de tenant
  • A função " Usuário tenant" é atribuída a qualquer usuário alocado ao tenant no contexto da categoria de curso deste tenant. Por padrão, esta função tem apenas a capacidade 'moodle/category:viewcourselist'

Essas funções e atribuições de função não podem ser excluídas manualmente, nem um administrador de site pode atribuir manualmente essas funções aos usuários. No entanto, o administrador principal pode modificar as funções, se necessário. Por exemplo, a função "Administrador de tenant" por padrão contém o recurso ' tool/tenant:managetheme' que permite ao administrador de tenant alterar a aparência de seu tenant (logotipo e cores) . O administrador principal pode decidir que a personalização do tema deve ser feita apenas centralmente e proibir esse recurso na função de "Administrador de tenant". O mesmo pode ser feito para o recurso ' tool/tenant:manageusers'.

O administrador principal ou um usuário com a capacidade 'tool/tenant:allocate' é capaz de mover usuários entre tenants.

Limitando o número de tenants

Um administrador de site pode restringir o número de tenants que podem ser criados no site em "Administração do site> Recursos avançados> Habilitar limite de tenant". Habilitar esta configuração e configurar o "Limite de tenant" para um valor específico evitará que mais do que este número de tenants seja criado. Observe que os tenants arquivados também são contabilizados para esse limite. Também é possível adicionar as seguintes linhas ao seu configuração do site para codificar esta configuração:

$CFG->tool_tenant_tenantlimitenabled = true; $CFG->tool_tenant_tenantlimit = <VALUE>;

Limitando o número de usuários

Um administrador de site pode restringir o número de usuários por tenant e / ou em todo o site:

  • Em todo o site: o número máximo de usuários que podem existir no site
  • Por tenant: o número máximo de usuários que podem existir em qualquer tenant

Essas configurações estão disponíveis em "Administração do site> Recursos avançados". Os usuários suspensos contam para o limite (isso pode ser melhorado mais tarde). Quando o limite do site é inferior ao número de usuários atuais no site, nenhum novo usuário pode ser criado. Para tenants, quando o número de usuários atinge o limite do tenant, nenhum novo usuário pode ser criado ou movido para o tenant. Também é possível adicionar as seguintes linhas à configuração do seu site para codificar esta configuração:


// Site limit. $CFG->userlimitenabled = true; $CFG->userlimit = <VALUE>;

// Tenant limit. $CFG->tool_tenant_userlimitenabled = true; $CFG->tool_tenant_userlimit = <VALUE>;

Administração do tenant

A função de administrador do tenant por padrão tem o recurso 'ferramenta/tenant:manageusers'. A menos que esse recurso seja removido da função pelo administrador principal, o administrador do tenant pode criar e editar usuários dentro de seu tenant.

O administrador do tenant pode atribuir outras funções a seus usuários, por exemplo, "Gerente de programa" ou "Gerente de estrutura da organização" no contexto do sistema.

Se o tenant tiver sua própria categoria de curso, o administrador de tenant também terá uma função " Administrador de tenant na categoria de curso" nesta categoria de curso e pode atribuir funções no contexto deste curso categoria, por exemplo "Criador do curso". Para facilitar o gerenciamento, há uma única página que lista todas as funções que o administrador de tenants pode atribuir no contexto do sistema e da categoria. Ele pode ser acessado através do inicializador do Workplace -> Usuários -> Funções.

Gerenciando funções para administrador de tenant

O administrador do tenant também pode gerenciar sua categoria de curso e todos os cursos nela. O acesso à gestão dos cursos é feito através do 'Launcher Workplace -> Cursos' . Dica: verifique o menu "Editar" da categoria do curso.

Gerenciamento de categoria

Autenticação

A função de administrador do tenant por padrão tem a capacidade ' tool/tenant:authconfig'. A menos que esse recurso seja removido da função pelo administrador principal, o administrador do tenant pode gerenciar as configurações de autenticação em seu locatário. (Veja também Notas de atualização para 3.10)

Agora é possível definir diferentes configurações de autenticação para cada tenant em um site do Workplace, incluindo a disponibilidade de plugins ou alterar as configurações do mesmo plugin em diferentes tenants.

  • Per-tenant authentication plugins - 01 pt br.png

    Plugins de autenticação por tenant

    As configurações de autenticação selecionadas, como instruções de autenticação e domínios permitidos, podem ser substituídas por tenant individuais. Os administradores do site também podem forçar algumas configurações para todos os tenants. O administrador do tenant pode substituir configurações comuns ou configurações para plugins de autenticação multi-tenant em seu locatário usando a nova guia Autenticação na página Usuários.

  • Per-tenant authentication plugins - 03 pt br.png

    Plugins de autenticação multi-tenant

    O autorregistro baseado em e-mail e OAuth2 agora são multi-tenant. O administrador global ou administrador de tenant pode ativar / desativar esses plug-ins em um nível de tenant e substituir suas configurações. Quando um novo usuário se inscreve a partir de uma página de login específica do tenant, sua conta é automaticamente registrada dentro deste tenant.

Login e páginas de inscrição

Seletor de tenant

O seletor de site nas páginas de login e inscrição ajudará o usuário a selecionar o tenant correto na página de autenticação. Se ativado, o seletor de site ficará disponível nas páginas de login e inscrição.

O seletor pode ser habilitado no nível do site, e a visibilidade de cada tenant no seletor pode ser definida nas configurações do tenant.

tenant-selector-setting pt br.png

Quando ativado, é mostrado no canto inferior direito das páginas de login e inscrição alguns segundos após o carregamento da página.

tenant-selector-login pt br.png

Ao clicar em "Alterar site", aparecerá este modal.

tenant-selector pt br.png

Compartilhando entidades

Cursos compartilhados

Normalmente, cada tenant tem sua própria categoria de curso e seus próprios cursos. O método de inscrição manual foi modificado para que o selecionador de usuário exiba apenas os usuários do tenant atual.

No entanto, existem algumas situações em que uma organização deseja ter cursos compartilhados entre tenants. Observe que 'multi-tenants não se aplica ao conteúdo do curso' . Isso significa que se um usuário (um aluno ou um treinador) estiver inscrito em um curso, ele verá usuários de outros tenants enquanto navega no curso. Isso pode ser postagens no fórum, lista de participantes do curso, diário de classe, relatórios ou qualquer outro módulo que exiba os participantes do curso.

Existem vários motivos para esse comportamento:

  1. Se a organização deseja ter cursos compartilhados, ela pode realmente esperar esse comportamento, pois deseja que os alunos estudem juntos e/ou o treinador de um tenant seja o professor de todos os alunos, independentemente de seu tenant
  2. É simplesmente impossível modificar todos os módulos de atividade e relatórios para adicionar restrições de multi-tenant, especialmente considerando que pode existir plugins de terceiros
  3. A mesma funcionalidade pode ser alcançada usando o modo de grupo separado, se necessário

Se você compartilha cursos entre diferentes locatários e deseja que os usuários de cada tenant aprendam independentemente, eles devem pertencer a grupos diferentes e o curso deve estar em modo de grupo separado (de preferência forçado). Por favor, revise as funções de "Instrutor" e "Instrutor que não edita" no curso e certifique-se de que eles não tenham a capacidade accessallgroups, e os treinadores também estão alocados para os grupos.

A alocação para grupos separados é feita automaticamente quando um curso compartilhado faz parte de um programa. Veja também Cursos compartilhados em programas

Espaço Compartilhado

O Espaço Compartilhado permite o fácil compartilhamento de entidades entre todos os tenants. Funciona como um tenant especial onde os usuários podem criar entidades com suporte para estarem disponíveis em outros tenants. -_ Observe que o Espaço Compartilhado é considerado um tenant, portanto, conta para o limite de tenants, se houver. Consulte também Limitando o número de tenants.

Habilitando espaço compartilhado

O espaço compartilhado pode ser ativado clicando no item "Espaço compartilhado" na lista suspensa Troca do tenant ou na página principal do tenant (encontrada no inicializador do Workplace).

wp-enable-shared-space-dropdown pt br.png

Uma caixa de diálogo exigirá confirmação e o espaço compartilhado só será criado após o consentimento do usuário. O usuário também tem a opção de clicar no botão "Agora não", que o removerá do Menu do Tenant e, a partir de então, só estará visível na página Gerenciar Tenants.

Considerações de privacidade

Todas as informações do usuário de cada tenant são armazenadas no mesmo banco de dados e na mesma tabela. No entanto, por padrão, nenhum dado pessoal é compartilhado de um tenant para o outro e eles podem permanecer sem conhecimento de quaisquer outros tenants. Isso é para cumprir o compromisso do Moodle com o requisito do GDPR para implementar a proteção de dados por padrão e por design. Ainda está aberto ao administrador para permitir o compartilhamento entre, por exemplo, alunos ou treinadores de diferentes tenants, para que eles possam ver os usuários de outros tenants (incluindo postagens no fórum, lista de participantes do curso, diário de classe, relatórios ou qualquer outro módulo que exibe o curso participantes.)

Existem certos órgãos profissionais ou institucionais que podem exigir que os dados não sejam armazenados em conjunto com outras entidades (por exemplo, algumas profissões jurídicas, médicos ou órgãos governamentais individuais). Se seus tenants específicos exigirem que você os separe, infelizmente você não pode se beneficiar da multi-tenant e pode precisar configurar sites separados.

Veja também