Esta seção fornece diretrizes para configurar o Okta para habilitar a autenticação SAML 2.0 e o provisionamento de usuários para o Zabbix.
1. Acesse https://developer.okta.com/signup/ e registre-se/entre em sua conta.
2. Na interface web do Okta, navegue até Applications → Applications.
3. Clique em Create App Integration.

Selecione "SAML 2.0" como método de login e clique em Next.
4. Em configurações gerais, preencha o nome do aplicativo e clique em Next.
5. Na configuração SAML, insira os valores fornecidos abaixo e clique em Next.

http://<seu-zabbix-url>/zabbix/index_sso.php?acsacs não seja removido da requisição. A caixa Use this for Recipient URL and Destination URL também deve ser marcada.zabbix
Essas declarações de atributos são inseridas nas asserções SAML compartilhadas com o Zabbix.
Os nomes dos atributos usados aqui são exemplos arbitrários. Você pode usar nomes de atributos diferentes, no entanto, é necessário que eles correspondam ao valor do campo respectivo nas configurações SAML do Zabbix.
Se você deseja configurar o login SAML no Zabbix sem provisionamento de usuário JIT, apenas o atributo de e-mail é necessário.
Se planeja usar uma conexão criptografada, gere os certificados de criptografia privados e públicos e faça upload do certificado público no Okta. O formulário de upload do certificado aparece quando Assertion Encryption está definido como "Encrypted" (clique em Show Advanced Settings para encontrar este parâmetro).
6. Na próxima aba, selecione "I'm a software vendor. I'd like to integrate my app with Okta" e clique em Finish.
7. Navegue até a aba "Assignments" do aplicativo recém-criado e clique no botão Assign, depois selecione "Assign to People" no menu suspenso.

8. Em um popup que aparece, atribua o aplicativo às pessoas que usarão o SAML 2.0 para autenticar no Zabbix e clique em Save and go back.
9. Baixe o certificado IdP. Defina as permissões 644 para ele executando:
10. Navegue até a aba "Sign On" e clique no botão View Setup Instructions.
As instruções de configuração serão abertas em uma nova aba; mantenha esta aba aberta enquanto configura o Zabbix.
1. No Zabbix, acesse as configurações SAML e preencha as opções de configuração com base nas instruções de configuração do Okta:

| Campo do Zabbix | Campo de configuração no Okta | Valor de exemplo |
|---|---|---|
| IdP entity ID | Identity Provider Issuer | |
| SSO service URL | Identity Provider Single Sign-On URL | |
| Username attribute | Attribute name | usrEmail |
| SP entity ID | Audience URI | zabbix |
| Group name attribute | Attribute name | groups |
| User name attribute | Attribute name | user_name |
| User last name attribute | Attribute name | user_lastname |
Também é necessário configurar o mapeamento de grupo de usuários e de mídia.
2. Adicione o certificado Base64 fornecido nas instruções de configuração SAML do Okta.
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 no 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.
3. Se Assertion Encryption foi definido como "Encrypted" no Okta, a caixa de seleção "Assertions" do parâmetro Encrypt também deve ser marcada no Zabbix.
4. Pressione o botão Atualizar para salvar essas configurações.
1. Para ativar o provisionamento SCIM, vá para "General" -> "App Settings" do aplicativo no Okta.
Marque a caixa Enable SCIM provisioning. Como resultado, uma nova aba Provisioning aparecerá.
2. Vá para a aba "Provisioning" para configurar uma conexão SCIM:
api_scim.php ao final, ou seja:https://<your-zabbix-url>/zabbix/api_scim.phpemailHTTP header
Se você estiver enfrentando problemas de autenticação, veja Encaminhamento do cabeçalho de autorização.
3. Clique em Test Connector Configuration para testar a conexão. Se tudo estiver correto, uma mensagem de sucesso será exibida.
4. Em "Provisioning" -> "To App", certifique-se de marcar as seguintes caixas:
Isso garantirá que esses tipos de requisições sejam enviados para o Zabbix.
5. Certifique-se de que todos os atributos definidos no SAML estejam definidos no SCIM. Você pode acessar o editor de perfil do seu aplicativo em "Provisioning" -> "To App", clicando em Go to Profile Editor.
Clique em Add Attribute. Preencha os valores para Display name, Variable name, External name com o nome do atributo SAML, por exemplo, user_name.

External namespace deve ser o mesmo do esquema de usuário: urn:ietf:params:scim:schemas:core:2.0:User
6. Vá para "Provisioning" -> "To App" -> "Attribute Mappings" do seu aplicativo. Clique em Show Unmapped Attributes na parte inferior. Os atributos recém-adicionados aparecerão.
7. Mapeie cada atributo adicionado.

8. Adicione usuários na aba "Assignments". Os usuários precisam ser previamente adicionados em Directory -> People. Todas essas atribuições serão enviadas como requisições para o Zabbix.
9. Adicione grupos na aba "Push Groups". O padrão de mapeamento de grupos de usuários nas configurações SAML do Zabbix deve corresponder a um grupo especificado aqui. Se não houver correspondência, o usuário não poderá ser criado no Zabbix.
As informações sobre os membros do grupo são enviadas toda vez que alguma alteração é feita.