Skip to main content
QMSQMS
QMS
  • Welcome to your QMS
  • Quality Manual
  • Procedures
    • GP-001 Control of documents
    • GP-002 Quality planning
    • GP-003 Audits
    • GP-004 Vigilance system
    • GP-005 Human Resources and Training
    • GP-006 Non-conformity, Corrective and Preventive actions
    • GP-007 Post-market surveillance
    • GP-008 Product requirements
    • GP-009 Sales
    • GP-010 Purchases and suppliers evaluation
    • GP-011 Provision of service
    • GP-012 Design, redesign and development
    • GP-013 Risk management
    • GP-014 Feedback and complaints
    • GP-015 Clinical evaluation
    • GP-016 Traceability and identification
    • GP-017 Technical assistance service
    • GP-018 Infrastructure and facilities
    • GP-019 Software validation plan
    • GP-020 QMS Data analysis
    • GP-021 Communications
    • GP-022 Document translation
    • GP-023 Change control management
    • GP-024 Predetermined Change Control Plan
    • GP-025 Usability and Human Factors Engineering
    • GP-027 Corporate Governance
    • GP-028 AI Development
    • GP-029 Software Delivery And Comissioning
    • GP-050 Data Protection
    • GP-051 Security violations
    • GP-052 Data Privacy Impact Assessment (DPIA)
    • GP-100 Business Continuity (BCP) and Disaster Recovery plans (DRP)
    • GP-101 Information security
    • GP-200 Remote Data Acquisition in Clinical Investigations
    • GP-026 Market-specific product requirements
    • GP-110 Esquema Nacional de Seguridad
      • ORG Marco organizativo
      • OP Marco operacional
        • OP.PL Planificación
        • OP.ACC Control de acceso
          • OP.ACC.1 Identificación
          • OP.AAC.2 Requisitos de acceso
          • OP.AAC.3 Segregación de funciones y tareas
          • OP.AAC.4 Proceso de gestión de derechos de acceso
          • OP.AAC.5 Mecanismo de autenticación
          • OP.ACC.6 Acceso local
          • OP.ACC.7 Acceso remoto
        • OP.EXP Explotación
        • OP.EXT Servicios externos
        • OP.NUB Servicios en la nube
        • OP.CONT Continuidad del servicio
        • OP.MON Monitorización del sistema
      • MP Medidas de protección
      • Sin asignar
      • Real Decreto 311/2022, de 3 de mayo, por el que se regula el Esquema Nacional de Seguridad.
  • Records
  • Legit.Health Plus Version 1.1.0.0
  • Legit.Health Plus Version 1.1.0.1
  • Licenses and accreditations
  • Applicable Standards and Regulations
  • Public tenders
  • Procedures
  • GP-110 Esquema Nacional de Seguridad
  • OP Marco operacional
  • OP.ACC Control de acceso
  • OP.AAC.2 Requisitos de acceso

OP.AAC.2 Requisitos de acceso

Objetivo​

Definir y documentar los requisitos de acceso al sistema Legit Health Plus, estableciendo los controles necesarios para garantizar que solo usuarios autorizados puedan acceder a los recursos según el principio de menor privilegio y necesidad de conocer, cumpliendo con ENS, MDR y normativas de ciberseguridad para dispositivos médicos.

Alcance​

Este procedimiento aplica a:

  • Control de acceso a todos los componentes del sistema Legit Health Plus
  • Gestión de permisos para datos de pacientes y diagnósticos médicos
  • Acceso a funcionalidades de IA/ML y algoritmos diagnósticos
  • Control de acceso a configuraciones y parámetros del sistema
  • Gestión de acceso a APIs y servicios de integración
  • Control de acceso a entornos de desarrollo, pruebas y producción

