Como distinguir prova de identidade, decisão de acesso, delegação, contexto e enforcement em APIs corporativas
Edição aprofundada - material de estudo e consulta profissional
Por João Ricardo Dutra••Material integral
Da identidade à decisão de acesso em uma corporativa
Figura de abertura - A segurança de acesso é uma cadeia de provas, asserções e decisões contextualizadas.
Princípio central
Autenticar prova quem ou o que está chamando; autorizar decide o que essa identidade pode fazer agora.
Edição aprofundada - material de estudo e consulta profissional
Apresentação do capítulo
O capítulo anterior ampliou o repertório de comunicação ao apresentar , e . Independentemente do protocolo ou estilo adotado, qualquer interface corporativa precisa responder duas perguntas fundamentais: quem ou o que está realizando a chamada e o que essa identidade pode fazer naquele contexto. Uma não deve aceitar uma operação apenas porque a mensagem chegou por ou contém um chamado . É necessário identificar o chamador, validar a prova apresentada, entender em nome de quem a operação é executada e aplicar uma política coerente ao recurso solicitado.
Identidade em envolve pessoas, aplicações, dispositivos e workloads. Esses sujeitos possuem ciclos de vida, formas de cadastro e credenciais diferentes. Um usuário pode se autenticar com múltiplos fatores; uma aplicação pode usar certificado, chave assimétrica ou federação; um pod pode receber uma identidade curta por atestação do ambiente. Tratar todos como usuário e senha produz segredos estáticos, baixa rastreabilidade e autorizações excessivas.
Autenticação e autorização são responsabilidades distintas. A autenticação estabelece que uma credencial corresponde a uma identidade sob determinado nível de confiança. A autorização avalia se essa identidade pode executar uma ação específica sobre um recurso, considerando escopo, tenant, atributos, relacionamento, risco e estado do domínio. Uma autenticação forte não compensa uma política de autorização ampla ou inexistente.
Este capítulo constrói a base conceitual para os capítulos posteriores de credenciais, 2.0, OpenID Connect e . Serão estudados os limites entre autenticação e autorização, os elementos de identidade, sessões, , modelos / / /PBAC, delegação, identidade de workload, arquitetura / , respostas 401/403, observabilidade e aplicação em . , Digest, e aparecem apenas no nível necessário para estabelecer diferenças conceituais; seus detalhes serão aprofundados nos capítulos seguintes.
Como estudar este capítulo
Em cada exemplo, identifique sujeito, , credencial, autenticador, emissor, audiência, recurso, política e ponto de enforcement. Essa decomposição evita a conclusão genérica de que “o está válido” quando a decisão de acesso ainda está incorreta.
Objetivos de aprendizagem
Diferenciar identidade, sujeito, , credencial, autenticador, sessão, e .
Separar autenticação, autorização, delegação, federação e auditoria.
Distinguir identidades humanas, aplicações, dispositivos e workloads.
Avaliar , Basic, , secrets, certificados, e mecanismos proof-of-possession.
Validar considerando algoritmo, chave, emissor, audiência, tempo, tipo e política.
Compreender o papel de 2.0 e OpenID Connect sem confundir com prova de login.
Comparar , , e políticas orientadas a atributos e contexto.
Projetar , , PIP e PAP em arquiteturas com e serviços.
Aplicar identidade de workload, managed identity, federação e SPIFFE em integrações máquina a máquina.
Diagnosticar erros 401, 403, rejeitados, ausentes e decisões divergentes entre e .
Estrutura do capítulo
14.1 Identidade como fundamento do controle de acesso
14.2 Vocabulário: sujeito, , credencial e sessão
14.3 Autenticação, autorização, delegação e auditoria
14.4 Identidades humanas, aplicações, dispositivos e workloads
14.5 Cadastro, vínculo e ciclo de vida da identidade
14.6 Fatores e autenticadores de usuários
14.7 Credenciais de aplicações e prova de posse
14.8 : utilidade e limitações
14.9 Basic e credenciais estáticas
14.10 Sessões, , e
14.11 opacos, estruturados, e sender-constrained
14.12 , , subject, , e roles
14.13 : estrutura e validação segura
14.14 2.0 e OpenID Connect: limites conceituais
14.15 Modelos de autorização , , e PBAC
14.16 , , PIP e PAP
14.17 Delegação, impersonation e on-behalf-of
14.18 Identidade de workload e zero trust
14.19 Identidade em , Axway e Azure
14.20 Respostas 401, 403 e insufficient_scope
14.21 , auditoria, privacidade e correlação
14.22 Ameaças e hardening
14.23 orientado por evidências
14.24 Estudos de caso e laboratórios
Resumo, checklist, exercícios, glossário e referências
14.1 Identidade como fundamento do controle de acesso
Uma expõe capacidades, dados e transições de negócio. Para protegê-los, o sistema precisa associar cada requisição a um confiável. O é a identidade operacional usada na decisão: uma pessoa, uma aplicação, um dispositivo, um workload ou uma combinação, como “aplicação X atuando em nome do usuário Y”. Sem essa associação, rate limits, trilhas de auditoria e autorizações tornam-se aproximações baseadas em ou em segredos compartilhados.
Identidade não é sinônimo de nome textual. Um e-mail, client_id ou SPIFFE ID é um identificador; a confiança surge do processo que vincula esse identificador a uma credencial e da validação realizada em cada uso. Dois sistemas podem utilizar o mesmo texto e possuir domínios de confiança diferentes. Por isso, o identificador precisa ser interpretado junto ao emissor, tenant, tipo de sujeito e política de registro.
Em arquiteturas com intermediários, cada salto pode autenticar identidades diferentes. O balanceador pode autenticar o certificado do ; o pode validar o do consumidor; o pode receber propagadas ou um novo emitido para o trecho interno. O desenho deve declarar onde a identidade é estabelecida, transformada, reduzida ou substituída.
Regra de arquitetura
Nunca use apenas um valor fornecido pelo próprio cliente, como X-User-Id ou X-Role, como prova de identidade. O dado precisa vir de uma credencial validada ou ser inserido por um intermediário confiável que remova qualquer valor externo.
14.2 Sujeito, , credencial, autenticador e sessão
O sujeito é a entidade sobre a qual uma afirmação é feita. Em uma autenticação humana, pode ser uma pessoa cadastrada. Em uma integração, pode ser um serviço. O é a representação dessa entidade dentro do sistema de segurança. Uma mesma pessoa pode possuir principals distintos em tenants diferentes; uma aplicação pode operar como próprio ou atuar em nome de um usuário.
Credencial é o material utilizado para demonstrar controle ou vínculo: senha, chave privada, certificado, segredo de cliente, authenticator físico, de sessão ou . O autenticador é o mecanismo que contém ou produz a prova. Em terminologia de identidade digital, o processo de autenticação verifica que o claimant controla um ou mais autenticadores vinculados ao subscriber.
Sessão é estado criado após autenticação para evitar repetir o processo completo em cada interação. podem representar sessão, delegação ou autorização, mas não são automaticamente a mesma coisa. Uma sessão de navegador pode existir no provedor de identidade enquanto a recebe independentes e de curta duração.
Figura 1 - Uma identidade autenticada ainda precisa passar por uma decisão de autorização contextual.
14.3 Autenticação, autorização, delegação e auditoria
Autenticação valida uma prova. Autorização decide acesso. Delegação permite que um cliente obtenha autoridade limitada para agir em nome de outro sujeito. Federação permite que um domínio aceite asserções produzidas por outro domínio de confiança. Auditoria registra fatos suficientes para reconstruir quem fez o quê, em qual recurso, com qual decisão e qual resultado.
Essas funções podem ocorrer em componentes distintos. Um provedor de identidade autentica o usuário; um server emite um ; o valida o e aplica políticas transversais; o verifica autorização fina relacionada ao estado do recurso. Concentrar toda decisão no pode exigir dados de domínio que ele não possui; concentrar tudo no duplica controles e reduz governança.
O desenho deve separar decisão e enforcement. Uma política pode ser avaliada localmente pelo , por um serviço central ou em conjunto com o . Independentemente do modelo, a requisição precisa carregar contexto verificável e a decisão deve ser registrável. Transformações invisíveis de identidade geram confusão em incidentes e auditorias.
Tabela 2 - As funções se encadeiam, mas não devem ser confundidas.
Função
Entrada principal
Saída
Autenticação
credencial, prova e contexto
principal autenticado e nível de confiança.
Autorização
principal, ação, recurso e atributos
permitir, negar ou exigir condição adicional.
Delegação
consentimento ou autoridade concedida
token limitado para agir em nome de outro.
Federação
asserção de outro domínio
identidade aceita segundo trust policy.
Auditoria
eventos e decisões
trilha correlacionada e investigável.
14.4 Identidades humanas, aplicações, dispositivos e workloads
Identidades humanas possuem características como vínculo empregatício, conta pessoal, consentimento, recuperação e autenticação multifator. O risco inclui phishing, sequestro de sessão, compartilhamento de conta e uso após desligamento. A autorização costuma considerar função, unidade, relacionamento com o recurso e ações realizadas em nome próprio.
Aplicações e workloads são identidades não humanas. Elas não digitam uma senha nem respondem a um segundo fator. Precisam de credenciais provisionadas, atestação do ambiente ou federação. O ciclo de vida deve acompanhar , rotação, mudança de owner e desativação. Um secret sem proprietário e sem expiração é uma dívida operacional e de segurança.
Dispositivos podem fornecer sinais de postura, registro ou chave protegida por hardware. A identidade do dispositivo não substitui a identidade do usuário ou da aplicação; ela acrescenta contexto. Uma requisição pode envolver simultaneamente usuário, cliente , dispositivo e workload que executa o . e precisam preservar essas camadas sem colapsá-las em um único campo.
Tabela 3 - Cada classe de identidade exige controles próprios.
Tipo
Identificador típico
Credencial preferível
Risco de ciclo de vida
Humano
subject por tenant
phishing-resistant MFA quando aplicável
desligamento, recuperação e sessão.
Aplicação
client id / service principal _
chave assimétrica ou federação
segredo órfão e permissões amplas.
Workload
service account / SPIFFE ID
credencial curta emitida por atestação
réplica efêmera e identidade compartilhada.
Dispositivo
device ID e chave
chave protegida e registro
perda, clonagem ou postura desatualizada.
14.5 Cadastro, vínculo e ciclo de vida da identidade
Autenticação segura começa antes do login. O cadastro precisa estabelecer quem pode criar a identidade, quais atributos são confiáveis, quem é o proprietário e como o vínculo será revogado. Em identidades humanas, isso pode envolver prova de identidade e processos de RH. Em aplicações, envolve registro, owner técnico, ambiente, finalidade, repositório e aprovação de permissões.
O ciclo de vida inclui criação, ativação, mudança, suspensão, recuperação, rotação e encerramento. O controle não deve depender apenas de remover uma credencial: roles, grants, sessões, , certificados e associações em catálogos também precisam ser invalidados. Desativar a conta sem encerrar sessões pode manter acesso por horas ou dias.
Identidades compartilhadas eliminam accountability. Quando vários sistemas usam o mesmo client_id e segredo, é impossível atribuir tráfego com precisão, aplicar menor privilégio ou retirar apenas um consumidor. A individualização da identidade permite quotas, políticas, telemetria e resposta a incidentes por aplicação.
Controle mínimo de cadastro
Toda identidade de aplicação deve possuir owner, finalidade, ambiente, data de revisão, mecanismo de credencial, permissões aprovadas e procedimento de desativação. A ausência de qualquer item deve impedir a promoção para produção.
14.6 Fatores e autenticadores de usuários
Fatores de autenticação são frequentemente agrupados em algo que o usuário sabe, possui ou é. O número de fatores não basta para determinar resistência: dois segredos memorizados não equivalem a dois fatores independentes. Também é necessário avaliar resistência a phishing, , roubo do autenticador, recuperação e binding entre a sessão e o contexto.
Em acessadas por aplicações interativas, a autenticação do usuário normalmente ocorre no provedor de identidade, não diretamente no de negócio. A recebe uma asserção ou resultante. Isso permite centralizar políticas de , risco e sessão, enquanto a se concentra em validar o e autorizar o recurso.
O nível de autenticação pode variar por ação. Consultar dados de baixo risco pode usar sessão existente; alterar limite ou cadastrar favorecido pode exigir step-up. como acr e amr podem transportar informações sobre o método, mas o consumidor deve interpretar apenas valores documentados pelo emissor e adequados à política.
Tabela 4 - Fatores e sinais devem ser avaliados pelo risco da jornada.
Categoria
Exemplo
Observação
Conhecimento
senha ou PIN
vulnerável a phishing, reutilização e vazamento.
Posse
chave de segurança ou app autenticador
a segurança depende de proteção e binding.
Inerência
biometria
normalmente desbloqueia um autenticador; exige cuidado com privacidade.
Contexto
dispositivo, rede, risco
é sinal adicional, não fator isolado universal.
14.7 Credenciais de aplicações e prova de posse
Aplicações podem usar segredo compartilhado, certificado, chave privada, assinatura de mensagem, ou federação de identidade. Segredos são simples, porém qualquer cópia permite impersonation. Chaves assimétricas reduzem distribuição de segredo: a chave privada permanece no cliente e o verificador utiliza a chave pública ou certificado.
Prova de posse significa que o cliente demonstra controle da chave, não apenas apresenta um valor copiável. vincula a autenticação ao certificado usado no canal. DPoP adiciona uma prova assinada ao nível e pode vincular a uma chave. Esses mecanismos reduzem de roubados, mas exigem validação de , método, , thumbprint e janela temporal conforme o protocolo.
Federação de workload evita armazenar secrets de longa duração. Um ambiente externo apresenta uma asserção curta de seu provedor; o domínio de destino valida emissor, subject e condições e emite um local. O trust deve ser restrito a subjects e audiences específicos, nunca a qualquer emitido pelo provedor.
Tabela 5 - Credenciais de aplicações devem privilegiar prova de posse e automação.
Mecanismo
Material no cliente
Vantagem
Cuidado
Client secret
segredo copiável
amplo suporte
rotação, vazamento e distribuição.
Certificado / private key
chave assimétrica
prova criptográfica e separação de chave pública
proteção da chave e ciclo de certificado.
mTLS
certificado no handshake
autenticação do canal e token binding possível
terminação TLS e proxies.
Federação
asserção curta do ambiente
sem segredo estático local
trust policy precisa ser específica.
14.8 : utilidade e limitações
Uma é um identificador secreto ou semissecreto associado a um consumidor, produto ou plano. Ela é útil para medição, quotas, descoberta de abuso e separação de tráfego. Entretanto, não representa automaticamente uma identidade forte. Se copiada, pode ser reutilizada por qualquer parte, e muitas implementações não possuem , expiração curta ou prova de posse.
não devem ser enviadas em , porque aparecem em , histórico, analytics e referers. Prefira dedicado ou conforme contrato. O valor deve ser tratado como segredo: armazenado com proteção, exibido uma única vez, rotacionável e nunca registrado integralmente.
Em públicas de baixo risco, uma key pode complementar controles. Em operações sensíveis, deve ser combinada com autenticação e autorização adequadas. O pode validar a key e aplicar plano, mas o ainda precisa autorizar o recurso quando a identidade ou o contexto de negócio importam.
Exemplo de transporte por
GET /catalogo/produtos HTTP/1.1
Host: api.empresa.example
X-API-Key: <valor-secreto>
Antipadrão
Não use /recurso?api_key=segredo. A pode ser registrada por , servidores, ferramentas de APM e navegadores, ampliando a superfície de exposição.
14.9 Basic e credenciais estáticas
Basic transporta um identificador e senha codificados em . não é criptografia; o mecanismo depende de para confidencialidade. O pode ser reenviado em cada requisição e, quando uma credencial é compartilhada, qualquer vazamento permite uso até a rotação.
Basic ainda aparece em integrações legadas e administrativos. O uso deve ser limitado a canais protegidos, credenciais individuais, escopo mínimo, e rotação. Nunca reutilize senha humana de diretório como senha de integração. Uma credencial de serviço precisa possuir ciclo de vida e owner próprios.
A migração pode aceitar Basic e durante janela controlada, registrar consumidores restantes e retirar o mecanismo antigo. Apenas converter username/password em um no sem melhorar cadastro, rotação e autorização preserva a fragilidade original.
Estrutura conceitual
Authorization: Basic base64(client-id:secret)
# O conteúdo decodificado continua sendo um segredo reutilizável.
14.10 Sessões, , e
Aplicações de navegador frequentemente usam de sessão. O navegador os envia automaticamente ao domínio correspondente, o que cria risco de cross-site forgery quando uma origem maliciosa induz uma requisição autenticada. SameSite, anti- , validação de Origin e métodos adequados reduzem o risco; não é mecanismo completo de proteção contra .
de sessão devem usar Secure, HttpOnly quando não precisam ser lidos por JavaScript, escopo de Domain/Path mínimo e política SameSite compatível com a arquitetura. O identificador de sessão deve ser imprevisível e rotacionado após autenticação ou elevação de privilégio. Logout precisa encerrar estado no servidor quando a sessão é .
Em SPAs, armazenar em localStorage amplia impacto de . Uma arquitetura -for- pode manter no servidor e expor ao navegador apenas de sessão protegido. A escolha depende do modelo de ameaça, mas o desenho precisa considerar , , exfiltração, refresh e múltiplas abas.
Tabela 6 - Sessões de navegador exigem controles além da autenticação inicial.
Controle
Risco tratado
Observação
Secure
envio em canal não TLS
não protege contra script ou servidor comprometido.
HttpOnly
leitura por JavaScript
reduz exfiltração direta por XSS.
SameSite
envio cross-site
precisa ser compatível com login federado e fluxos legítimos.
Origin / CSRF token
requisição induzida
o servidor deve validar em operações com efeito.
14.11 opacos, estruturados, e sender-constrained
Um opaco não revela significado ao cliente. O resource server consulta introspecção ou estado local para descobrir atividade, subject, e expiração. Isso facilita revogação e reduz exposição de , mas introduz dependência de rede, e disponibilidade do server.
Um estruturado, como , transporta verificáveis localmente. Isso reduz chamadas por requisição, porém a revogação imediata é mais difícil e o conteúdo pode ser copiado durante sua validade. Assinatura garante integridade e origem, não confidencialidade. O de um normalmente é apenas codificado e pode ser lido.
concede acesso a quem o possui. exige prova adicional do cliente legítimo, como ou DPoP. O binding reduz , mas não elimina necessidade de expiração curta, correta, escopo mínimo e proteção do de emissão.
Tabela 7 - Formato e modelo de posse são decisões diferentes.
Tipo
Validação
Vantagem
Limitação
Opaco
introspecção ou armazenamento local
revogação e pouca exposição
latência e dependência central.
JWT assinado
chave pública e claims
validação local e interoperabilidade
replay e revogação até expirar.
Bearer
posse do valor
simplicidade
roubo permite reutilização.
Sender-constrained
token mais prova de chave
reduz replay por terceiros
maior complexidade operacional.
14.12 , , subject, , e roles
são afirmações sobre o , sujeito, cliente ou contexto. iss identifica o emissor; sub identifica o sujeito no domínio do emissor; aud indica o destinatário pretendido; exp, nbf e iat estabelecem tempo; jti pode identificar o . A combinação iss + sub é mais segura que interpretar sub isoladamente.
representa autoridade delegada em termos compreensíveis pelo resource server. Role costuma representar função atribuída a usuário ou aplicação. Permission ou entitlement pode expressar capacidades mais específicas. Misturar todos no mesmo campo torna a política ambígua. A organização precisa definir vocabulário, namespace e semântica.
não devem carregar dados desnecessários ou sensíveis. passam por clientes, , e ferramentas. Quando o necessita informação dinâmica, pode buscar dados por identificador ou usar um serviço de atributos. muito grandes aumentam , latência e risco de exposição.
Tabela 8 - Claims precisam de semântica e validação explícitas.
Claim
Significado
Validação
iss
quem emitiu
comparação exata com emissor confiável.
sub
sujeito no emissor
interpretar junto ao iss e tipo de identidade.
aud
recurso destinatário
deve incluir a API esperada.
exp / nbf
janela temporal
usar relógio confiável e skew limitado.
scope
autoridade delegada
exigir apenas os scopes necessários à operação.
azp / client id _
cliente autorizado
distinguir aplicação do usuário.
Figura 2 - A assinatura é apenas uma etapa da validação de um .
14.13 : estrutura, assinatura, criptografia e validação segura
é um formato de que pode ser protegido por ou . Em um assinado, , e assinatura são codificados em segmentos separados. O indica parâmetros criptográficos; o contém ; a assinatura protege integridade. adiciona criptografia, mas não deve ser introduzido apenas para ocultar um design de dados excessivo.
A validação precisa fixar algoritmos aceitos e rejeitar combinações inesperadas. O verificador não deve confiar cegamente em alg ou em de chave fornecidas pelo . As chaves devem vir de configuração ou metadata confiável, com , rotação e proteção contra confusão entre chaves simétricas e assimétricas.
Além da assinatura, valide , , exp, nbf, tipo do e obrigatórias. Um válido para um cliente OpenID Connect não deve ser aceito como por uma . Tipagem explícita, regras distintas e audiences separadas reduzem substituição entre contextos.
Aceitar apenas assinatura válida sem verificar iss, aud, tempo e tipo equivale a aceitar credenciais emitidas para outros sistemas. Cada precisa declarar exatamente quais emissores, audiences, algoritmos e são permitidos.
14.14 2.0 e OpenID Connect: limites conceituais
2.0 é um de autorização delegada. Ele define papéis e mecanismos para que um cliente obtenha e acesse um resource server com autoridade limitada. não define, sozinho, como o usuário foi autenticado nem garante que um contenha identidade humana. Client Credentials, por exemplo, representa acesso da aplicação em nome próprio.
OpenID Connect acrescenta uma camada de autenticação sobre 2.0. O comunica sobre a autenticação do usuário ao cliente, e o UserInfo pode fornecer dados adicionais. O é destinado ao cliente e não deve ser enviado como credencial genérica para , salvo contrato explícito e perfil adequado.
A deve validar destinado a ela. O cliente valida destinado a ele. Confundir os dois pode permitir substitution. Os próximos capítulos aprofundarão code, , client credentials, refresh, consentimento, metadata, introspecção e segurança moderna conforme o Security BCP.
Tabela 9 - Artefatos de identidade possuem públicos e usos diferentes.
Artefato
Destinatário
Finalidade
Access token
resource server / API
autorizar acesso a recursos.
ID token
cliente OpenID Connect
informar resultado da autenticação do usuário.
Refresh token
authorization server
obter novos access tokens conforme política.
Authorization code
token endpoint pelo cliente
troca intermediária de curta duração.
14.15 Modelos de autorização: , , e PBAC
atribui roles a principals e permissões a roles. É simples para funções organizacionais estáveis, mas roles excessivamente granulares produzem explosão e roles amplas violam menor privilégio. A role “analista” não responde sozinha se o usuário pode consultar qualquer conta ou apenas as de sua carteira.
avalia atributos do sujeito, recurso, ação e ambiente. Pode combinar unidade, classificação, tenant, horário, dispositivo e risco. A flexibilidade aumenta a necessidade de dados confiáveis, semântica clara e testes. Atributos desatualizados ou manipuláveis tornam a política insegura.
utiliza relacionamentos, como owner, membro, responsável ou gestor. É útil quando acesso depende da posição do sujeito em um grafo. PBAC é um termo amplo para decisões baseadas em políticas, frequentemente combinando roles, atributos e relações. Em sistemas reais, modelos híbridos são comuns.
Tabela 10 - Modelos podem ser combinados por camada e risco.
Modelo
Base da decisão
Uso adequado
Risco
RBAC
função ou role
permissões organizacionais estáveis
role explosion e excesso de privilégio.
ABAC
atributos e contexto
regras contextuais e multitenant
atributos incorretos e política complexa.
ReBAC
relações entre entidades
owner, equipe, carteira e compartilhamento
grafo desatualizado ou consulta cara.
PBAC
política declarativa
combinação centralizada de sinais
dependência do PDP e governança.
Figura 3 - O enforcement pode permanecer no ou serviço enquanto a decisão usa política e atributos externos.
14.16 , , PIP e PAP
O Policy Enforcement Point intercepta a operação e aplica a decisão. O é um natural para autenticação, , quota e regras transversais. O também atua como para autorização de domínio. O Policy Decision Point avalia políticas e retorna uma decisão, possivelmente com obrigações, como mascarar campos ou exigir step-up.
O Policy Information Point fornece atributos: dados do usuário, tenant, relacionamento, classificação do recurso ou risco. O Policy Administration Point é onde políticas são criadas, revisadas, versionadas e publicadas. Separar esses papéis permite governança, porém adiciona latência, disponibilidade e consistência como requisitos arquiteturais.
Decisões centralizadas precisam de estratégia de e fail behavior. Fail-open pode expor dados quando o falha; fail-closed pode causar indisponibilidade. A escolha depende do risco da operação. Políticas críticas devem possuir testes, versionamento, e observabilidade equivalentes ao código de produção.
Divisão recomendada
Use o para validar credenciais e aplicar controles independentes do estado do domínio. Mantenha no serviço as decisões que dependem de propriedade, saldo, estado da transação ou regras que mudam com o negócio.
14.17 Delegação, impersonation e on-behalf-of
Delegação concede autoridade limitada para um cliente agir em nome de um sujeito. O precisa distinguir usuário, cliente e escopo delegado. Registrar apenas o usuário esconde qual aplicação executou a ação; registrar apenas a aplicação perde a pessoa que autorizou. devem preservar ambos quando o fluxo envolve os dois.
Impersonation é mais forte: um componente assume a identidade de outro. Deve ser raro, explicitamente autorizado e auditado, pois elimina fronteiras. Em ferramentas administrativas, a interface precisa indicar que o operador está atuando como outro usuário e registrar actor original, motivo e duração.
On-behalf-of ocorre quando um serviço chama outro mantendo contexto do usuário. Encaminhar o mesmo para todos os amplia e exposição. exchange ou emissão de específico para o próximo recurso reduz privilégio e permite representar a cadeia de atores de forma controlada.
Tabela 11 - A identidade do ator não deve desaparecer durante a delegação.
Cenário
Identidades que devem aparecer
Controle
App em nome do usuário
usuário + cliente
scopes delegados e consentimento/política.
Serviço em nome do usuário
usuário + serviço chamador
audience específica e cadeia de ator.
App-only
aplicação/workload
permissões de aplicação e owner.
Impersonation administrativa
operador + sujeito assumido
aprovação, prazo, motivo e auditoria reforçada.
Figura 4 - Atestação e credenciais curtas reduzem secrets persistentes em workloads.
14.18 Identidade de workload e zero trust
representa software em execução. Em nuvem, pode ser service ou managed identity. Em Kubernetes, pode usar service account federada. Em SPIFFE, o workload recebe um SPIFFE ID e documentos de identidade verificáveis por meio da Workload . O objetivo é vincular credenciais ao ambiente e ciclo de vida reais do processo.
Zero trust não significa desconfiar de tudo de forma abstrata; significa não conceder confiança implícita apenas por localização de rede. Cada acesso deve avaliar identidade, recurso e contexto. Estar dentro da VNet ou do não substitui autenticação. Segmentação de rede continua útil, mas atua junto à identidade.
Credenciais curtas e rotacionadas automaticamente diminuem a janela de abuso. O serviço não deve conseguir exportar uma credencial de longa duração quando a plataforma pode emitir sob demanda. A autorização precisa limitar e permissões; uma managed identity sem secret ainda pode ser perigosa se possuir papel de administrador.
Tabela 12 - Identidade de workload deve acompanhar a plataforma e o ciclo de execução.
Tecnologia
Identidade
Emissão
Uso
Managed identity
service principal gerenciado
plataforma Azure emite tokens
acesso a recursos que confiam no Microsoft Entra.
Workload federation
subject externo mapeado
troca asserção por token local
CI/CD, Kubernetes e multi-cloud sem secret.
SPIFFE/SPIRE
SPIFFE ID
SVID curto via atestação
mTLS ou JWT entre workloads.
Service account estática
conta de serviço
secret ou token persistente
legado; exige rotação e restrição.
14.19 Identidade em , Axway e Azure
Um pode extrair credenciais, validar , certificado ou , aplicar , consultar identidade externa e propagar contexto ao . A política deve remover de identidade fornecidos pelo cliente e inserir apenas valores derivados de validação. O deve confiar nesses somente quando a conexão vem do autorizado.
No Azure Management, políticas como validate- e validate-azure-ad- validam e podem exigir , e . A configuração precisa usar metadata e chaves do emissor correto, registrar falhas sem expor e separar a autorização de das regras de domínio. Managed identity pode ser usada pelo ou para obter sem secrets estáticos em cenários suportados.
No Axway , filtros de , OpenID Connect e verificação de podem participar de políticas. O desenho deve declarar se o atua como server, client ou resource server. Como produtos e versões variam, a política precisa ser testada com reais autorizados, rotação de chave e cenários de erro.
Validação de depende de metadata, de chaves e rotação. Teste o comportamento quando o kid muda, a metadata fica indisponível, o relógio diverge ou o possui múltipla.
14.20 Respostas 401, 403 e insufficient_scope
401 indica que a requisição não possui credenciais de autenticação válidas para o recurso. A resposta deve usar WWW-Authenticate quando aplicável, informando o esquema e parâmetros seguros. O código não significa necessariamente “usuário inexistente”; pode representar ausente, expirado, assinatura inválida ou incorreta.
403 indica que o servidor compreendeu a requisição e se recusa a atendê-la. Pode ocorrer quando a identidade é válida, mas não possui permissão. Em alguns recursos sensíveis, o servidor pode preferir 404 para não revelar existência, desde que o comportamento seja consistente e documentado.
No uso de , erros como invalid_token e insufficient_scope ajudam o cliente, mas detalhes não devem revelar chaves, regras internas ou existência de dados. O e o precisam registrar internamente a causa exata e expor ao consumidor um erro estável, correlacionável e seguro.
Tabela 13 - O status externo deve preservar semântica; o log interno preserva diagnóstico.
de acesso devem registrar , tipo de identidade, cliente, , , operação, recurso, decisão, policy version e correlation ID. Não registre , secret, senha, ou chave completa. Quando um identificador é sensível, utilize pseudonimização ou estável controlado conforme necessidade de investigação.
A auditoria precisa distinguir autenticação bem-sucedida, autorização negada e falha de infraestrutura. Um 401 por expirado é diferente de erro ao buscar metadata. Um 403 do é diferente de 403 do . Campos como decision_source e response_origin reduzem investigações baseadas em suposição.
Retenção e acesso aos devem respeitar privacidade e finalidade. de perfil não devem ser copiadas integralmente para todos os eventos. Registre apenas atributos necessários à segurança, suporte e conformidade. Trilhas administrativas de alteração de políticas e grants são tão importantes quanto de chamadas.
Tabela 14 - Auditoria útil registra identidade e decisão sem vazar credenciais.
Campo
Exemplo
Cuidado
principal id _
iss + sub normalizado
não usar e-mail mutável como chave única.
client id _
aplicação chamadora
preservar em fluxos delegados.
auth method _
mTLS, JWT, sessão
não registrar material da credencial.
decision
permit / deny
incluir policy e ponto que decidiu.
correlation id _
identificador ponta a ponta
validar e normalizar valor externo.
14.22 Ameaças e hardening
stuffing e password spraying exploram senhas reutilizadas. Phishing captura sessão ou fator. Secret leakage expõe credenciais de aplicação em repositórios e . reutiliza . Confusion attacks fazem um sistema aceitar de outro contexto. Broken Object Level permite acessar recurso de outro usuário mesmo com válido.
Hardening começa pelo menor privilégio, credenciais curtas, rotação automática e separação de audiences. devem seguir boas práticas de algoritmo, tipagem e validação. Redirect , clientes e precisam ser restritos. Sessões e devem possuir revogação e detecção de anomalias conforme o risco.
Autorização deve ocorrer em cada objeto e função, não apenas no genérico. Listar /contas com contas.read não garante que o sujeito pode ver todas as contas retornadas. O precisa filtrar pelo relacionamento e impedir que IDs manipulados bypasssem a regra.
Tabela 15 - Tokens válidos não eliminam falhas de autorização e ciclo de vida.
Ameaça
Falha explorada
Controle principal
Token replay
bearer copiável
TLS, expiração curta e sender constraint quando necessário.
Token substitution
audience/tipo não validados
aud, iss, typ e regras separadas por token.
BOLA
objeto sem checagem de ownership
autorização por objeto no serviço.
Secret leakage
credencial persistente em código
vault, federação e scanning.
Privilege creep
grants acumulados
revisão periódica e lifecycle.
14.23 orientado por evidências
A investigação começa identificando quem produziu a resposta. Verifique se a requisição chegou ao , se havia credencial, qual política foi executada e se o foi chamado. Um 401 gerado na borda não aparecerá no de aplicação. Um 403 do pode ocorrer depois de o aceitar o .
Para , extraia e apenas em ambiente seguro, sem colar de produção em sites externos. Compare iss, aud, exp, nbf, typ, kid, e client_id com a configuração. Confirme relógio do , descoberta OpenID, e rotação de chaves. Assinatura válida com errada deve continuar sendo rejeitada.
Para autorização, reproduza com o mesmo e recurso. Verifique atributos, tenant, ownership, policy version e . Uma permissão recém-concedida pode não aparecer por atraso de replicação ou antigo. Emitir novo pode ser necessário quando são incorporadas no momento da emissão.
Tabela 16 - Diagnóstico precisa correlacionar credencial, decisão e ponto de resposta.
Sintoma
Hipóteses
Evidências
401 intermitente
expiração, clock skew, rotação de chave
timestamps, kid, JWKS e nó do gateway.
403 apenas em alguns IDs
ownership ou tenant
recurso, principal e regra de domínio.
Funciona no portal, falha no script
audience, client type ou credencial
tokens comparados e fluxo utilizado.
Gateway aceita, backend rejeita
propagação ou policy divergente
headers confiáveis, audience interna e logs dos dois hops.
Após grant ainda nega
token/cache antigo
iat, versão da política e TTL do atributo.
14.24 Estudos de caso e laboratórios
Caso 1 - aceito como
Uma usa o retornado pelo provedor para estabelecer a sessão local do usuário, lendo sub e e-mail sem validar ou tipo. Um destinado a outra é apresentado e aceito pela aplicação. A assinatura é válida, mas o não foi emitido para aquele cliente.
A correção separa validação de e , exige e adequados e usa a biblioteca do protocolo. O caso mostra que criptografia válida não substitui contexto de uso.
Caso 2 - autoriza, expõe objeto de outro cliente
O exige contas.read e encaminha /contas/{id}. O busca pelo ID sem verificar vínculo com o subject. Um consumidor autenticado altera o ID e lê conta de outro cliente. A autenticação e o estão corretos, mas existe Broken Object Level .
A correção aplica autorização por objeto no domínio e registra , tenant e recurso. O continua validando e , mas não tenta inferir ownership sem dados confiáveis.
Caso 3 - secret compartilhado entre vinte aplicações
Vinte jobs usam o mesmo client_id e segredo. Após vazamento, a organização precisa rotacionar todos simultaneamente e não consegue identificar o responsável pelo tráfego. A migração cria identidade individual, owner, escopo e quota por job, seguida de revogação do segredo compartilhado.
O ganho não é apenas criptográfico. A individualização permite menor privilégio, auditoria, depreciação e resposta a incidentes por consumidor.
Laboratório 1 - validar de um sintético
Gere um de laboratório com , , exp e controlados.
Valide a assinatura com uma chave local e depois altere aud, exp e typ.
Confirme que cada alteração é rejeitada por regra específica.
Registre somente e sintéticos, nunca reais de produção.
Laboratório 2 - matriz de autorização
Modele operações de leitura, criação, aprovação e cancelamento.
Liste roles, atributos, relationships e condições necessárias.
Implemente casos permitidos e negados com testes automatizados.
Inclua tentativa de acessar objeto de outro tenant.
Laboratório 3 - policy no
Configure um ou simulador autorizado para exigir e .
Envie ausente, expirado, de outro e sem .
Compare 401 e 403 e registre qual camada respondeu.
Altere a chave de assinatura e observe o comportamento de e rotação.
Laboratório 4 - inventário de workload identities
Liste service principals, managed identities, service accounts e secrets de um ambiente de laboratório.
Associe owner, recurso, permissões e expiração.
Identifique credenciais estáticas substituíveis por federação ou identidade gerenciada.
Defina processo de desativação e teste a revogação.
Resumo do capítulo
Identidade é a base do controle de acesso, mas depende de cadastro, credenciais, validação e ciclo de vida. Identificador não é prova. Autenticação estabelece um sob determinado contexto; autorização decide uma ação sobre um recurso. Delegação, federação e auditoria completam a cadeia.
podem usar , Basic, sessões, opacos, , e provas de posse. Cada mecanismo possui limites. são reutilizáveis por quem os obtém; sender-constrained reduzem . assinado não é criptografado e precisa de validação de , , tempo, tipo, algoritmo e .
2.0 trata autorização delegada; OpenID Connect acrescenta autenticação para clientes. , e têm destinatários e finalidades diferentes. A autorização pode combinar , , e políticas centralizadas, mas regras de domínio e objeto permanecem responsabilidade do serviço.
funcionam como para controles transversais e podem validar , certificados e chaves. A arquitetura precisa preservar identidade do usuário e da aplicação, impedir forjados, registrar a origem da decisão e usar workload identities de curta duração. Segurança efetiva exige menor privilégio, rotação, observabilidade e testes de negação.
Próximo passo do curso
O Capítulo 15 aprofundará , Digest e , analisando transmissão de credenciais, desafios , armazenamento de segredos, , rotação, identificação de aplicações e limitações desses mecanismos em corporativas.
Checklist de identidade e acesso
Cada chamada pode ser associada a um individual e a um owner conhecido.
A autenticação é separada da autorização de operação e de objeto.
, , tipo, algoritmo e tempo são validados explicitamente.
e não são intercambiados.
e secrets não aparecem em , ou código-fonte.
Credenciais de aplicações possuem rotação e data de revisão.
, roles, permissions e attributes possuem semântica documentada.
O remove de identidade externos antes de inserir contexto confiável.
O aplica autorização fina quando depende do estado ou ownership.
401 e 403 preservam semântica e não revelam detalhes sensíveis.
registram , cliente, decisão, recurso, policy e correlação sem .
Workloads usam credenciais curtas ou federação quando possível.
Políticas possuem testes positivos e negativos, versionamento e .
Inventário e processo de desligamento incluem grants, sessões, e certificados.
Exercícios
Diferencie sujeito, , identificador, credencial e .
Explique por que autenticação forte não corrige Broken Object Level .
Compare , client secret, certificado e workload .
Explique por que assinatura válida não basta para aceitar um .
Diferencie , e .
Modele autorização de uma transferência usando role, atributos e ownership.
Descreva quando 401, 403 e 404 podem ser usados.
Explique o papel de , , PIP e PAP.
Proponha para uma chamada delegada preservando usuário e aplicação.
Crie plano de migração de Basic para credencial assimétrica ou .
Liste controles contra de .
Descreva para aceito no e rejeitado no .
Glossário
Tabela 17 - Vocabulário essencial do capítulo.
Termo
Definição
ABAC
Autorização baseada em atributos de sujeito, recurso, ação e ambiente.
Access token
Credencial usada por um cliente para acessar um resource server.
API key
Valor associado a consumidor ou plano; não implica identidade forte por si só.
Audience
Destinatário para o qual um token foi emitido.
Authentication
Processo de validar uma prova vinculada a uma identidade.
Authorization
Decisão sobre ação permitida a um principal em um recurso.
Bearer token
Token utilizável por quem possui o valor.
Claim
Afirmação transportada em token ou asserção.
Credential
Material usado para demonstrar controle ou vínculo de identidade.
Delegation
Concessão limitada para agir em nome de outro sujeito.
Federation
Aceitação de identidades ou asserções de outro domínio de confiança.
ID token
Token OpenID Connect destinado ao cliente para comunicar autenticação.
Issuer
Entidade que emite e assina o token ou asserção.
JWT
Formato compacto para claims protegidas por JWS ou JWE.
PDP
Componente que avalia política e produz decisão.
PEP
Componente que aplica a decisão ao acesso.
Principal
Representação operacional de uma identidade no sistema.
RBAC
Autorização baseada em roles.
ReBAC
Autorização baseada em relacionamentos.
Scope
Autoridade delegada expressa para um access token.
Sender-constrained token
Token vinculado à prova de uma chave do cliente.
Workload identity
Identidade não humana atribuída a software em execução.
Anexo A - Matriz de escolha de mecanismo
Tabela 18 - A escolha final depende do risco, consumidores e infraestrutura.
Cenário
Mecanismo inicial
Controles adicionais
API pública de baixo risco com quota
API key
TLS, rotação, rate limiting e monitoramento.
Integração legada controlada
Basic temporário
credencial individual, TLS, vault e plano de migração.
Usuário em aplicação web
OIDC + sessão ou tokens
MFA, CSRF/XSS, audience e autorização de objeto.
Serviço para serviço
client credentials, mTLS ou federação
escopo mínimo, audience, rotação e owner.
Workload em Azure
managed identity
RBAC mínimo e logs de sign-in.
Workload multi-cloud/Kubernetes
workload federation ou SPIFFE
trust específico, credencial curta e atestação.
API de alto risco
sender-constrained token + política contextual
mTLS/DPoP, step-up, detecção e auditoria reforçada.
Referências técnicas
. 9110 - Semantics. 2022.
. 7617 - The Basic Scheme. 2015.
. 6750 - 2.0 Usage. 2012.
. 7519 - Web ( ). 2015.
. 7662 - 2.0 Introspection. 2015.
. 8414 - 2.0 Server Metadata. 2018.
. 8705 - 2.0 Mutual- Client and Certificate-Bound . 2020.
. 8725 - Web Best Current Practices. 2020.
. 9068 - Profile for 2.0 . 2021.
. 9449 - 2.0 Demonstrating Proof of Possession. 2023.
. 9700 - Best Current Practice for 2.0 Security. 2025.
. 9728 - 2.0 Protected Resource Metadata. 2025.
OpenID Foundation. OpenID Connect Core 1.0, Second Errata Set.
. SP 800-63-4 - Digital Identity Guidelines. 2025.
. SP 800-63B-4 - and Authenticator Management. 2025.
. SP 800-207 - Zero Trust Architecture. 2020.
SPIFFE. SPIFFE Concepts, Workload e SVID Specifications.
Microsoft Learn. Microsoft Entra workload identities e managed identities.
Microsoft Learn. Azure Management validate- e validate-azure-ad- policies.
Axway Documentation. 2.0, OpenID Connect e verification no .
. Security Top 10 - 2023 Edition.
Nota de atualização
Protocolos, bibliotecas, produtos e políticas de identidade evoluem. Antes de implantar qualquer fluxo ou policy, valide as especificações atuais, a versão do produto e o comportamento em ambiente autorizado.