Incidente · Staff
Google dez/2020: cota reportada como zero derruba o login global
Incidente real. Pontos centrais: autenticação e autorização.
Resposta curta
Incidente real. Pontos centrais: autenticação e autorização. O Google mantém um serviço central de identidade, o User ID Service, que guarda o identificador único de cada conta e cuida das credenciais de OAuth e dos cookies. Os dados das contas ficam em um banco distribuído que coordena as atualizações com Paxos, e o serviço recusa requisições quando detecta dado desatualizado.
01 · CONTEXTO
Identidade como dependência de tudo
O Google mantém um serviço central de identidade, o User ID Service, que guarda o identificador único de cada conta e cuida das credenciais de OAuth e dos cookies. Os dados das contas ficam em um banco distribuído que coordena as atualizações com Paxos, e o serviço recusa requisições quando detecta dado desatualizado.
Usuários e aplicativos chamam serviços que exigem login.
Cada serviço autenticado precisa que o serviço de identidade verifique a credencial antes de agir.
O serviço de identidade guarda as contas em um banco distribuído coordenado por Paxos e rejeita dado desatualizado.
Por isso a identidade é uma dependência de escala global: os apps do Workspace dependem da infraestrutura de contas para login, autenticação e controle de acesso aos recursos.
02 · GATILHO
Uma cota que acreditava em zero
O Google usa ferramentas de automação para gerenciar a cota dos recursos alocados a cada serviço. O User ID Service estava em migração para um novo sistema de cota, e uma mudança feita em outubro o registrou nesse sistema, mas partes do sistema anterior ficaram no lugar e reportavam o uso do serviço como zero.
Havia um período de carência na aplicação das restrições de cota, que atrasou o impacto. Quando ele expirou, a automação reduziu a cota permitida ao serviço de identidade, e o incidente começou.
A medição residual reporta ao sistema de cota que o serviço de identidade não usa recurso algum.
Expirada a carência, a automação reduz a cota permitida ao serviço de identidade.
Com a cota reduzida, o líder Paxos do banco de contas não consegue escrever.
Logo depois, a maioria das leituras fica desatualizada e as consultas de autenticação passam a dar erro.
As checagens de segurança existentes não cobriam o cenário de carga zero reportada para um único serviço. A reportagem do The Register, que cita o relatório, diz o mesmo sobre os testes da época. A tabela mostra por que cada checagem deixou a mudança passar.
| Checagem de segurança | Por que não pegou |
|---|---|
| Mudança de cota para muitos usuários | Só um grupo era o alvo da mudança |
| Cota abaixo do uso | O uso era reportado, de forma incorreta, como zero |
| Redução excessiva em armazenamento | Nenhum alerta disparou durante o período de carência |
| Cota baixa | A diferença entre uso e cota excedia o limite de proteção |
03 · IMPACTO
Quando ninguém consegue provar quem é
A emissão de credenciais e as consultas de metadados falharam para todas as contas Google, e o Google não pôde verificar a autenticação das requisições, devolvendo erros 5xx em praticamente todo o tráfego autenticado. O resumo oficial fala em 47 minutos de indisponibilidade dos serviços que exigiam OAuth do Google.
O serviço de identidade deixa de verificar credenciais para todos os produtos.
Os apps autenticados do Workspace ficam fora do ar, porque dependem das contas para login e controle de acesso.
No Cloud Console, quem não estava autenticado não consegue entrar; quem estava pode ter recursos degradados.
As configurações já aplicadas no plano de dados continuam operando; só foram afetadas as operações que modificavam a rede do plano de dados.
| Serviço | O que aconteceu |
|---|---|
| Cloud Console | Quem já estava autenticado pôde seguir usando, com recursos degradados |
| Rede | Só mudanças na rede VPC do plano de dados foram afetadas; as configurações existentes continuaram operando |
| Gmail | Alguns usuários viram erros por até uma hora após a recuperação, por cache de erros dos serviços de identidade |
04 · DETECÇÃO E RECUPERAÇÃO
Alerta rápido, correção por desligar a cota
A tabela abaixo reúne os marcos de detecção e recuperação informados pelo Google, em horário do Pacífico.
| Horário | Evento |
|---|---|
| 03:43 | Alertas automáticos de capacidade |
| 03:46 | Começam os erros no User ID Service |
| 03:48 | Engenheiros acionados |
| 04:08 | Causa raiz e possível correção identificadas |
| 04:22 | Aplicação de cota desligada em um datacenter |
| 04:27 | Mesma mitigação aplicada em todos os datacenters |
| 04:33 | Taxas de erro de volta ao normal |
05 · LIÇÕES
O que o Google se comprometeu a mudar
O relatório lista várias ações. Entre elas: revisar a automação de cota para impedir a implantação rápida de mudanças globais; melhorar monitoramento e alertas para pegar configurações incorretas mais cedo; avaliar maior resiliência a falhas de escrita no banco do serviço de identidade; e limitar o impacto ao plano de dados durante falhas do serviço.
Perguntas frequentes
O que é Google dez/2020: cota reportada como zero derruba o login global?
Incidente real. Pontos centrais: autenticação e autorização.
O que o design de Google dez/2020: cota reportada como zero derruba o login global cobre?
Ele está organizado nestas seções: Identidade como dependência de tudo, Uma cota que acreditava em zero, Quando ninguém consegue provar quem é, Alerta rápido, correção por desligar a cota e O que o Google se comprometeu a mudar.
Quanto tempo leva Google dez/2020: cota reportada como zero derruba o login global e qual é o nível?
Leva cerca de 15 minutos para ler e tem nível Staff.
Agora projete você mesmo
Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.