Перейти к документации
ДокументацияКлючи и доступ

Ключи сервисов и агенты, которые ими пользуются

Сохраните ключ из каталога, своего HTTP API или базы данных, выберите агентов, проверьте ключ и замените его.

На этой странице

Что такое ключ сервиса

Ключ сервиса Sallyport хранит для одного сервиса: ключ API, токен, вход через поставщика или пароль базы данных. Sallyport сам подставляет его в каждый вызов. Прочитать ключ обратно не может ни агент, ни человек, ни API.

Сохранённый ключ получают все агенты его рабочего пространства, в том числе агенты, которых владелец или администратор создаст позже. ИИ-клиент, который участник подключил через вход, начинает без ключей, их добавляет владелец или администратор в списке «Доступ». Добавлять ключи могут владелец и администраторы.

Выберите источник

Откройте Добавить ключ сервиса. В блоке «Источник ключа» шесть вариантов:

Источник ключаДля чего
КаталогСервис, который Sallyport уже знает: GitHub, Stripe, Cloudflare и другие. Адрес и способ передачи ключа уже заданы.
Свой APIЛюбой публичный HTTPS API, которого нет в каталоге.
Удалённый MCPMCP-сервер в интернете. См. MCP-клиенты и удалённые серверы.
Хост SSHСервер, на котором агенты выполняют команды. См. Команды SSH.
База данныхВаша PostgreSQL, MySQL, SQL Server, ClickHouse, MongoDB или Redis на публичном адресе. Агенты получают один инструмент для чтения и один для изменений.
Хранилище S3Бакет Amazon S3, Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces, Google Cloud Storage или любого S3-совместимого хранилища. См. Хранилище S3.
Электронная почтаВаш ящик в Gmail, Outlook, Yahoo, iCloud, Fastmail, Zoho или на своём почтовом сервере. Агенты отправляют, читают и разбирают почту. См. Почта.

Добавьте сервис из каталога

Выберите сервис в поле «Сервис из каталога». «Название в консоли» заполнится само, например github-live. Если рабочих пространств несколько, выберите и «Рабочее пространство».

В блоке «Среда» оставьте «Рабочая». Агенты, созданные в консоли, работают в рабочей среде и видят только её ключи.

В разделе «Как подключить …» выберите способ. «Войти через …» ведёт к поставщику и обратно, а Sallyport хранит полученный доступ и продлевает его. «Токен доступа», «Ключ API» и другие способы принимают ключ, который вы вставляете.

Кнопка «Создать ключ в …» открывает страницу поставщика, где выпускают ключ. Сервис на вашем собственном адресе спросит ещё «Ваш адрес в …». Нажмите «Сохранить ключ» или кнопку входа.

Для некоторых входов нужно своё приложение у поставщика. Тогда форма покажет «Адрес возврата»: зарегистрируйте его в приложении и вставьте «ID клиента» и «Секрет приложения».

Сервисы, которые берут ID и секрет приложения

Greenhouse Harvest v3, серверные приложения Zoom (Server-to-Server), приложения Auth0 machine-to-machine, Bandwidth и Sinch Conversation API берут ID и секрет приложения, которое вы создаёте у поставщика. Вставьте оба; Sallyport получает короткоживущий токен по адресу, который назвал поставщик, и обновляет его до истечения. Zoom ещё просит ID аккаунта; Greenhouse берёт ID пользователя, от имени которого действует токен, а без него действует от пользователя самого приложения.

PlanetScale и Etsy ждут две части ключа в одном заголовке. Введите каждую часть в своё поле; Sallyport соединяет их при каждом вызове.

Сервисы, которые подписывают каждый запрос

Некоторые сервисы не принимают ключ в запросе: каждый вызов несёт подпись, сделанную секретом или закрытым ключом. Так работают Binance, Bybit, OKX, Kraken, Coinbase, App Store Connect, GitHub Apps, Snowflake с парой ключей, NetSuite и Azure Service Bus. Вставьте ключ так, как просит форма; Sallyport подписывает каждый вызов в момент отправки, а сам ключ никуда не уходит.

Как подключитьЧто Sallyport делает при каждом вызове
Ключ API и секретДобавляет время и подпись запроса, сделанную секретом, в заголовок или параметр запроса, который называет сервис.
Закрытый ключПодписывает ключом короткоживущий токен и отправляет его как bearer. Для GitHub App этот токен сначала обменивается на токен установки.
Токены OAuth 1.0aПодписывает запрос секретами consumer и токена и отправляет заголовок Authorization: OAuth ….

Человек, который одобряет вызов, одобряет сам запрос. Время и подпись добавляются при отправке, после «да», поэтому одобрение, данное несколько минут назад, по-прежнему подходит. Агент их не передаёт; если передаст свои, Sallyport их отбросит.

Подключите свой HTTP API

Выберите «Свой API» и укажите «HTTPS-адрес сервиса», например https://api.example.com:8443/v1. Если порт не 443, добавьте его. Логин, параметры запроса и фрагмент в адрес не включайте.

Путь ограничивает ключ: с /v1 вызовы идут только в /v1 и глубже. Выберите «Авторизация», введите ключ и нажмите «Сохранить ключ и создать подключение».

АвторизацияЧто Sallyport добавит к каждому вызову
Bearer-токенAuthorization: Bearer …
BasicИмя пользователя и пароль в виде Authorization: Basic ….
Ключ APIКлюч в заголовке («Заголовок запроса»: X-API-Key, Authorization: token … или свои заголовки), в «Параметр URL», в поле тела («JSON-тело запроса») или в «Путь URL».
DigestИмя пользователя и пароль отвечают на Digest-запрос сервиса. Пароль по сети не передаётся.
Адрес входаТокен сессии. Sallyport отправляет имя пользователя и пароль на «Адрес входа (URL)», берёт токен из ответа JSON, заголовка ответа или cookie и передаёт его в указанном вами заголовке. Когда сессия заканчивается, Sallyport входит заново.
Клиентский сертификатВ заголовках ничего: Sallyport предъявляет «Сертификат» и «Закрытый ключ» в формате PEM при TLS-рукопожатии.
OAuth: входТокен, полученный при входе у поставщика. Вы указываете «Адрес авторизации», «Адрес токена», «Права доступа», а также ID и секрет своего приложения. В приложении укажите адрес возврата https://mcp.sallyport.cloud/callback/upstream.
Сервисный аккаунт GoogleТокен Google, который Sallyport выпускает по вставленному «JSON сервисного аккаунта» для прав из поля «Права доступа».
OAuth: client credentialsТокен, который Sallyport получает для вашего приложения по «Адресу токена» и обновляет до истечения. Адрес токена может быть на другом хосте, чем API, например login.microsoftonline.com для Azure.
AWS Signature V4Подпись каждого запроса вашими «Идентификатором ключа доступа» и «Секретным ключом доступа» для указанных «Региона» и «Сервиса подписи». Для бакетов S3 это делает источник «Хранилище S3».
Подпись HMACПодпись каждого запроса вашим «Секретом подписи» по «Шаблону подписи» из документации сервиса: алгоритм, что подписывается и куда идёт подпись. «Ключ API (необязательно)» отправляется рядом, в «Заголовке ключа API».
Подписанный JWTКороткоживущий JWT, который Sallyport подписывает вашим «Закрытым ключом» по «Шаблону JWT»: алгоритм, claims, срок жизни и обмен, если сервис меняет JWT на токен.
OAuth 1.0aПодпись каждого запроса из ваших «Consumer key», «Consumer secret», «ID токена» и «Секрета токена» выбранным «Методом подписи», с «Realm (необязательно)», например ID аккаунта NetSuite.

Блок «Как будет передан ключ» показывает, что уйдёт в запросе. В «Дополнительные параметры подключения» задаются заголовки и параметры запроса для каждого вызова. Это настройки, поэтому ключи туда не кладите.

Если сервису кроме ключа нужен клиентский сертификат, добавьте его в «Добавить клиентский сертификат»: он хранится вместе с ключом. Некоторые сервисы, например API-сервер Kubernetes, используют сертификат, не подписанный публичным центром. Вставьте их УЦ в «Доверенные сертификаты УЦ» в разделе «Дополнительные параметры подключения». Ему доверяет только это подключение, и оно по-прежнему обращается только к публичным адресам.

Блок «Что это за вызовы» отличает чтение от изменения. «REST» судит по методу. «GraphQL» считает query чтением, а mutation изменением. «JSON-RPC» считает чтением «Методы-чтения» из вашего списка, а любой другой метод изменением. «SQL в теле запроса» читает запрос по пути из поля «Где лежит запрос», например /statement у Snowflake. Один SELECT считается чтением, а DROP или DELETE без WHERE необратимы.

Выберите, какие агенты пользуются ключом

На странице ключа есть список «Агенты, которым доступен ключ». Кнопка «Удалить» забирает ключ у одного агента.

Чтобы вернуть ключ, откройте агента в разделе Агенты и перейдите к списку «Доступ». «Добавить подключение» добавляет один ключ, а «Добавить все» добавляет все ключи рабочего пространства.

В каждой строке есть «Спрашивать каждый раз» и правило для столбцов «Чтение», «Изменение» и «Необратимое»: «Автоматически», «Нужно подтверждение» или «Запрещено». Новые строки выполняют каждый вызов без вопросов. Подробнее на странице Подтверждения.

Проверьте, что ключ работает

Если у сервиса есть проверка, Sallyport выполняет её при сохранении ключа. Для GitHub это GET /user. Результат виден в блоке «Куда ведёт ключ» на странице ключа, а «Проверить снова» повторяет проверку.

Замените ключ

Сначала выпустите новый ключ у поставщика. На странице ключа нажмите «Заменить ключ сервиса», введите новое значение и нажмите «Сохранить новый ключ».

Новая версия начинает работать сразу, и Sallyport её проверяет. Старая версия работает ещё 24 часа, чтобы начатые вызовы успели завершиться.

Затем отзовите старый ключ у поставщика: кнопка «Отозвать ключ в …» откроет нужную страницу. Нажмите «Я его отозвал», чтобы отметить это. Чтобы переименовать ключ, нажмите на его название вверху страницы. «Удалить ключ» внизу убирает ключ вместе с его подключениями; окно сначала называет агентов, которые их потеряют.