← Volver al Blog
Seguridad

Seguridad en Infraestructura de Agentes de IA: Autenticación, Autorización y Gestión de Secretos para Sistemas en Producción

Jonatan M. Collymoore Por Jonatan M. Collymoore • 14 min de lectura

Seguridad en Infraestructura de Agentes de IA - Autenticación, Autorización y Gestión de Secretos

Todo sistema de agentes de IA en producción es un sistema distribuido. Un runtime de agente envía consultas a un servicio de embeddings, busca en una base de datos vectorial, invoca un reranker y entrega contexto a un LLM; cada interacción cruza un límite de red entre servicios distintos. Cuando la arquitectura abarca múltiples servicios, la postura de seguridad del sistema no la define el eslabón más fuerte, sino el mecanismo de autenticación más débil entre ellos.

El panorama de seguridad para infraestructura de agentes de IA ha madurado rápidamente. Hace dos años, el patrón dominante era una sola API key compartida entre todos los servicios, almacenada en un archivo .env. Hoy, los sistemas en producción enfrentan un modelo de amenazas más complejo: API keys de proveedores de embeddings robadas que causan abuso y envío de datos controlados por el atacante, workers de embeddings comprometidos que leen almacenamiento de origen, contextos de agentes no autorizados que consultan colecciones de documentos sensibles, credenciales de bases de datos vectoriales filtradas que exponen datos del corpus y ataques de cadena de suministro mediante registros de modelos no autenticados. La arquitectura de red para despliegues de agentes de IA, cubierta en nuestro artículo anterior, proporciona la base de segmentación; pero la segmentación sin autenticación es solo caos organizado.

Esta guía cubre los controles de seguridad que convierten una infraestructura de IA conectada en una infraestructura segura: patrones de autenticación entre servicios (mTLS, SPIFFE y API keys), modelos de autorización para bases de datos vectoriales y endpoints de embeddings, gestión de secretos para API keys de agentes y tokens de LLM, enforcement de políticas de red para cargas de trabajo de IA, registro de auditoría para acciones de agentes y runbooks operativos para los modos de falla específicos de la seguridad de infraestructura de IA.

El Modelo de Amenazas para Infraestructura de Agentes de IA

Antes de seleccionar controles de seguridad, es esencial entender contra qué estás protegiendo el sistema. El modelo de amenazas de infraestructura de agentes de IA difiere de la seguridad tradicional de aplicaciones web en varios aspectos importantes:

Exposición de credenciales en rutas de embeddings y vectores. Una API key robada de un proveedor de embeddings permite al atacante gastar contra tu cuenta y enviar texto controlado por él al proveedor, pero por sí sola no lee documentos existentes ni devuelve contenido del vector store. La exfiltración de documentos se vuelve posible cuando el componente comprometido es un worker de embeddings o proxy interno de embeddings que puede leer el almacenamiento de origen, o cuando el atacante obtiene una credencial de base de datos vectorial que puede consultar o exportar el corpus directamente.

Envenenamiento de datos en bases de datos vectoriales. Una escritura no autorizada en una base de datos vectorial puede inyectar documentos maliciosos en el corpus de recuperación. Cuando esos documentos son recuperados por un agente que responde a una consulta de usuario, el contexto envenenado puede manipular la respuesta del LLM: una inyección de prompt a nivel vectorial que evita la sanitización tradicional de entradas.

Robo de tokens de LLM. Las API keys de LLM son objetivos de alto valor porque proporcionan acceso directo a inferencia de modelos a tu costo. Los proveedores principales aplican rate limits, y algunos también soportan límites de gasto por organización o workspace, pero una clave robada todavía puede generar costos rápidamente dentro de esos límites. Trata los presupuestos del proveedor, los topes por proyecto, las alertas de uso y la rotación rápida de claves como parte del plano de control de credenciales.

