[DICA AVANÇADA] Restringindo o acesso a menus do Zabbix

Atualizado em 19/01/2017.

 

Dica testada apenas no Zabbix 2.4.X.

 

O Zabbix tem três perfis(papeis): user (USER_TYPE_ZABBIX_USER), admin (USER_TYPE_ZABBIX_ADMIN) e super admin (USER_TYPE_SUPER_ADMIN).

Os menus do Zabbix são exibidos de acordo com o perfil que um usuário possui. Editando o código fonte da interface web do Zabbix é possível restringir o acesso aos menus ainda mais.

Exemplo de restrição: habilitar a exibição apenas do menu Monitoramento > Gráficos e desabilitar a exibição dos outros menus para qualquer usuário que possui o perfil user (USER_TYPE_ZABBIX_USER).

 

Observação: Isso afetará todos os usuários que possuírem o perfil  user (USER_TYPE_ZABBIX_USER). A dica abaixo não serve para restringir este acesso a determinada conta de usuário.

 

O arquivo a ser alterado para restringir o acesso aos menus é o PATH_ZABBIX/include/menu.inc.php.  Esse arquivo define quais serão os menus a serem exibidos de acordo com o perfil.

Onde:
PATH_ZABBIX => Diretório que contém a interface Web do Zabbix. Ex.: /var/www/zabbix
 
Abaixo está um trecho do conteúdo editado do arquivo PATH_ZABBIX/include/menu.inc.php. Em vermelho está o que foi adicionado para aplicar a restrição para exibir apenas o menu Monitoramento > Gráficos para usuários do perfil user. Os demais menus serão acessados no mínimo por contas de usuários com o perfil de admin.
 
$ZBX_MENU = array(
    'view' => array(
        'label'                => _('Monitoring'),
        'user_type'            => USER_TYPE_ZABBIX_USER,
        'default_page_id'    => 0,
        'pages' => array(
[...]
            array(
                'url' => 'charts.php',
                'label' => _('Graphs'),
                'sub_pages' => array('chart2.php', 'chart3.php', 'chart6.php', 'chart7.php')
            ),
            array(
                'url' => 'screens.php',
                'label' => _('Screens'),
                'sub_pages' => array('slides.php'),
               'user_type' => USER_TYPE_ZABBIX_ADMIN
            ),
            array(
                'url' => 'maps.php',
                'label' => _('Maps'),
                'sub_pages' => array('map.php'),
               'user_type' => USER_TYPE_ZABBIX_ADMIN
            ),
            array(
                'url' => 'discovery.php',
                'label' => _('Discovery'),
                'user_type' => USER_TYPE_ZABBIX_ADMIN
            ),
[...]
 
O trecho de código acima foi editado e diz que o menu Monitoramento pode ser acessado por um usuário que tenha, no mínimo, o perfil user (USER_TYPE_ZABBIX_USER). Mas veja que alguns sub-menus como: Monitoramento > Telas, Monitoramento > Mapas, Monitoramento > Auto Busca (Discovery) só devem ser acessados por um usuário que possua o perfil  admin (USER_TYPE_ZABBIX_ADMIN).

Observação: O problema é que isso afeta todos os usuários comuns que tem aquele perfil para o qual você está ocultando os menus e obriga você a modificar o código fonte a cada nova atualização do Zabbix. Se quiser continuar mesmo assim, edite e faça testes neste arquivo.

O conteúdo deste arquivo pode mudar em versões novas e se faz necessário entender o código da cada versão afim de evitar problemas.

 

2 comentários em “[DICA AVANÇADA] Restringindo o acesso a menus do Zabbix

  • Bom dia Amigo,

    Fiz o procedimento, porém dá erro 500 na página.

    Colocar o Admin somente funcionou para os menus principais.

    monitoramento

    inventario

    relatorios

    Necessito limitar os outros menus e deixar somente o

    mapas e servicos de ti para USER.

     

    Alguma dica?

     

    Obrigado

  • Bom dia, Júlio Cesar!

    Este tutorial foi testado apenas no Zabbix 2.4.x. Se você tiver usando uma versão mais nova, infelizmente este tutorial não ajuda, pois a equipe de desenvolvimento do Zabbix mudou muita coisa na interface web a partir do Zabbix 3.0.

    E se você realmente estiver usando uma versão nova do Zabbix, infelizmente eu não sei como ajudá-lo.

    Sugiro pedir ajuda na comunidade Zabbix-BR:

    Zabbix-BR no Yahoo Groups: http://br.groups.yahoo.com/group/zabbix-brasil/

    Zabbix-BR no Facebook: https://www.facebook.com/groups/zabbixbrasil

    Abraço e fica com Deus.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *