Visão geral do Quarkus Security
O Quarkus Security é um framework que fornece a arquitetura, múltiplos mecanismos de autenticação e autorização e outras ferramentas para desenvolver aplicativos Java seguros e com qualidade de produção.
Antes de desenvolver segurança em 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
The Quarkus Security framework provides built-in security authentication mechanisms for Basic, Form-based, and mutual TLS (mTLS) authentication.
You can also use other well-known authentication mechanisms, such as OpenID Connect (OIDC) and WebAuthn.
Authentication mechanisms depend on Identity providers to verify the authentication credentials and map them to a SecurityIdentity
instance with the username, roles, original authentication credentials, and other attributes.
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 do Quarkus Dicas e truques de Segurança .
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 Autenticação básica integrada do Quarkus e o Jakarta Persistence identity provider e habilitar o controle de acesso baseado em papéis.
Conclua as etapas do tutorial xref:security-getting-started-tutorial.adoc[Começando com Security usando Autenticação Básica 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 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 Testando o Security .
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.
Cross-Origin Resource Sharing (CORS)
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 CORS filter a seção 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 autogerar 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.
Detecção de vulnerabilidades Security
A maioria das tags do Quarkus são relatadas no US National Vulnerability Database (NVD ). Para obter informações sobre vulnerabilidades de segurança, consulte o guia Deteção e comunicação de vulnerabilidades de segurança no Quarkus.