Fuga de datos por canales laterales de timing. En despliegues multi-tenant de bases de datos vectoriales, la presencia o ausencia de documentos en colecciones específicas puede inferirse mediante el tiempo de consulta. Un atacante puede probar si existe un documento sensible midiendo la latencia de búsqueda vectorial con y sin el documento en la colección.

El modelo de amenazas de agentes de IA se define por el mismo principio que cualquier sistema distribuido: la confianza es transitiva a través de cada salto autenticado. Una clave robada de proveedor, un worker comprometido con acceso a almacenamiento y una credencial filtrada de base de datos vectorial tienen radios de impacto distintos y necesitan controles distintos.

Autenticación entre Servicios

Mutual TLS (mTLS)

Mutual TLS es el mecanismo de autenticación más fuerte para la comunicación entre servicios en infraestructura de agentes de IA. A diferencia de las API keys, que autentican en la capa de aplicación después de establecer una conexión TCP, o de los tokens JWT, que pueden filtrarse en logs o ser interceptados, mTLS autentica durante el handshake TLS antes de que se intercambie cualquier dato de aplicación. Un cliente no autenticado puede abrir TCP hacia un endpoint alcanzable, pero no debería completar el handshake TLS/mTLS ni obtener un canal de aplicación autenticado.

Los tres modelos de despliegue de mTLS para sistemas de agentes de IA:

Configuración del servidor Qdrant (YAML):

# Qdrant TLS and client-certificate validation
# Qdrant accepts TLS for REST and gRPC. Client-certificate validation
# is configured on the server for HTTPS clients; many Kubernetes
# deployments instead terminate and enforce mTLS in a service mesh.
service:
  enable_tls: true
  # Verify HTTPS client certificates against tls.ca_cert.
  # Keep Qdrant on a private interface and test client behavior before
  # relying on this for every SDK and protocol path.
  verify_https_client_certificate: true

tls:
  cert: /etc/qdrant/tls/server.crt
  key: /etc/qdrant/tls/server.key
  ca_cert: /etc/qdrant/tls/ca.crt

Cliente de aplicación Qdrant detrás del mesh o proxy confiable (Python):

# Istio/Linkerd sidecars or the selected mesh dataplane enforce workload
# identity, certificate rotation, and peer authorization. Cilium uses an
# eBPF datapath and per-node/integrated Envoy where configured, not a
# per-pod sidecar model.
import os
from qdrant_client import QdrantClient

client = QdrantClient(
    url="https://qdrant.ai-agent.svc.cluster.local:6333",
    api_key=os.environ["QDRANT_API_KEY"],
)

Autenticación mediante API Key para Servicios de Embeddings y LLM

Las llamadas a APIs de embeddings y LLM se autentican mediante API keys por diseño: el proveedor valida tu clave contra su servicio. El desafío de seguridad no es el mecanismo de autenticación en sí, sino la gestión de claves a escala en un sistema distribuido de agentes.

Jerarquía de API keys para cargas de trabajo de IA:

# API key routing with per-key rate limits and audit
from openai import OpenAI, RateLimitError

class EmbeddingKeyManager:
    """Manages separate API keys for indexing vs. query workloads."""

    def __init__(self):
        # Keys retrieved from Vault at startup — never hardcoded
        self.index_key = VaultClient.get_secret("openai/embedding-index-key")
        self.query_key = VaultClient.get_secret("openai/embedding-query-key")

    def get_client(self, workload: str) -> OpenAI:
        if workload == "index":
            client = OpenAI(api_key=self.index_key)
            # Indexing: high concurrency, long timeout, relaxed rate limits
            return client
        elif workload == "query":
            client = OpenAI(api_key=self.query_key)
            # Query: low latency, strict timeout, user-attributed
            return client
        # Admin operations never reach application code

Modelos de Autorización para Bases de Datos Vectoriales

RBAC a Nivel de Colección

Las bases de datos vectoriales almacenan colecciones de documentos potencialmente sensibles: wikis internas, historiales de soporte al cliente e investigación propietaria. La autorización debe controlar no solo si un servicio puede conectarse a la base de datos, sino qué colecciones puede leer y si puede escribir.

Modelo RBAC de API keys en Qdrant:

La autenticación general mediante API key de Qdrant precede a sus controles granulares; las API keys de solo lectura están disponibles desde v1.7, las API keys de acceso granular con alcance de lectura/escritura por colección desde v1.9 y audit logging desde v1.17. En Qdrant open source, las API keys granulares requieren una api_key admin y jwt_rbac: true; Qdrant Cloud habilita por defecto la autenticación con claves de acceso granular. Este es el modelo mínimo viable de autorización para despliegues en producción:

# Create scoped API keys for Qdrant
# Admin key (full access)
# POST /collections/{name}/cluster — cluster management

# Indexer key — write + read to ingestion collections only
# POST /collections/docs/points — upsert documents
# POST /collections/docs/points/search — verify ingestion
# No access to user-facing query collections

# Querier key — read-only on query collections
# POST /collections/user-docs/points/search
# POST /collections/internal-wiki/points/search
# POST is denied for /collections/*/points (upsert)

# In Python — the Qdrant client authenticates with the scoped key
from qdrant_client import QdrantClient

# Querier agent — read-only
query_client = QdrantClient(
    url="https://qdrant-cluster.internal",
    api_key=VAULT.get("qdrant/query-key"),
)

# Indexer pipeline — read-write on ingestion collections
index_client = QdrantClient(
    url="https://qdrant-cluster.internal",
    api_key=VAULT.get("qdrant/indexer-key"),
)

Autorización para Búsqueda Híbrida

Cuando el pipeline de recuperación incluye un backend BM25 (Elasticsearch, OpenSearch o búsqueda full-text de PostgreSQL) junto a la base de datos vectorial, la autorización debe ser consistente en ambos. Un querier no debe poder saltarse restricciones vectoriales consultando directamente el índice BM25:

Aislamiento Multi-Tenant

Para sistemas RAG que atienden múltiples tenants desde una base de datos vectorial compartida, el aislamiento a nivel de colección es el límite mínimo de aislamiento. Cada tenant recibe su propia colección Qdrant (o índice Elasticsearch) con credenciales dedicadas:

# Tenant-scoped Qdrant API keys in a multi-tenant deployment
# Tenant A: collection "tenant-a-docs", read-only
# Tenant B: collection "tenant-b-docs", read-only
# Ingress pipeline: collection "ingestion", read-write

# Enforcement is at the collection level — not the application level.
# A compromised querier credential for Tenant A cannot access
# Tenant B's documents, even if both agents run in the same Kubernetes pod.

Consideración crítica para sistemas multi-tenant: Los resultados de búsqueda vectorial incluyen los campos de payload de los puntos coincidentes. Si el payload contiene identificadores de tenant o metadatos que revelan información entre tenants, la base de datos vectorial debe eliminar esos campos de los resultados según el alcance de autorización del llamador. Qdrant soporta filtrado de payload por solicitud, pero el enforcement depende de la aplicación llamadora, no de la base de datos en sí. Para aislamiento multi-tenant real, usa clústeres Qdrant separados por tenant o implementa una capa proxy que aplique reglas de alcance de payload.

Gestión de Secretos para Sistemas de Agentes de IA

La Superficie de Secretos de un Despliegue de Agentes de IA

Un despliegue de agentes de IA tiene una superficie de secretos mayor que una aplicación web típica porque se autentica contra múltiples servicios externos e internos:

Tipo de Secreto Servicio Frecuencia de Rotación
API key de LLM OpenAI, Anthropic, self-hosted 90 días
API key de embeddings OpenAI, Cohere, Voyage 90 días
Credenciales de base de datos vectorial Qdrant, Pinecone, Weaviate 180 días
Certificados mTLS Service mesh, TLS de Qdrant, proxy de ingreso 7-30 días (rotación automática)
Credenciales de base de datos PostgreSQL, Redis 90 días
Tokens de service account Kubernetes, Vault 7 días (rotación automática)

Integración de HashiCorp Vault para Cargas de Trabajo de IA

HashiCorp Vault es el backend de secretos más ampliamente desplegado para infraestructura de IA, y con razón: soporta secretos dinámicos (credenciales de corta duración generadas bajo demanda), rotación automática y registro de auditoría integral. La integración con runtimes de agentes sigue el patrón sidecar:

# Agent startup — request secrets from Vault after Kubernetes auth
from pathlib import Path

from hvac import Client
from hvac.api.auth_methods import Kubernetes

vault = Client(
    url="https://vault.nsi.io:8200",
    verify="/var/run/secrets/kubernetes.io/serviceaccount/ca.crt",
)

jwt = Path(
    "/var/run/secrets/kubernetes.io/serviceaccount/token"
).read_text(encoding="utf-8")

login = Kubernetes(vault.adapter).login(
    role="agent-runtime",
    jwt=jwt,
)
vault.token = login["auth"]["client_token"]

secrets = vault.secrets.kv.v2.read_secret_version(
    path="ai-agent/production/embedding",
    mount_point="secret",
)
openai_key = secrets["data"]["data"]["openai-api-key"]

# Store in memory — never write to disk.
# Prefer Vault Agent sidecar or injector where possible so application
# code does not handle Kubernetes JWTs or Vault token renewal directly.

Patrones de Kubernetes Secrets para Cargas de Trabajo de IA

Cuando Vault no está disponible, Kubernetes Secrets con External Secrets Operator ofrecen una alternativa más simple. El patrón crítico es evitar incrustar secretos en la imagen de aplicación o en ConfigMaps:

# ExternalSecret for OpenAI API key
# The secret data is stored in AWS Secrets Manager, GCP Secret Manager,
# or Azure Key Vault — never in plaintext in the repository.
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: openai-embedding-key
  namespace: ai-agent
spec:
  refreshInterval: 1h
  secretStoreRef:
    name: aws-secret-store
    kind: SecretStore
  target:
    name: openai-embedding-key
  data:
  - secretKey: api-key
    remoteRef:
      key: ai-agent/prod/openai-embedding-key

---
# Pod mounts the ExternalSecret as a volume
apiVersion: v1
kind: Pod
metadata:
  name: agent-runtime
  namespace: ai-agent
spec:
  containers:
  - name: agent
    volumeMounts:
    - name: secrets
      mountPath: /etc/secrets
      readOnly: true
  volumes:
  - name: secrets
    secret:
      secretName: openai-embedding-key

El Patrón de Secretos Sin Disco

Para los despliegues de mayor seguridad, los secretos no deberían escribirse nunca en disco, ni siquiera como archivos montados. El patrón:

En nuestras auditorías de despliegues de IA en producción, el hallazgo crítico más común no es un algoritmo débil ni un firewall mal configurado: es una API key incrustada en una imagen Docker que ha sido desplegada en 47 pods de producción, cada uno de los cuales registra la clave en cada solicitud de embeddings.

Enforcement de Políticas de Red para Cargas de Trabajo de IA

El Modelo de Seguridad de Tres Zonas Revisado

El modelo de segmentación de red de tres zonas (ejecución, inferencia, datos) introducido en nuestro artículo de arquitectura de red proporciona la base estructural para la seguridad. El enforcement se implementa mediante Kubernetes NetworkPolicies:

# Default deny all ingress/egress for the AI agent namespace
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny-ai-agent
  namespace: ai-agent
spec:
  podSelector: {}
  policyTypes:
  - Ingress
  - Egress

---
# Allow execution zone to call inference zone
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-agent-to-llm
  namespace: ai-agent
spec:
  podSelector:
    matchLabels:
      app: agent-runtime
  egress:
  - to:
    - namespaceSelector:
        matchLabels:
          zone: inference
    ports:
    - port: 443  # HTTPS to LLM API endpoint
  policyTypes:
  - Egress

---
# Allow execution zone to call data zone (vector DB)
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-agent-to-vector-db
  namespace: ai-agent
spec:
  podSelector:
    matchLabels:
      app: agent-runtime
  egress:
  - to:
    - namespaceSelector:
        matchLabels:
          zone: data
      podSelector:
        matchLabels:
          app: qdrant
    ports:
    - port: 6334  # gRPC
  policyTypes:
  - Egress

Controles de Egress a Internet

Las cargas de trabajo de agentes de IA tienen una necesidad legítima de egress a internet: las llamadas a APIs de embeddings, las llamadas a APIs de LLM y el acceso a registros de modelos requieren conectividad externa. El desafío de seguridad es garantizar que solo ocurra egress autorizado:

# Egress allowlist for AI API traffic
# Cilium Clusterwide NetworkPolicy
apiVersion: cilium.io/v2
kind: CiliumClusterwideNetworkPolicy
metadata:
  name: ai-egress-allowlist
spec:
  endpointSelector:
    matchLabels:
      egress-role: ai-api
  egress:
  - toFQDNs:
    - matchName: "api.openai.com"
    - matchName: "api.cohere.com"
    - matchName: "api.voyageai.com"
    - matchName: "api.anthropic.com"
    toPorts:
    - ports:
      - port: "443"
        protocol: TCP
  - toEndpoints:
    - matchLabels:
        "k8s:io.kubernetes.pod.namespace": kube-system
        "k8s:k8s-app": kube-dns
    toPorts:
    - ports:
      - port: "53"
        protocol: ANY
      rules:
        dns:
        - matchPattern: "*"
  - toCIDR:
    # Internal Vault service VIP or load balancer only.
    # Replace with your exact Vault address; do not allow all RFC1918 space.
    - 10.32.14.25/32
    toPorts:
    - ports:
      - port: "8200"
        protocol: TCP
  - toCIDR:
    # Kubernetes API endpoint only, if this workload truly needs it.
    - 10.32.0.1/32
    toPorts:
    - ports:
      - port: "6443"
        protocol: TCP

Enforcement de mTLS a Nivel de Red

Cilium e Istio pueden aplicar tráfico autenticado entre servicios por debajo de la capa de aplicación, lo que reduce la posibilidad de que un pod comprometido evite la autenticación de pares conectándose directamente a la IP del servicio objetivo. Valida la semántica exacta en tu mesh: la autenticación mutua de Cilium todavía está documentada como beta, depende de SPIFFE/SPIRE, funciona solo dentro de un clúster gestionado por Cilium, no es compatible con compartir un trust domain mediante Cluster Mesh y no reemplaza la configuración de cifrado ni la autorización de aplicación.

# Cilium mTLS enforcement for the AI agent namespace
# Only pods with valid SPIFFE identities can communicate
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
  name: enforce-mtls-agent
  namespace: ai-agent
spec:
  endpointSelector:
    matchLabels:
      app: agent-runtime
  ingress:
  - fromEndpoints:
    - matchLabels:
        app: api-gateway
    authentication:
      mode: "required"  # Require Cilium mutual authentication

Registro de Auditoría para Acciones de Agentes

Qué Registrar

El registro de auditoría para sistemas de agentes de IA debe capturar la cadena completa de eventos de autenticación y autorización:

# Structured audit log entry for a vector database query
{
  "timestamp": "2026-07-20T08:00:00.123Z",
  "event_type": "vector_search",
  "identity": {
    "spiffe_id": "spiffe://nsi.io/agent/runtime/prod-querier",
    "kubernetes_pod": "agent-runtime-7d8f9c",
    "kubernetes_namespace": "ai-agent"
  },
  "target": {
    "service": "qdrant",
    "collection": "internal-wiki",
    "action": "search"
  },
  "authorization": {
    "result": "permit",
    "policy": "qdrant-collection-rbac-v2",
    "reason": "collection scope matched"
  },
  "network": {
    "source_ip": "10.0.1.42",
    "destination_ip": "10.0.2.15",
    "protocol": "gRPC",
    "mtls_enforced": true
  }
}

