[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.

 

Categories: ,

2 respostas para “[DICA AVANÇADA] Restringindo o acesso a menus do Zabbix”

  1. Avatar de Júlio César Batista
    Júlio César Batista

    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

  2. Avatar de Aécio Pires
    Aécio Pires

    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 *