Guía de implantación​

  1. Es necesario que tanto los sistemas en producción como los previos a su puesta en explotación cuenten con un mecanismo de control de acceso, basado en el identificador asignado a cada entidad (usuario o proceso) y un mecanismo de autenticación.

  2. Para definir este control de accesos, debe definirse un documento o matriz donde se especifique cuáles son los componentes del sistema y sus ficheros o registros de configuración y se relacionen con los diferentes permisos de usuario, de manera que únicamente puedan acceder a los recursos los usuarios autorizados.

  3. Será el responsable de cada información o servicio, quien especifique los derechos de acceso a los mismos, responsabilizándose de la asignación de autorización y nivel de acceso al mismo.

Implementación en Legit Health Plus​

Modelo de Control de Acceso​

Legit Health Plus implementa un modelo híbrido de control de acceso que combina:

  • RBAC (Role-Based Access Control): Para permisos generales basados en roles
  • ABAC (Attribute-Based Access Control): Para decisiones contextuales
  • MAC (Mandatory Access Control): Para datos sensibles de pacientes

Matriz de Control de Acceso​

Definición de Recursos​

RecursoClasificaciónNivel de ProtecciónControl Aplicado
Datos de PacientesALTACifrado + Control EstrictoMAC + RBAC
Algoritmos IA/MLMEDIAProtección IntegridadRBAC
Configuración SistemaALTAAudit + ApprovalRBAC + MFA
Logs de AuditoríaMEDIASolo LecturaRBAC
APIs DiagnósticoALTARate Limiting + AuthOAuth + ABAC
Documentación ClínicaMEDIAControl VersionesRBAC

Matriz de Permisos por Rol​

Leyenda: R=Read, W=Write, X=Execute, D=Delete, A=Approve
Recurso / RolMédico (HCP)Admin IT (ITP)SoporteAPI ClientPaciente
Datos Pacientes
- Ver propios pacientesR---R (propio)
- Modificar diagnósticosRW----
- Eliminar registros-----
Algoritmos IA
- Ejecutar análisisX--X-
- Ver resultadosRRRRR (propio)
- Configurar parámetros-RW---
Configuración
- Parámetros sistema-RWAR--
- Usuarios y roles-RWDR--
- Integraciones-RWAR--
Logs y Auditoría
- Logs propiosRRRR-
- Logs sistema-RR--
- Informes seguridad-RWR--

Sistema de Autorización​

Arquitectura de Autorización​

Políticas de Acceso​

{
"policy": "medical_data_access",
"version": "1.0",
"rules": [
{
"id": "hcp_patient_data",
"description": "HCP accede a datos de sus pacientes",
"subject": { "role": "HCP" },
"resource": { "type": "patient_data" },
"action": ["read", "write"],
"condition": {
"patient_assignment": true,
"working_hours": true,
"location": "authorized_network"
},
"effect": "ALLOW"
},
{
"id": "emergency_override",
"description": "Acceso de emergencia con justificación",
"subject": { "role": "HCP", "emergency_flag": true },
"resource": { "type": "patient_data" },
"action": ["read"],
"condition": {
"audit_reason": "required",
"notification": "immediate"
},
"effect": "ALLOW"
}
]
}

Control de Acceso a Datos Sensibles​

Clasificación de Datos​

CategoríaDescripciónEjemplosControles Requeridos
CríticoDatos que afectan directamente la seguridad del pacienteDiagnósticos IA, imágenes médicasCifrado E2E, MFA, audit completo
SensibleInformación personal de salud (PHI)Historiales, datos demográficosCifrado, RBAC, audit
InternoDatos operacionales del sistemaConfiguraciones, logsRBAC, integridad
PúblicoInformación no sensibleDocumentación, estadísticas agregadasControl de integridad

Segregación de Datos​

-- Ejemplo de segregación por tenant en base de datos
CREATE SCHEMA tenant_hospital_a;
CREATE SCHEMA tenant_clinic_b;

-- Row Level Security para datos de pacientes
CREATE POLICY patient_isolation ON patients
FOR ALL
TO application_role
USING (tenant_id = current_setting('app.current_tenant'));

Control de Acceso a APIs​

Autenticación de APIs​

# Ejemplo de validación de acceso a API
from fastapi import Depends, HTTPException, Security
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials

class APIAccessControl:
def __init__(self):
self.security = HTTPBearer()

async def validate_access(
self,
credentials: HTTPAuthorizationCredentials = Security(security),
resource: str = None,
action: str = None
):
# Validar token JWT
token_data = self.verify_jwt(credentials.credentials)

# Verificar permisos RBAC
if not self.check_rbac(token_data.role, resource, action):
raise HTTPException(403, "Insufficient permissions")

# Verificar rate limiting
if not self.check_rate_limit(token_data.client_id):
raise HTTPException(429, "Rate limit exceeded")

# Aplicar políticas ABAC contextuales
if not self.check_abac_policies(token_data, resource):
raise HTTPException(403, "Access denied by policy")

return token_data

@app.get("/api/v1/diagnosis/{patient_id}")
async def get_diagnosis(
patient_id: str,
auth = Depends(APIAccessControl().validate_access)
):
# Endpoint protegido con control de acceso
pass

Procedimientos​

PRO-AAC-004: Definición de Requisitos de Acceso​

  1. Análisis de Necesidades

    • Identificar recursos a proteger
    • Clasificar según criticidad y sensibilidad
    • Determinar niveles de acceso requeridos
  2. Diseño de Controles

    • Seleccionar mecanismos de control apropiados
    • Definir políticas de acceso
    • Establecer excepciones y casos especiales
  3. Documentación

    • Crear matriz de control de acceso
    • Documentar políticas en formato estructurado
    • Mantener registro de decisiones de diseño
  4. Validación

    • Revisar con stakeholders
    • Verificar cumplimiento normativo
    • Aprobar formalmente

PRO-AAC-005: Implementación de Controles​

  1. Configuración Técnica

    • Implementar políticas en sistemas
    • Configurar reglas de firewall
    • Establecer ACLs en bases de datos
  2. Testing

    • Pruebas de acceso positivas
    • Pruebas de denegación
    • Validación de logs de auditoría
  3. Despliegue

    • Migración gradual
    • Monitorización intensiva
    • Rollback plan

PRO-AAC-006: Revisión de Accesos​

  1. Revisión Periódica

    • Quarterly: Accesos privilegiados
    • Semestral: Accesos estándar
    • Anual: Políticas completas
  2. Análisis de Logs

    • Identificar accesos anómalos
    • Detectar intentos de escalación
    • Revisar accesos de emergencia
  3. Ajustes

    • Revocar accesos no utilizados
    • Ajustar políticas según uso real
    • Actualizar documentación

Responsabilidades​

Data Protection Officer (DPO)​

  • Clasificar datos según sensibilidad
  • Aprobar políticas de acceso a datos personales
  • Supervisar cumplimiento GDPR

Security Architect​

  • Diseñar arquitectura de control de acceso
  • Definir políticas técnicas
  • Validar implementaciones

Product Owner​

  • Definir requisitos funcionales de acceso
  • Aprobar matriz de permisos
  • Validar experiencia de usuario

DevSecOps Team​

  • Implementar controles técnicos
  • Automatizar enforcement de políticas
  • Monitorizar cumplimiento continuo

Registros y Evidencias​

Documentación Requerida​

DocumentoDescripciónActualizaciónResponsable
R-TF-110-005Matriz de Control de AccesoTrimestralSecurity Architect
R-TF-110-006Políticas de Acceso (JSON/YAML)MensualDevSecOps
R-TF-110-007Informe de Revisión de AccesosTrimestralCISO
R-TF-110-008Registro de ExcepcionesPor eventoSecurity Team

Métricas de Control​

# Ejemplo de métricas monitorizadas
metrics = {
"access_denied_rate": {"threshold": 0.05, "window": "1h"},
"privilege_escalation_attempts": {"threshold": 0, "window": "24h"},
"emergency_access_usage": {"threshold": 5, "window": "7d"},
"unused_permissions": {"threshold": 0.1, "window": "30d"},
"policy_violations": {"threshold": 0, "window": "1h"}
}

Métricas y KPIs​

