O que é OpenID Connect? Identidade sobre o OAuth
O OpenID Connect (OIDC) é uma fina camada de identidade sobre o OAuth 2.0 que permite a um aplicativo verificar quem um usuário ou workload realmente é.
O OpenID Connect, ou OIDC, preenche a lacuna que o OAuth deixa: ele adiciona autenticação. Enquanto o OAuth concede acesso, o OIDC prova identidade emitindo um ID token assinado que descreve o sujeito autenticado. Em CI/CD, o OIDC se tornou a base da autenticação sem chaves, permitindo que um pipeline prove sua identidade a um provedor de nuvem e receba uma credencial de curta duração sem nenhum segredo armazenado.
O que o OIDC adiciona ao OAuth
O OAuth emite um access token para autorização. O OIDC adiciona um ID token, um JSON Web Token (JWT) assinado contendo claims verificadas sobre o usuário ou workload, como sub (subject) e iss (issuer). A relying party valida a assinatura e confia nas claims.
O ID token
- Um JWT assinado com claims como sub (subject) e iss (issuer).
- Verificável offline contra as chaves públicas do issuer.
- Limitado no tempo, para que não possa ser reproduzido indefinidamente.
OIDC para CI/CD sem chaves
As plataformas de CI modernas podem atuar como um provedor OIDC. Um workflow solicita um token OIDC que se descreve (repositório, branch, ambiente), depois o troca com um provedor de nuvem que foi configurado para confiar naquele issuer. A nuvem retorna credenciais de curta duração. Nenhum segredo de longa duração é armazenado.
Por que isso importa para a segurança
Chaves de nuvem armazenadas são uma das principais causas de violações porque são de longa duração e fáceis de vazar. O OIDC elimina a credencial permanente: cada job recebe um token novo e estreitamente delimitado que expira em minutos. Não há nada durável para roubar.
Configuração de confiança
A segurança do OIDC depende da política de confiança. Você define o escopo de qual issuer, repositório e branch podem assumir um papel de nuvem. Uma política frouxa (confiar em qualquer repositório de uma organização) amplia a exposição; uma restrita (um repositório, uma branch, um ambiente) mantém o acesso mínimo.
OIDC e o runner
O token OIDC é gerado no runner durante o job. Em runners isolados e efêmeros (como os runners gerenciados da Latchkey), esse token e as credenciais que ele produz vivem apenas durante o job e desaparecem quando o ambiente é desmontado.
Principais conclusões
- O OIDC adiciona identidade verificada (um ID token) sobre a autorização do OAuth 2.0.
- Ele habilita CI/CD sem chaves: pipelines provam identidade e obtêm credenciais de nuvem de curta duração.
- A segurança depende de uma política de confiança rigidamente delimitada para o issuer, o repositório e a branch.