Runbooks Operativos para Incidentes de Seguridad de IA

API Key de Embeddings Comprometida

Síntoma: Pico repentino en costos de la API de embeddings, patrones inusuales de embeddings (embedding de texto que no corresponde a documentos) o alertas del proveedor por uso sospechoso de API. Acción inmediata: Rota la clave comprometida en el portal del proveedor y en Vault simultáneamente. Para Vault KV v2, escribe una nueva versión de datos con vault kv patch -mount=secret ai-agent/production/embedding openai-api-key=<new-key> para una actualización parcial, o vault kv put -mount=secret ai-agent/production/embedding openai-api-key=<new-key> ... cuando reemplaces el payload completo del secreto. Después fuerza o espera la reconciliación de External Secrets Operator según su refreshInterval. Investigación de causa raíz: Revisa los logs de auditoría de Vault para identificar qué pod recuperó la clave; luego revisa los logs de red del pod para detectar patrones de exfiltración. Remediación: Implementa rotación de claves con TTL máximo de lease de 24 horas y habilita alertas de uso del proveedor a 2x del gasto diario normal.

Acceso No Autorizado a la Base de Datos Vectorial

Síntoma: Logs de autorización denegada desde Qdrant o Pinecone, o descubrimiento de colecciones desconocidas en la base de datos vectorial. Acción inmediata: Revoca todas las API keys y vuelve a emitirlas con alcances más estrictos. Habilita la configuración audit_log de Qdrant para capturar cada consulta con metadatos de identidad. Causa raíz: Normalmente una NetworkPolicy mal configurada o una credencial filtrada. Revisa si el acceso no autorizado vino desde dentro del clúster (violación de NetworkPolicy) o desde fuera (endpoint expuesto). Remediación: Verifica el enforcement de NetworkPolicy con cilium connectivity test e implementa reglas estrictas de ingreso en todos los puertos de Qdrant.

Fuga de Secretos mediante Logs de Aplicación

Síntoma: API keys que aparecen en sistemas de agregación de logs (ELK, Datadog, Splunk) o alertas de un scanner de secretos (GitGuardian, truffleHog o scanner personalizado basado en regex) sobre archivos exportados de logs. Acción inmediata: Rota la clave filtrada y limpia los logs. Implementa un sanitizador de logs que redacte patrones coincidentes con (sk-[A-Za-z0-9_-]{20,}) para claves estilo OpenAI, patrones específicos por proveedor mantenidos en un scanner central y (eyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}) para tokens JWT. Causa raíz: El código de aplicación registra el objeto completo de solicitud, incluyendo el encabezado Authorization o el parámetro de API key. Remediación: Agrega middleware de sanitización de logs que intercepte todos los mensajes de log y enmascare patrones de secretos conocidos antes de escribirlos.

Preguntas frecuentes

¿Cuál es el mejor patrón de autenticación para la comunicación entre servicios en sistemas de agentes de IA?

Mutual TLS (mTLS) es el patrón de autenticación recomendado para la comunicación entre servicios en infraestructura de agentes de IA. A diferencia de las API keys o los tokens JWT, mTLS autentica durante el handshake TLS antes de que se intercambien datos de aplicación. Un cliente puede completar el handshake TCP de tres vías, pero no debería completar TLS/mTLS ni recibir un canal de aplicación autenticado sin una identidad de cliente válida. En despliegues de Kubernetes, Istio, Linkerd o Cilium con SPIFFE/SPIRE pueden automatizar la emisión y rotación de certificados mediante el plano de control del service mesh sin cambios en el código de aplicación.

¿Cómo deben gestionarse de forma segura las API keys de embeddings en sistemas RAG en producción?

