Всегда используйте уникальный API-ключ для каждого участника вашей учетной записи.
API-ключ представляет собой уникальный код для идентификации ваших API-запросов. API-ключ предоставляется для индивидуального использования. Передача API-ключей другим лицам запрещена Условиями использования.
По мере начала работы с API может потребоваться расширение доступа для членов команды. OpenAI не поддерживает совместное использование API-ключей. Пригласите новых участников через страницу «Участники». После входа в систему им будет автоматически выдан собственный уникальный ключ. Также доступна возможность назначения разрешений для отдельных API-ключей.
Никогда не размещайте API-ключ в клиентских средах, таких как браузеры или мобильные приложения.
Размещение API-ключа OpenAI в клиентских средах, таких как браузеры или мобильные приложения, позволяет злоумышленникам получить этот ключ и выполнять запросы от вашего имени, что может привести к непредвиденным расходам или компрометации данных учетной записи. Запросы всегда должны направляться через вашу собственную серверную часть, обеспечивающую безопасное хранение API-ключа.
3. Никогда не добавляйте API-ключ в репозиторий
Хранение API-ключа в исходном коде создаёт высокий риск компрометации учетных данных. Для пользователей с публичными репозиториями это один из самых распространенных способов непреднамеренно раскрыть API-ключ в интернете. Приватные репозитории более безопасны, однако утечка данных также может привести к раскрытию ваших ключей. Поэтому мы настоятельно рекомендуем использовать переменные окружения как превентивную меру безопасности.
4. Используйте переменные окружения вместо API-ключа
Переменная окружения — это переменная, которая задается в операционной системе, а не внутри приложения. Она состоит из имени и значения. Рекомендуется использовать имя OPENAI_API_KEY. Единое имя переменной, используемое всей командой, позволяет коммитить и распространять код без риска компрометации API-ключа.
Настройка Windows
Вариант 1: задайте переменную окружения OPENAI_API_KEY через командную строку (cmd)
Выполните следующую команду в командной строке, заменив <yourkey> на ваш API-ключ:
setx OPENAI_API_KEY "<yourkey>"Эта настройка будет применяться ко всем будущим окнам командной строки, поэтому для использования переменной с curl потребуется открыть новое окно. Вы можете проверить, что переменная задана, открыв новое окно cmd и введя
echo %OPENAI_API_KEY%Вариант 2: задайте переменную окружения OPENAI_API_KEY через Панель управления
Откройте свойства «Система» и выберите «Дополнительные параметры системы»
2. Выберите «Переменные среды...»
3. В разделе пользовательских переменных (вверху) нажмите «Создать…». Добавьте пару «имя/значение», заменив <yourkey> на ваш API-ключ.
Имя переменной: OPENAI_API_KEY
Значение переменной: <yourkey>Настройка Linux / MacOS
Вариант 1: задайте переменную окружения OPENAI_API_KEY через командную строку в zsh
1. Выполните следующую команду в терминале, заменив yourkey на ваш API-ключ.
echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc2. Обновите оболочку, чтобы применить новую переменную:
source ~/.zshrc3. Убедитесь, что переменная окружения установлена, с помощью следующей команды.
echo $OPENAI_API_KEYВ качестве результата будет выведено значение вашего API-ключа.
Вариант 2: задайте переменную окружения OPENAI_API_KEY с помощью bash
Следуйте инструкциям из Варианта 1, заменив .zshrc на .bash_profile.
Готово! Теперь вы можете использовать этот ключ в curl или загрузить его в Python:
import os
import openai
openai.api_key = os.environ["OPENAI_API_KEY"]5. Используйте сервис управления ключами
Существует множество решений для безопасного управления секретными API-ключами. Эти инструменты позволяют контролировать доступ к ключам и повышать общий уровень безопасности данных. Даже при утечке данных в приложении ваши ключи останутся защищенными, так как они зашифрованы и хранятся в отдельном, изолированном хранилище.
Для команд, разворачивающих приложения в среде промышленной эксплуатации, мы рекомендуем рассмотреть использование одного из таких сервисов.
6. Отслеживайте использование учетной записи и при необходимости регулярно обновляйте ключи
Скомпрометированный API-ключ позволяет постороннему лицу получить доступ к доступному лимиту вашей учетной записи без вашего согласия. Это может привести к потере данных, неожиданным расходам, исчерпанию месячного лимита и перебоям в доступе к API.
Мониторинг использования командой осуществляется через страницу «Использование». Если у вас возникнут подозрения в отношении неправомерного использования, вы можете предпринять несколько действий для защиты своей учетной записи:
Проанализируйте показатели использования на предмет их соответствия деятельности команды. Если пользователь состоит в нескольких организациях (например, корпоративной и личной), убедитесь, что для него включено отслеживание и выбрана организация по умолчанию для использования и мониторинга.
Если есть подозрение, что API-ключ был скомпрометирован, сразу же замените его на странице «API-ключи». Для клиентов с приложениями в среде промышленной эксплуатации потребуется соответствующим образом обновить значения ключей.
Для проведения дальнейшего расследования просим связаться с нами через help.openai.com.
7. Ограничьте доступ к API с помощью списка разрешенных IP-адресов
Список разрешённых IP-адресов позволяет ограничить доступ к вашему API OpenAI только для определённых IP-адресов. Если этот параметр включён, разрешаются только запросы с настроенных IP-адресов или диапазонов, а все остальные отклоняются — даже если они содержат действительный API-ключ.
Это обеспечивает дополнительный уровень защиты, гарантируя, что доступ к вашему API возможен только из доверенной инфраструктуры, например, с серверов серверной части или из облачной среды.
Дополнительные сведения см. в статье «Список разрешённых IP-адресов для API OpenAI».
