PERMISSIONS / TECHNICAL DESIGN
Autorização e integração de API
A autenticação identifica o solicitante. A autorização determina as ações permitidas. Verifique registro e finalidade por operação.
Permitir apenas quando todas as condições forem atendidas
Verifique responsável e tenant autenticados, ação solicitada, registro e validade da autorização. Negue por padrão quando faltarem condições necessárias.
- Responsável pela ação
- O serviço ou parceiro autenticado. Não confie no client_id do corpo da solicitação.
- Registro
- Restrinja registros ao tenant_id autenticado.
- Ação e finalidade
- Verifique permissões como shipping.address.read e sua finalidade de entrega associada.
- Condições adicionais
- Verifique destinatário, validade, revogação, quantidade de usos e relação com a pessoa.
- Decisões consistentes
- Considere alterações de estado entre autorização, consulta e atualização da quantidade de usos.
Autenticação de serviços e credenciais
Use tokens Bearer de aplicativo do Microsoft Entra: Managed Identity no Azure ou chave privada de certificado para obter o token. Não é autenticação de transporte mTLS. O Vault atual confia em um diretório Entra; outra organização não é aceita automaticamente. Mantenha as credenciais no backend.
- Restrições de destinatário
- Valide o destinatário e o destino do token. Rejeite tokens emitidos para outra API.
- Rotação de credenciais
- Gerencie a retirada de credenciais antigas e o período de transição.
- Separar credenciais de navegador e servidor
- Nunca inclua credenciais de servidor em JavaScript ou HTML.
Erros, novas tentativas e auditoria
Registre motivos de negação internamente sem revelar registros de outros tenants ou dados pessoais. Quando um timeout deixar o resultado incerto, use chaves de idempotência ou consultas de status em vez de tentar novamente às cegas.
- 401 / 403
- Diferencie ausência de autenticação e de autorização. Registre detalhes em logs internos protegidos.
- 404
- Considere respostas indistinguíveis para registros inexistentes e não autorizados.
- 409 / 429
- Conflitos de idempotência e limites de solicitações. Defina política de repetição e períodos de espera.
- 503
- Se não for possível verificar permissão ou revogação, interrompa o processamento em vez de considerar a solicitação autorizada.
DATA / INTEGRATION EXAMPLE
Exemplo de dados e integração
Estes exemplos explicam o projeto. Nomes de campos e valores são ilustrativos, não uma referência executável de API.
{
"operation": "Authorization inputs and decision example",
"authenticated_context": {
"tenant_id": "tenant_a",
"client_id": "carrier-a"
},
"request": {
"action": "shipping.address.read",
"resource_ref": "order_example_01",
"purpose": "fulfillment"
},
"decision": {
"allowed": true,
"fields": [
"postal_code",
"address",
"recipient_name"
],
"decision_id": "dec_example_01"
}
}Construa o contexto de autenticação com credenciais verificadas. Nunca use um tenant_id fornecido pelo cliente como fonte de autoridade.
Projetos técnicos relacionados
Voltar à visão geral da plataforma de privacidadeIntegração projetada para seus processos.
Mapeie dados retidos, parceiros e ações necessárias para identificar formas de reduzir a exposição.
Conversar sobre integração técnica