Las API keys de embeddings nunca deben almacenarse en código, archivos de entorno ni imágenes de contenedor. El enfoque recomendado es un sistema dedicado de gestión de secretos, como HashiCorp Vault, AWS Secrets Manager o Kubernetes External Secrets Operator, con rotación automática. La aplicación solicita la clave al iniciar con un TTL de concesión, y el backend de secretos gestiona la rotación de forma transparente. El registro de auditoría debe rastrear cada acceso a la clave, y deben provisionarse API keys separadas para cargas de indexación y consulta para limitar el radio de impacto.

¿Qué modelo RBAC debe usarse para el acceso a bases de datos vectoriales en sistemas RAG multi-tenant?

Para sistemas RAG multi-tenant, implementa RBAC a nivel de colección en la base de datos vectorial. Qdrant soporta claves de solo lectura y API keys de acceso granular con alcance de lectura y escritura por colección, lo que permite separar credenciales de indexación y consulta. El modelo RBAC mínimo viable tiene tres roles: admin para gestión de colecciones, indexer para escritura y lectura en pipelines de ingesta, y querier de solo lectura para agentes orientados a usuario. Cada servicio de agente debe autenticarse con el rol de menor privilegio necesario para su función, y el acceso debe denegarse por defecto.

¿Cómo deben diseñarse las NetworkPolicies de Kubernetes para cargas de trabajo de agentes de IA?

Las NetworkPolicies de Kubernetes para cargas de trabajo de agentes de IA deben seguir un modelo de denegación por defecto con reglas explícitas de allow para cada par de servicios. El modelo de tres zonas, ejecución para runtimes de agentes, inferencia para serving de modelos y datos para bases de datos vectoriales y almacenes de metadatos, proporciona segmentación de red natural. Cada zona tiene reglas de ingreso solo desde las zonas que necesitan llamarla, y ninguna zona tiene egress directo a internet salvo mediante un gateway dedicado con registro de auditoría. Las llamadas a APIs de embeddings deben enrutarse mediante un NAT gateway con su propia política de egress, separado del egress general de la aplicación.

Conclusión

Asegurar infraestructura de agentes de IA requiere el mismo rigor que asegurar cualquier sistema distribuido, con atención adicional a la superficie de amenazas particular de los pipelines de LLM y embeddings. Los controles de seguridad que protegen microservicios tradicionales (mTLS, RBAC, gestión de secretos, políticas de red y registro de auditoría) aplican directamente, pero deben adaptarse a los patrones de carga específicos de IA: llamadas a APIs externas de embeddings, patrones de consulta en bases de datos vectoriales que revelan estructura de colecciones y los distintos radios de impacto de claves robadas de proveedor, workers de embeddings comprometidos y credenciales filtradas de bases de datos vectoriales.

Los cuatro principios que guían la seguridad de infraestructura de IA son: autenticar cada interacción entre servicios en la capa de transporte (mTLS elimina una clase completa de ataques de robo de credenciales), autorizar a nivel de colección (RBAC para bases de datos vectoriales evita acceso entre colecciones incluso dentro del mismo clúster), gestionar secretos con acceso basado en leases (credenciales de corta duración con rotación automática eliminan la ventana de exposición de credenciales) y aplicar segmentación de red a nivel de política (NetworkPolicies de denegación por defecto con gateways de egress dedicados para tráfico de APIs de IA).

Los sistemas de agentes de IA se están convirtiendo en la arquitectura por defecto para workflows de inteligencia en producción. La seguridad debe integrarse en la infraestructura desde el primer día, no añadirse después de una fuga de credenciales o exposición de datos. Los controles descritos en esta guía proporcionan la base para un despliegue de IA seguro a cualquier escala.

En seguridad de agentes de IA, la pregunta nunca es si tu sistema será probado; es si tus capas de autenticación y autorización resistirán cuando ocurra.

¿Endureciendo tu infraestructura de agentes de IA para producción?

Diseñamos y auditamos arquitecturas de seguridad para despliegues de agentes de IA: desde enforcement de mTLS y gestión de secretos hasta políticas de red zero-trust y runbooks de respuesta a incidentes.

CONTACTAR A NSI