KPIObjetivoMediciónFrecuencia
Tasa de accesos denegados legítimos<1%Denied_valid / Total_requestsDiario
Tiempo medio de provisión de acceso<4 horasSum(provision_time) / CountSemanal
Cobertura de revisión de accesos100%Reviewed / Total_accountsTrimestral
Políticas sin violaciones>95%Policies_ok / Total_policiesContinuo
Detección de accesos anómalos<5 minDetection_timePor evento

Referencias Cruzadas​

Documentos Internos​

  • OP.AAC.1: Identificación - Base para control de acceso
  • OP.AAC.3: Segregación de funciones - Separación de duties
  • OP.AAC.4: Gestión de derechos - Lifecycle de permisos
  • T-024-006: Threat Model - Amenazas contra control de acceso
  • T-024-009: Security Architecture - Implementación técnica

Cumplimiento Normativo​

  • ENS: [op.acc.2] - Control de acceso
  • ISO 27001: A.9.1 - Requisitos de negocio para control de acceso
  • MDR: Requisito 17.2 - Protección contra acceso no autorizado
  • GDPR: Art. 32 - Medidas técnicas apropiadas
  • FDA Guidance: Control de acceso a funciones críticas

Documentos de referencia​

  • Guías CCN-STIC:  - Serie CCN-STIC-500 - Guías para Entornos Windows  - Serie CCN-STIC-600 - Guías para otros Entornos  - Guía CCN-STIC-827 - Gestión y uso de dispositivos móviles
  • ISO/IEC 27000  - ISO/IEC 27002:2013: - 9.1.1 - Política de control de acceso - 9.1.2 - Acceso a redes y servicios en red - 9.4.1 - Restricción del acceso a la información - 9.4.4 - Uso de los recursos del sistema con privilegios especiales - 9.4.5 - Control de acceso al código fuente de los programas
  • NIST SP 800-53 rev. 4
    • [AC-3] Access Enforcement
    • [AC-4] Information Flow Enforcement
    • [AC-6] Least Privilege
    • [AC-24] Access Control Decisions
    • [CM-5] Access Restrictions for Change
    • [MP-2] Media Access
  • Otras referencias:
    • Manageable Network Plan
    • Milestone 5: Control Your Network (User Access)

Signature meaning

The signatures for the approval process of this document can be found in the verified commits at the repository for the QMS. As a reference, the team members who are expected to participate in this document and their roles in the approval process, as defined in Annex I Responsibility Matrix of the GP-001, are:

  • Author: Team members involved
  • Reviewer: JD-003, JD-004
  • Approver: JD-001
Previous
OP.ACC.1 Identificación
Next
OP.AAC.3 Segregación de funciones y tareas
  • Objetivo
  • Alcance
  • Guía de implantación
  • Implementación en Legit Health Plus
    • Modelo de Control de Acceso
    • Matriz de Control de Acceso
      • Definición de Recursos
      • Matriz de Permisos por Rol
    • Sistema de Autorización
      • Arquitectura de Autorización
      • Políticas de Acceso
    • Control de Acceso a Datos Sensibles
      • Clasificación de Datos
      • Segregación de Datos
    • Control de Acceso a APIs
      • Autenticación de APIs
  • Procedimientos
    • PRO-AAC-004: Definición de Requisitos de Acceso
    • PRO-AAC-005: Implementación de Controles
    • PRO-AAC-006: Revisión de Accesos
  • Responsabilidades
    • Data Protection Officer (DPO)
    • Security Architect
    • Product Owner
    • DevSecOps Team
  • Registros y Evidencias
    • Documentación Requerida
    • Métricas de Control
  • Métricas y KPIs
  • Referencias Cruzadas
    • Documentos Internos
    • Cumplimiento Normativo
  • Documentos de referencia
All the information contained in this QMS is confidential. The recipient agrees not to transmit or reproduce the information, neither by himself nor by third parties, through whichever means, without obtaining the prior written permission of Legit.Health (AI LABS GROUP S.L.)