PERMISSIONS / TECHNICAL DESIGN
Autorización e integración API
La autenticación identifica al solicitante. La autorización determina las acciones permitidas. Consultar el registro y finalidad de cada operación.
Permitir solo cuando se cumplan todas las condiciones.
Verifique el actor y el organización autenticados, la acción solicitada, el registro y la validez de la concesión. Denegar de forma predeterminada cuando faltan las condiciones requeridas.
- Actor
- El servicio o socio autenticado. No confíe en client_id en el cuerpo de la solicitud.
- Registro
- Restrinja los registros al tenant_id autenticado.
- Acción y propósito
- Verifique permisos como shipping.address.read y su propósito de entrega asociado.
- Condiciones adicionales
- Verifique la audiencia, el vencimiento, la revocación, el recuento de uso y la relación con la persona.
- Decisiones consistentes
- Tenga en cuenta los cambios de estado entre autorización, recuperación y actualizaciones de recuento de uso.
Autenticación y credenciales del servicio
Use tokens Bearer de aplicación de Microsoft Entra: Managed Identity en Azure o una clave privada de certificado para obtener el token. Esto no es mTLS. El Vault actual confía en un solo directorio Entra; otras organizaciones no se admiten automáticamente. Mantenga las credenciales en el backend.
- Restricciones de audiencia
- Validar audiencia y destino del token. Rechazar tokens emitidos para otra API.
- Rotación de credenciales
- Administre el retiro de credenciales antiguas y la ventana de transición.
- Credenciales separadas del navegador y del servidor
- Nunca incorpore las credenciales del servidor en JavaScript o HTML.
Errores, reintentos y auditoría
Registre los motivos de la denegación internamente sin revelar los registros o datos personales de otros organizaciones. Cuando un tiempo de espera deja el resultado incierto, utilice claves de idempotencia o consultas de estado en lugar de volver a intentarlo a ciegas.
- 401 / 403
- Distinga la autenticación faltante de la autorización faltante. Registre los detalles en registros internos protegidos.
- 404
- Considere respuestas indistinguibles para registros faltantes y no autorizados.
- 409 / 429
- Conflictos de idempotencia y límites de tarifas. Defina la política de reintento y los períodos de espera.
- 503
- Si no se puede verificar el estado de permiso o revocación, deténgase en lugar de tratar la solicitud como autorizada.
DATA / INTEGRATION EXAMPLE
Ejemplo de datos e integración
Estos ejemplos explican el diseño. Los nombres y valores de los campos son ilustrativos, no una referencia de API ejecutable.
{
"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"
}
}Cree un contexto de autenticación a partir de credenciales verificadas. Nunca utilice un tenant_id proporcionado por el cliente como autoridad.
Diseños técnicos relacionados
Volver a la descripción general de la plataforma de privacidadIntegración diseñada para sus flujos de trabajo.
Mapee los datos retenidos, los socios y las acciones requeridas para identificar formas de reducir la exposición.
Discutir la integración técnica