Esta seção fornece diretrizes para configurar o login único e o provisionamento de usuários no Zabbix a partir do Microsoft Entra ID (anteriormente Microsoft Azure Active Directory) usando autenticação SAML 2.0.
1. Faça login no Microsoft Entra admin center em Microsoft Entra ID. Para fins de teste, você pode criar uma conta gratuita de avaliação no Microsoft Entra ID.
2. No Microsoft Entra admin center selecione Aplicativos -> Aplicativos corporativos -> Novo aplicativo -> Criar seu próprio aplicativo.
3. Adicione o nome do seu aplicativo e selecione a opção Integrar qualquer outro aplicativo.... Depois disso, clique em Criar.

1. Na página do seu aplicativo, vá para Configurar single sign on e clique em Começar. Em seguida, selecione SAML.
2. Edite a Configuração SAML básica:
zabbix;https://<caminho-para-o-zabbix-ui>/index_sso.php?acs:
Observe que "https" é obrigatório. Para que isso funcione com o Zabbix, é necessário adicionar ao conf/zabbix.conf.php a seguinte linha:
$SSO['SETTINGS'] = ['use_proxy_headers' => true];
3. Edite Atributos e declarações. Você deve adicionar todos os atributos que deseja passar para o Zabbix (user_name, user_lastname, user_email, user_mobile, groups).
Os nomes dos atributos são arbitrários. Podem ser usados nomes de atributos diferentes, porém, é necessário que eles correspondam ao valor do campo respectivo nas configurações SAML do Zabbix.


É importante nesta declaração que os nomes dos grupos (e não os IDs dos grupos) sejam passados para o Zabbix pelo Atributo de origem selecionado. Caso contrário, o provisionamento de usuários JIT não funcionará corretamente.
4. Em Certificados SAML faça o download do certificado Base64 fornecido pelo Entra ID e coloque-o em conf/certs da instalação do frontend do Zabbix.
Defina as permissões 644 executando:
5. Use os valores de Configurar <nome do seu aplicativo> no Entra ID para configurar a autenticação SAML do Zabbix (veja a próxima seção):

1. No Zabbix, acesse as configurações SAML e preencha as opções de configuração com base na configuração do Entra ID:

| Campo do Zabbix | Campo de configuração no Entra ID | Valor de exemplo |
|---|---|---|
| IdP entity ID | Identificador do Microsoft Entra | |
| SSO service URL | URL de login | |
| SLO service URL | URL de logout | |
| SP entity ID | Identificador (Entity ID) | |
| Username attribute | Atributo personalizado (claim) | user_email |
| Group name attribute | Atributo personalizado (claim) | groups |
| User name attribute | Atributo personalizado (claim) | user_name |
| User last name attribute | Atributo personalizado (claim) | user_lastname |
2. Adicione o certificado Base64 fornecido pelo Entra ID.
Se $SSO['CERT_STORAGE'] = 'database' estiver definido no zabbix.conf.php, você pode colar o texto do certificado ou fazer upload do arquivo do certificado no frontend durante a configuração do SAML — nenhum arquivo é necessário no sistema de arquivos.
Se $SSO['CERT_STORAGE'] = 'file' estiver definido no zabbix.conf.php, o certificado deve estar disponível no sistema de arquivos (por padrão em ui/conf/certs ou no caminho configurado em zabbix.conf.php) e o frontend não armazenará certificados no banco de dados. Observe que se $SSO['CERT_STORAGE'] não estiver definido ou estiver comentado, o armazenamento em arquivo será assumido e os certificados serão lidos de ui/conf/certs.
Também é necessário configurar o mapeamento de grupos de usuários. O mapeamento de mídia é opcional.
3. Pressione o botão Atualizar para salvar essas configurações.
1. Na página do seu aplicativo Entra ID, no menu principal, abra a página Provisionamento. Clique em Introdução e, em seguida, selecione o modo de provisionamento Automático:
https://<caminho-para-o-zabbix-ui>/api_scim.php
2. Agora você pode adicionar todos os atributos que serão passados com o SCIM para o Zabbix. Para isso, clique em Mapeamentos e depois em Provisionar usuários do Microsoft Entra ID.

Na parte inferior da lista de Mapeamento de Atributos, habilite Mostrar opções avançadas e, em seguida, clique em Editar lista de atributos para customappsso.
Na parte inferior da lista de atributos, adicione seus próprios atributos com o tipo 'String':

Salve a lista.
3. Agora você pode adicionar mapeamentos para os atributos adicionados. Na parte inferior da lista de Mapeamento de Atributos, clique em Adicionar novo mapeamento e crie os mapeamentos conforme mostrado abaixo:

Quando todos os mapeamentos forem adicionados, salve a lista de mapeamentos.

4. Como pré-requisito para o provisionamento de usuários no Zabbix, você deve ter usuários e grupos configurados no Entra ID.
Para isso, acesse o Centro de administração do Microsoft Entra e adicione usuários/grupos nas respectivas páginas de Usuários e Grupos.
5. Quando os usuários e grupos forem criados no Entra ID, você pode ir ao menu Usuários e grupos do seu aplicativo e adicioná-los ao app.
6. Vá ao menu Provisionamento do seu aplicativo e clique em Iniciar provisionamento para que os usuários sejam provisionados no Zabbix.
Observe que a solicitação PATCH de Usuários no Entra ID não suporta alterações em mídias.
É possível configurar o Entra ID para validar a assinatura de solicitações de autenticação assinadas.
Para que isso funcione, crie chaves pública/privada:
openssl req -x509 -newkey rsa:4096 -keyout /usr/share/zabbix/conf/certs/request-sign.key -out /usr/share/zabbix/conf/certs/request-sign.pem -sha256 -days 1825 -nodesAtribua permissões:
chown apache /usr/share/zabbix/conf/certs/request-sign.key
chmod 400 /usr/share/zabbix/conf/certs/request-sign.keyAtualize a configuração do frontend do Zabbix adicionando:
Problemas de autenticação podem ocorrer com navegadores MicroSoft Edge quando um usuário, tentando fazer login no Zabbix via SAML, já está logado com o perfil MicroSoft Edge. Como sinal desse problema, o usuário pode conseguir fazer login no Zabbix usando o MicroSoft Edge no modo privado.
Para evitar problemas de autenticação nesse caso, pode ser necessário definir requestedAuthnContext como "false" no arquivo de configuração do frontend do Zabbix (zabbix.conf.php).