SSO com Keycloak usando Docker Compose e Nginx
(du.nkel.dev)Configuração de SSO com Keycloak: usando Docker Compose e Nginx
- Keycloak é uma solução de gerenciamento de identidade e acesso open source, confiável e compatível com os principais protocolos de SSO.
- A configuração com Docker Compose não é complexa, mas também não é intuitiva, então é fornecido um resumo do processo de configuração.
Conceito
- Usa-se uma configuração padrão em que o Nginx atua como proxy reverso central para encaminhar tráfego a serviços individuais via localhost.
- Isso é considerado uma configuração econômica, que compartilha os recursos de um único host enquanto isola ao máximo cada ambiente.
Pré-requisitos
- São necessárias ferramentas básicas (SSH, uma VM com Linux instalado, domínio ou subdomínio).
- Para configurar o Docker rootless, cria-se um novo usuário non-root sem senha chamado
keycloak, atualizam-se os intervalos de/etc/subuide/etc/subgid, instala-se o Docker rootless e configura-se a inicialização automática do serviço.
Configuração do Keycloak
- Faça login com o usuário
keycloakrecém-criado e crie diretórios para dados persistentes e arquivos do Docker. - Com base na documentação oficial, escreva o arquivo
docker-compose.ymle coloque as informações sensíveis e variáveis no arquivo.env.
Teste local
- Teste a stack do Docker Compose, crie um túnel SSH reverso para a VM e confirme a tela de boas-vindas do Keycloak no navegador.
Configuração do Nginx
- Configure o Nginx como proxy reverso do sistema e crie um novo arquivo
.confdo Nginx para o serviço Keycloak. - Adicione um registro A no registrador do domínio para encaminhar consultas DNS ao IP da VM.
Depuração
- Abra
.tld.com, faça login no Keycloak como usuário admin e verifique os logs do Docker Compose e os logs de acesso e erro do Nginx. - Se necessário, verifique também o banco de dados do Keycloak.
Build personalizada com Dockerfile
- Em vez de usar uma imagem pré-compilada do quay.io, construa sua própria imagem com um Dockerfile.
- Reinicie o Docker Compose para fazer o build da imagem e iniciar o serviço.
Conclusão
- O serviço Keycloak está sendo executado atrás de um proxy reverso Nginx do sistema com Docker rootless.
- As próximas etapas incluem atualização automática dos contêineres Docker, adição de login e e-mail ao serviço Keycloak, inclusão de realms e adição de temas.
GN⁺ opina:
- Importância da segurança: como o estado atual da web dificulta acompanhar vulnerabilidades relacionadas à segurança, é importante usar uma solução confiável como o Keycloak.
- Arquitetura eficiente: a abordagem de compartilhar recursos em um único host enquanto isola os ambientes é econômica e fácil de administrar.
- Possibilidade de personalização: uma build personalizada com Dockerfile oferece flexibilidade para ajustar o Keycloak às próprias necessidades.
1 comentários
Comentários no Hacker News
Opinião de um usuário que escolheu o Authelia:
Opinião de um usuário com experiência usando JetBrains Hub e Keycloak, que acabou escolhendo o Dex:
latestna imagem Docker é inconveniente.Opinião de um usuário que criou uma tabela comparativa de servidores OpenID Connect:
Opinião de um usuário sobre problemas de segurança do Keycloak:
Opinião de um usuário que compartilhou sua experiência implementando o Keycloak no AWS ECS:
Opinião de um usuário que fez uma menção positiva ao Keycloakify:
Opinião de um usuário que comparou Authelia e Keycloak:
Opinião de um usuário que compartilhou sua experiência usando o Keycloak:
Opinião de um usuário que já usou o Zitadel:
Opinião de um usuário que desabafou sobre as dificuldades de usar o Keycloak: