Ir a la documentación
DocumentaciónClaves y acceso

Claves de servicio y los agentes que las usan

Guarda una clave del catálogo, de tu propia API HTTP o de una base de datos, elige qué agentes la usan, compruébala y rótala.

En esta página

Qué es una clave

Una clave de servicio es lo que Sallyport guarda para un servicio: una clave API, un token, un inicio de sesión en el proveedor o la contraseña de una base de datos. Sallyport la añade él mismo a cada llamada. Ningún agente, persona ni API puede leerla de vuelta.

Una clave guardada llega a todos los agentes de su espacio de trabajo, también a los que un propietario o administrador cree después. Un cliente de IA que un miembro conecta iniciando sesión empieza sin claves, y un propietario o administrador se las añade en su lista «Acceso». Añadir claves requiere el rol de propietario o de administrador.

Elige el origen

Abre Añadir una clave. «Origen de la clave» tiene seis opciones:

Origen de la claveÚsalo para
CatálogoUn servicio que Sallyport conoce, como GitHub, Stripe o Cloudflare. Su dirección y la forma de enviar la clave ya están definidas.
API propiaCualquier API HTTPS pública que no esté en el catálogo.
MCP remotoUn servidor MCP en internet. Consulta Clientes MCP y servidores remotos.
Host SSHUn servidor en el que tus agentes ejecutan comandos. Consulta Comandos SSH.
Base de datosTu PostgreSQL, MySQL, SQL Server, ClickHouse, MongoDB o Redis en una dirección pública. Los agentes reciben una herramienta para leer y otra para cambiar.
Almacenamiento S3Un bucket de Amazon S3, Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces, Google Cloud Storage o cualquier almacenamiento compatible con S3. Consulta Almacenamiento S3.
Correo electrónicoTu buzón en Gmail, Outlook, Yahoo, iCloud, Fastmail, Zoho o tu propio servidor de correo. Los agentes envían, leen y ordenan su correo. Consulta Correo.

Elige el servicio en «Servicio del catálogo». «Nombre en la consola» se rellena solo, por ejemplo github-live. Si tienes varios espacios de trabajo, elige también el «Espacio de trabajo».

Deja «Producción» en «Entorno». Los agentes creados en la consola son de producción, y un agente de producción solo ve claves de producción.

En «Cómo conectar …», elige una vía. «Iniciar sesión con …» te lleva al proveedor y te trae de vuelta; Sallyport guarda el acceso y lo renueva. «Token de acceso», «Clave API» y las demás vías reciben una clave que pegas.

«Crear la clave en …» abre la página del proveedor para una clave nueva. Un servicio en una dirección propia también pide «Tu dirección en …». Pulsa «Guardar la clave», o el botón de inicio de sesión.

Algunos inicios de sesión necesitan tu propia aplicación en el proveedor. El formulario muestra entonces una «URI de redirección»: regístrala en la aplicación y pega su «Client ID» y su «Client secret».

Servicios que toman el ID de cliente y el secreto de una app

Greenhouse Harvest v3, las apps Server-to-Server de Zoom, las aplicaciones machine-to-machine de Auth0, Bandwidth y la Sinch Conversation API toman el ID de cliente y el secreto de una app que creas en el proveedor. Pega los dos; Sallyport obtiene un token de vida corta en la dirección que indica el proveedor y lo renueva antes de que caduque. Zoom pide además el ID de la cuenta; Greenhouse toma el ID del usuario en cuyo nombre actúa el token, y sin él actúa como el usuario propio de la app.

PlanetScale y Etsy quieren dos partes de una clave en una sola cabecera. Escribe cada parte en su propio campo; Sallyport las une en cada llamada.

Servicios que firman cada petición

Algunos servicios no aceptan la clave en la petición: cada llamada lleva una firma hecha con un secreto o una clave privada. Así funcionan Binance, Bybit, OKX, Kraken, Coinbase, App Store Connect, las GitHub Apps, Snowflake con par de claves, NetSuite y Azure Service Bus. Pega la clave como pide el formulario; Sallyport firma cada llamada en el momento de enviarla y la clave nunca sale.

Cómo conectarQué hace Sallyport en cada llamada
Clave API y secretoAñade la hora y una firma de la petición hecha con el secreto, en la cabecera o el parámetro de consulta que indica el servicio.
Clave privadaFirma con la clave un token de corta duración y lo envía como bearer. Para una GitHub App, ese token compra antes un token de instalación.
Tokens de OAuth 1.0aFirma la petición con los secretos del consumer y del token y envía la cabecera Authorization: OAuth ….

Quien aprueba una llamada aprueba la petición en sí. La hora y la firma se añaden al enviarla, después del sí, así que una aprobación dada minutos antes sigue valiendo. El agente no las envía; si envía las suyas, Sallyport las descarta.

Conecta tu propia API HTTP

Elige «API propia» e introduce la «URL HTTPS del servicio», por ejemplo https://api.example.com:8443/v1. Añade el puerto si no es el 443. No incluyas usuario, parámetros de consulta ni fragmento.

La ruta limita la clave: con /v1, las llamadas solo llegan a /v1 y a las rutas que cuelgan de ella. Elige la «Autenticación», introduce la clave y pulsa «Guardar clave y conectar».

AutenticaciónQué añade Sallyport a cada llamada
Token BearerAuthorization: Bearer …
BasicEl usuario y la contraseña como Authorization: Basic ….
Clave APILa clave en una «Cabecera de la solicitud» (X-API-Key, Authorization: token … o cabeceras con el nombre que elijas), un «Parámetro de consulta», un campo del «Cuerpo JSON de la solicitud» o la «Ruta de la URL».
DigestEl usuario y la contraseña responden al desafío Digest del servicio. La contraseña nunca viaja por la red.
Endpoint de inicio de sesiónUn token de sesión. Sallyport envía el usuario y la contraseña a la «URL de inicio de sesión», lee el token de la respuesta JSON, de una cabecera de respuesta o de una cookie y lo envía en la cabecera que indiques. Vuelve a iniciar sesión cuando la sesión termina.
Certificado de clienteNada en una cabecera: Sallyport presenta el «Certificado» y la «Clave privada», en PEM, durante el handshake TLS.
OAuth: inicio de sesiónUn token obtenido al iniciar sesión en el proveedor. Introduces su «URL de autorización», su «URL del token», los «Permisos» y el ID y el secreto de tu aplicación. Registra https://mcp.sallyport.cloud/callback/upstream como URI de redirección de esa aplicación.
Cuenta de servicio de GoogleUn token de Google que Sallyport genera con el «JSON de la cuenta de servicio» que pegas, para los «Permisos» que indiques.
OAuth: client credentialsUn token que Sallyport obtiene para tu aplicación en su «URL del token» y renueva antes de que caduque. La URL del token puede estar en otro host que la API, como login.microsoftonline.com en Azure.
AWS Signature V4Una firma en cada solicitud, hecha con tu «ID de la clave de acceso» y tu «Clave de acceso secreta» para la «Región» y el «Servicio de firma» que indiques. Para buckets S3, el origen «Almacenamiento S3» lo hace por ti.
Firma HMACUna firma en cada solicitud, hecha con tu «Secreto de firma» según la «Plantilla de firma» que pegas de la documentación del servicio: el algoritmo, qué se firma y dónde va la firma. Una «Clave de API (opcional)» viaja al lado en la «Cabecera de la clave de API».
JWT firmadoUn JWT de vida corta que Sallyport firma con tu «Clave privada» según la «Plantilla JWT»: el algoritmo, los claims, la duración y un intercambio cuando el servicio cambia el JWT por un token.
OAuth 1.0aUna firma en cada solicitud con tu «Consumer key», «Consumer secret», «ID del token» y «Secreto del token», con el «Método de firma» que eliges y un «Realm (opcional)», como el ID de cuenta de NetSuite.

«Cómo se envía la clave» muestra lo que sale en cada llamada. «Opciones avanzadas de conexión» añade cabeceras y parámetros de consulta a cada llamada. Son ajustes, así que no pongas claves ahí.

Un servicio que pide un certificado de cliente además de la clave lo recibe en «Añadir un certificado de cliente», sellado con la clave. Algunos servicios, como un servidor de API de Kubernetes, usan un certificado que no firmó ninguna autoridad pública. Pega su CA en «Certificados de CA de confianza» dentro de «Opciones avanzadas de conexión». Solo esa conexión confía en ella, y sigue llegando solo a direcciones públicas.

«Qué son las llamadas» distingue una lectura de un cambio. «REST» se guía por el método. «GraphQL» trata una query como lectura y una mutation como cambio. «JSON-RPC» trata como lecturas los «Métodos de lectura» que indicas y cualquier otro método como cambio. «SQL en el cuerpo» lee la consulta en «Dónde está la consulta», por ejemplo /statement en Snowflake: un SELECT es una lectura, y DROP o un DELETE sin WHERE es destructivo.

Elige qué agentes usan una clave

La página de la clave muestra «Agentes que pueden usar esta clave». «Eliminar» quita la clave a un agente.

Para devolvérsela, abre el agente en Agentes y ve a «Acceso». «Añadir conexión» añade una clave, y «Añadir todas» añade todas las claves del espacio de trabajo.

Cada fila tiene «Preguntar en cada llamada» y una regla para «Lectura», «Escritura» y «Destructiva»: «Automático», «Requiere aprobación» o «Denegado». Las filas nuevas ejecutan cada llamada sin preguntar. Consulta Aprobaciones.

Comprueba que una clave funciona

Si el servicio tiene una comprobación, Sallyport la ejecuta al guardar la clave. Para GitHub es GET /user. El resultado está en «A dónde va esta clave», en la página de la clave, y «Volver a comprobar» la repite.

Rota una clave

Crea primero una clave nueva en el proveedor. En la página de la clave, pulsa «Rotar clave», introduce el valor nuevo y pulsa «Guardar la clave nueva».

La versión nueva funciona al instante, y Sallyport la comprueba. La versión anterior sigue funcionando 24 horas para que terminen las llamadas en curso.

Después revoca la clave anterior en el proveedor; «Revócala en …» abre la página. Pulsa «Ya la revoqué» para dejarlo registrado. Para renombrar una clave, pulsa su nombre arriba en su página. «Eliminar clave», abajo, quita la clave y sus conexiones; el diálogo nombra antes los agentes que las pierden.