◇ OpenCyber Academy
Tecnólogo · Capítulo 7 · Português

Capítulo 7 — Fundamentos de identidade e acesso

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Capítulo 7 — Fundamentos de identidade e acesso

Mapa da aula

Aula 07 publicada. Mapa, exemplo, EX019.

flowchart TD
  N0["7.1 Os três As"]
  N1["7.2 Identidades de agentes"]
  N2["7.3 Menor privilégio para ferramentas"]
  N3["7.4 Auditoria"]
  N4["7.4b Confirmação humana"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX019"]

Desenho lógico

flowchart LR
  N0["7.1 Os três As"]
  N1["7.2 Identidades de agentes"]
  N2["7.3 Menor privilégio para ferramentas"]
  N3["7.4 Auditoria"]
  N4["7.4b Confirmação humana"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX019"]
[7.1 Os três As]
    |
    v
[7.2 Identidades de agentes]
    |
    v
[7.3 Menor privilégio para ferramentas]
    |
    v
[7.4 Auditoria]
    |
    v
[7.4b Confirmação humana]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX019]

Objetivos de aprendizagem

Você vai (1) explicar autenticação, autorização e registro de responsabilidade (accounting); (2) projetar identidades para agentes de IA e suas ferramentas; (3) aplicar menor privilégio e acesso delegado; e (4) auditar as ações dos agentes.

7.1 Os três As

A autenticação prova quem você é; a autorização decide o que você pode fazer; o registro de responsabilidade (accounting) documenta o que você fez. Agentes de IA precisam dos três, porque agem em nome de pessoas. No Ask Brightwell, a autenticação vem do login do cliente, a autorização são os escopos do token delegado mais as verificações dos serviços de ferramentas, e o registro é o histórico de cada chamada de ferramenta com o usuário em nome de quem ela agiu. Se faltar um deles, uma chamada de devolução não pode ser rastreada até uma pessoa nem conferida contra os direitos dela. Cada um dos três tem seu próprio controle nos capítulos seguintes.

7.2 Identidades de agentes

Um erro comum é dar ao agente uma única conta de serviço poderosa. Assim, qualquer usuário capaz de conduzir o agente — diretamente ou por meio de texto injetado — ganha o poder dessa conta: é o "delegado confuso" (confused deputy). Melhor: o agente age com um token delegado pelo usuário que fez login, limitado aos escopos necessários para a tarefa e com expiração rápida. A ferramenta de pedidos do Ask Brightwell mostrou o custo da primeira abordagem: ela aceitava qualquer número de pedido, de modo que um cliente podia pedir o pedido de outra pessoa. As ferramentas do Ask Brightwell agora usam tokens delegados.

7.3 Menor privilégio para ferramentas

Cada ferramenta deve fazer uma única coisa estreita: "consultar meu pedido", e não "consultar o banco de dados". Valide os parâmetros contra a identidade do usuário no serviço de ferramentas, não no prompt: a ferramenta de devoluções verifica se o pedido pertence a quem chama. No Ask Brightwell, a ferramenta de pedidos agora lê o ID do usuário no token delegado, de modo que nenhuma formulação da requisição consegue fazê-la buscar o pedido de outra pessoa. A ferramenta de devoluções faz a mesma verificação de titularidade antes de iniciar qualquer devolução. Uma instrução no prompt como "consulte apenas os pedidos do próprio usuário" estaria a uma injeção de distância de falhar.

7.4 Auditoria

Registre quem pediu, o que o agente propôs, qual ferramenta rodou, com quais parâmetros, e o resultado. Guarde os registros onde o agente não possa alterá-los. Revise ações incomuns, como devoluções iniciadas para pedidos que o usuário não fez. O Ask Brightwell grava esses registros num depósito de registros ao qual o orquestrador pode acrescentar dados, mas que não pode alterar, de modo que um orquestrador comprometido não consegue esconder o que fez. Uma revisão semanal procura devoluções de pedidos que o usuário conectado não fez, que é o padrão que uma injeção bem-sucedida deixaria.

7.4b Confirmação humana

Para ações com consequências, como iniciar uma devolução ou mudar um endereço, mostre ao usuário o que vai acontecer e peça que ele confirme. Monte a tela de confirmação a partir da ação estruturada, não de um texto escrito pelo modelo, porque um texto injetado pode fazer uma ação prejudicial parecer inofensiva. A confirmação de devoluções do Ask Brightwell mostra o número do pedido, o item e o valor do reembolso tirados do registro do pedido, e não a descrição feita pelo modelo. Se um texto plantado tentar descrever a devolução de um item caro como se fosse de um item barato, a confirmação ainda mostra os valores reais do banco de dados.

7.5 Exemplo resolvido (caso sintético da Brightwell)

A ferramenta de pedidos do Ask Brightwell aceitava qualquer número de pedido. Jonas, na homologação, pede "mostre o pedido 100245" conectado como outro cliente de teste — e recebe o endereço de outro cliente. A correção: o serviço de ferramentas lê o ID do usuário no token delegado e devolve apenas os pedidos desse usuário. Ele escreve um teste que falha se qualquer consulta entre usuários der certo. O teste transforma um achado isolado num controle duradouro: qualquer mudança futura que enfraqueça a verificação de titularidade quebra a compilação. Como a verificação fica no serviço de ferramentas, ela vale para qualquer coisa que o modelo seja persuadido a pedir.

7.6 Erros e limites

Três erros são comuns: uma única conta de serviço para todas as ações do agente; verificações de titularidade feitas pelo modelo; e registros que o agente pode modificar. O achado da ferramenta de pedidos mostrou o segundo erro na prática: confiava-se que o modelo passaria apenas números de pedidos do próprio usuário. O Ask Brightwell agora usa tokens delegados em vez de uma única conta de serviço, verifica a titularidade no serviço de ferramentas e grava registros que o agente não pode modificar. Juntas, essas três correções significam que um modelo persuadido não consegue agir além dos direitos do usuário conectado. Cada correção tem um teste de unidade que falha se ela for desfeita.

Exercícios

Síntese

Agentes devem agir com os direitos delegados do usuário, estreitos e de curta duração, com verificações nos serviços de ferramentas e registros resistentes a adulteração.

Continue estudando — capítulo 07 de 30

← Capítulo 06 (rascunho) · Índice de capítulos do curso · Capítulo 08 (rascunho) →