Visão geral do Quarkus Security
O Quarkus Security é um framework que fornece a arquitetura, vários mecanismos de autenticação e autorização e outras ferramentas para desenvolver aplicativos Java seguros e com qualidade de produção.
Antes de incorporar segurança às suas aplicações Quarkus, aprenda sobre a arquitetura do Quarkus Security e os diferentes mecanismos de autenticação e recursos que o você pode usar.
Principais recursos do Quarkus Security
A estrutura do Quarkus Security fornece mecanismos de autenticação de segurança incorporados para autenticação básica, baseada em formulário e TLS mútua (mTLS).
Você também pode usar outros mecanismos de autenticação conhecidos, como o OpenID Connect (OIDC) e o WebAuthn.
Os mecanismos de autenticação dependem dos provedores de identidade para verificar as credenciais de autenticação e mapeá-las para uma instância do SecurityIdentity com o nome de usuário, as funções, as credenciais de autenticação originais e outros atributos.
Quarkus também inclui segurança nativa para permitir o Controle de Acesso Baseado em Papéis (RBAC) com base nas anotações de segurança comuns @RolesAllowed , @DenyAll , @PermitAll em endpoints REST e beans de Injeção de Dependência e Contextos (CDI).
Para obter mais informações, consulte o guia Quarkus Authorization of web endpoints .
O Quarkus Security também oferece suporte aos seguintes recursos:
O Quarkus Security também é altamente personalizável. Para obter mais informações, consulte o guia de dicas e técnicas do Quarkus Security .
Primeiros passos com o Quarkus Security
Para começar a usar a segurança no Quarkus, considere proteger os endpoints da sua aplicação Quarkus com a authentication integrada do Quarkus Basic e o Jakarta Persistence identity provider e habilitar o controle de acesso baseado em papéis.
Conclua as etapas do tutorial Getting started with Security by using Basic authentication and Jakarta Persistence (Começando com Security usando Basic authentication e Jakarta Persistence ).
Após garantir com sucesso a segurança da sua aplicação Quarkus com a Basic authentication, você pode aumentar ainda mais a segurança adicionando mecanismos de autenticação mais avançados, por exemplo, consulte o guia Mecanismo de fluxo de autorização Quarkus OpenID Connect (OIDC) .
Teste com Quarkus Security
Para obter orientação sobre testar recursos de segurança do Quarkus Security e garantir que suas aplicações Quarkus estejam protegidas de forma segura, consulte o guia de Security testing .
Mais informações sobre os recursos de segurança do Quarkus
Segurança do WebSockets Next
A extensão quarkus-websockets-next oferece uma implementação moderna e eficiente da API WebSocket. Ela também oferece uma integração com a segurança do Quarkus. Para obter mais informações, consulte a seção Segurança do guia "WebSockets Next reference" do Quarkus.
Compartilhamento de recursos entre origens
Para tornar sua aplicação Quarkus acessível a partir de outra aplicação em execução em um domínio diferente, é necessário configurar o Cross-Origin Resource Sharing (CORS). Para obter mais informações sobre o filtro CORS que o Quarkus fornece, consulte a seção de CORS filter do guia "Cross-Origin Resource Sharing" do Quarkus.
Prevenção de Cross-Site Request Forgery (CSRF)
A Quarkus Security fornece um filtro Quarkus REST (anteriormente RESTEasy Reactive) que pode proteger seus aplicativos contra um ataque Cross-Site Request Forgery . Para obter mais informações, consulte o guia Quarkus Cross-Site Request Forgery Prevention .
Cookies do SameSite
Você pode adicionar a propriedade de cookie SameSite a qualquer um dos cookies definidos por um Quarkus endpoint. Para obter mais informações, consulte a seção de cookies SameSite do guia "Referência HTTP" do Quarkus.
Mecanismos de segredos
Você pode usar mecanismos de segredos com o Quarkus para armazenar, gerar ou criptografar dados.
O Quarkus fornece extensões adicionais no Quarkiverse para armazenar credenciais de forma segura, por exemplo, Quarkus e HashiCorp Vault .
Segredos nas propriedades do ambiente
O Quarkus oferece suporte para armazenar segredos nas propriedades do ambiente. Para obter mais informações, consulte o guia Quarkus armazenar segredos em um arquivo de propriedades de ambiente .
Serialização segura
Se a arquitetura de segurança do Quarkus incluir o Quarkus REST (antigo RESTEasy Reactive) e o Jackson, o Quarkus pode limitar os campos incluídos na serialização JSON com base na segurança configurada. Para obter mais informações, consulte a seção de serialização JSON do guia Quarkus "Writing REST services with Quarkus REST (antigo RESTEasy Reactive)".
Proteja os recursos gerados automaticamente por REST Data com Panache
Se você utilizar a extensão REST Data com Panache para auto-gerar seus recursos, você ainda pode utilizar anotações de segurança dentro do pacote jakarta.annotation.security .
Para mais informações, consulte a seção Securing endpoints do guia "Gerando recursos REST Jakarta com Panache" do Quarkus.
Security vulnerability detection
A maioria das tags do Quarkus são relatadas no de US National Vulnerability Database (NVD ). Para obter informações sobre vulnerabilidades de segurança, consulte o guia Security vulnerability detection and reporting no Quarkus.