Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Configurar AWS por profile e aliases

Use este fluxo quando cada conta AWS já é representada por um profile local humano, por exemplo uma sessão SSO. Ele é separado do provider aws, que continua sendo o fluxo de credenciais temporárias coletadas pelo Torii.

O pacote cria a tool MCP aws_profile:

torii provider install ./examples/providers/aws-profile
torii provider setup aws-profile readonly

Depois o humano cria um alias. O alias, e não o profile, é o único identificador que o agente recebe:

torii target add aws_profile producao `
  --profile empresa-producao `
  --account-id 111122223333 `
  --region sa-east-1

Profile, conta esperada e região ficam no bloco identity do target.yaml local (identity.profile, identity.expect, e region). O escopo de credencial recebe o nome do profile, então aliases do mesmo profile compartilham sessão e profiles distintos ficam isolados. O schema MCP, os resultados e a auditoria mostram somente producao.

Ativar o alias por tempo limitado

Criar o alias não o torna disponível para execução. Antes de deixar um agente usá-lo, o humano concede um lease:

torii target activate aws_profile producao --for 30
torii target status aws_profile

--for aceita de 1 a 1.440 minutos e, se omitido, usa default_target_minutes (15). A ativação normal desativa todos os outros aliases ativos de aws_profile. Para manter os existentes, use --add conscientemente:

torii target activate aws_profile homologacao --for 30 --add

Com mais de um alias ativo, o agente pode escolher qualquer um deles em operações permitidas. Prefira a substituição normal e políticas/IAM mais restritivos para produção. Para revogar todos os aliases ativos sem mexer em grants, sessão, cache ou configuração, use torii target clear aws_profile.

Binding de conta

Depois de descartar um deny explícito, o dispatcher exige primeiro o lease humano do alias. Só então consulta grants ou autorização Jasper e, após essa decisão, fixa o profile configurado no processo filho, bloqueia --profile, --region, --endpoint-url, --no-sign-request e opções TLS equivalentes enviadas pelo agente. Credenciais AWS, região e endpoint herdados do processo servidor são removidos desse filho para não sobrepor o profile.

Antes do comando solicitado, o Torii executa internamente sts get-caller-identity --output json com o mesmo binding e compara a conta com os 12 dígitos configurados. A comparação ocorre em toda chamada permitida; divergência, erro de identidade ou saída inválida impede o comando solicitado. Os números de conta não são devolvidos ao agente.

O balde de credencial do alias (identities/<profile>/) tem cache, .identity-cache e lock próprios. Isso evita compartilhar estado entre aliases de contas diferentes; aliases do mesmo profile reaproveitam o balde de propósito.

Renovar a sessão correta

Não existe tool MCP de reauth, e torii reauth aws_profile producao deliberadamente não tenta alterar a sessão. Um profile pode ser SSO, estático ou usar outro mecanismo externo; o Torii não consegue trocar esse estado de forma atômica e validada.

Quando o alias informar que a identidade está ausente ou pertence a outra conta, o agente deve pedir que um humano autentique o profile configurado pelo fluxo nativo apropriado e então repetir a chamada com o mesmo alias. Um alias sem lease abre a decisão humana de target; em headless, a tentativa é negada. Para um profile SSO, por exemplo:

aws sso login --profile empresa-producao

Não peça ao agente para escolher outro profile, editar target.yaml ou tentar flags de override. Se a conta desejada mudou, o humano revisa ou cria um alias no control plane.