Criar um terminal de sessão do usuário do sistema, então a entrada não pode encadear

FixSecurityService
Navios
4 de setembro de 2026 às 21:22 UTC
Autor
Kamo
Enviar
a5b783a

O usuário do sistema é deus por construção, assim cada sessão cunhada para ele carrega GD e oferece vidro quebrado. Isso é bom só porque a identidade não Compor — e fez. EnterAsController verificou em um ramo de dois. Política de entrada do usuário do sistema recusa- se a cunhar uma segunda sessão do Usuário do Sistema, mas só é consultado quando comoSystemMember está definido. O ramo comum faz uma pergunta mais fraca — faz isso a adesão pertence ao usuário do chamador — que o Usuário do Sistema satisfaz em cada inquilino, porque o backfill dá-lhe uma participação activa em todos os Eles. Assim, uma entrada concedida em uma organização era uma chave para todas as outras: hop claramente de inquilino para inquilino, nunca passar a apólice novamente, carregando GD em cada nova sessão. Escapou também do scoping do suporte-ticket. Está registada uma subvenção abrangida por um bilhete revogação somente quando systemAccess.isTicketScoped(), o que é falso no branch comum, então lúpulo feito a partir de uma sessão de ticket-scoped sobreviveu ao ticket que justificou o primeiro e SupportSystemSessionRevoker nunca aprendeu eles Existiu. A organização da plataforma estava fora de alcance apenas porque SystemUserBackfillService skips the top-level org, não deixando o usuário do sistema nenhuma associação lá para entrar. Isso é um fato de dados, não uma regra, e era a única coisa entre um não-deus operador que detém SYSTEM USER e uma sessão god-elegível dentro da org que Opera a plataforma. Uma regra na porta, antes do branch, então cobre ambos: um Usuário do Sistema a sessão pode não entrar em nenhum lugar. Digite um inquilino como Usuário do Sistema; para ir Em outros lugares, retorne à sua própria sessão e seja autorizado de novo. EnterAsSystemUserChainTest prende-o — três de seus cinco casos falharam contra o código antigo, e os negativos afirmam que não *** foi cunhado em vez de apenas o Código do estado. PlatformRightsSystemUserTest fixa a outra metade da defesa: PlatformRightsService já negou direitos de plataforma a uma sessão do usuário do sistema, que é o que o impede de /api/security/impersonate/org e o resto da superfície da plataforma, mas nada manteve essa regra no lugar.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços