OpenAI
Тази страница е машинно преведена. Вижте оригиналната статия на английски език.

Най-добри практики за сигурност на API ключове

Защитете API ключовете си чрез сигурно съхранение, контрол на достъпа, наблюдение, ротация и IP ограничения.

Актуализирано: 2 days ago

1. Винаги използвайте уникален API ключ за всеки член на екипа във вашия акаунт.

API ключът е уникален код, който идентифицира вашите заявки към API. Вашият API ключ е предназначен да се използва от вас. Споделянето на API ключове е в нарушение на Условията за ползване.

Когато започнете да експериментирате, може да поискате да разширите API достъпа до екипа си. OpenAI не поддържа споделяне на API ключове. Моля, поканете нови членове в акаунта си от страницата Members и те бързо ще получат свой собствен уникален ключ при влизане. Можете също да задавате разрешения на отделни API ключове.

2. Никога не внедрявайте ключа си в клиентски среди като браузъри или мобилни приложения.

Разкриването на вашия OpenAI API ключ в клиентски среди като браузъри или мобилни приложения позволява на злонамерени потребители да вземат този ключ и да правят заявки от ваше име – което може да доведе до неочаквани такси или компрометиране на определени данни от акаунта. Заявките трябва винаги да се маршрутизират през вашия собствен backend сървър, където можете да пазите API ключа си защитен.

3. Никога не commit-вайте ключа си във вашето хранилище

Commit-ването на API ключ в изходния код е често срещан вектор за компрометиране на идентификационни данни. За тези с публични хранилища това е често срещан начин несъзнателно да споделите ключа си с интернет. Частните хранилища са по-сигурни, но пробив в данните също може да доведе до изтичане на вашите ключове. Поради тези причини силно препоръчваме използването на променливи на средата като проактивна мярка за безопасност на ключовете.

4. Използвайте променливи на средата вместо своя API ключ

Променливата на средата е променлива, която се задава в операционната система, а не в приложението ви. Тя се състои от име и стойност. Препоръчваме да зададете името на променливата като OPENAI_API_KEY. Като използвате едно и също име на тази променлива в целия екип, можете да записвате и споделяте кода си без риск да разкриете своя API ключ.


Настройване под Windows

Опция 1: Задайте променливата на средата „OPENAI_API_KEY“ чрез командния ред cmd

Изпълнете следното в командния ред cmd, като замените <yourkey> със своя API ключ:

setx OPENAI_API_KEY "<yourkey>"

Това ще се приложи за бъдещите прозорци на командния ред cmd, затова трябва да отворите нов, за да използвате променливата с curl. Можете да проверите дали тази променлива е зададена, като отворите нов прозорец на командния ред cmd и въведете

echo %OPENAI_API_KEY%

Опция 2: Задайте променливата на средата „OPENAI_API_KEY“ чрез контролния панел

  1. Отворете свойствата на Система и изберете Разширени системни настройки

Windows 10 System settings with Advanced system settings highlighted in Control Panel
  1. Изберете Променливи на средата...

Windows System Properties Advanced tab with Environment Variables button highlighted
  1. Изберете Нова... в раздела „Потребителски променливи“ (горе). Добавете двойката име/стойност на ключа, като замените <yourkey> със своя API ключ.

Име на променлива: OPENAI_API_KEY
Стойност на променлива: <yourkey>

Настройване под Linux/macOS

Опция 1: Задайте променливата на средата „OPENAI_API_KEY“ чрез zsh

  1. Изпълнете следната команда в терминала си, като замените yourkey със своя API ключ.

echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc
  1. Актуализирайте shell с новата променлива:

source ~/.zshrc
  1. Потвърдете, че сте задали променливата на средата, като използвате следната команда.

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 ключове. Тези инструменти ви позволяват да контролирате достъпа до ключовете си и да подобрите цялостната си сигурност на данните. В случай на пробив в данните на вашето приложение ключът/ключовете ви няма да бъдат компрометирани, тъй като ще бъдат криптирани и управлявани на напълно отделно място.

За екипи, които внедряват приложенията си в production, препоръчваме да обмислите една от тези услуги.

6. Следете използването на акаунта си и сменяйте ключовете си при необходимост

Компрометиран API ключ позволява на друг човек да получи достъп до квотата на акаунта ви без ваше съгласие. Това може да доведе до загуба на данни, неочаквани такси, изчерпване на месечната ви квота и прекъсване на достъпа ви до API.

Можете да следите използването от екипите си чрез страницата Използване. Ако имате опасения за злоупотреба, можете да предприемете няколко действия, за да защитите акаунта си:

  • Прегледайте използването, за да проверите дали съответства на работата на екипа ви. За потребители, които са част от няколко организации (например служебна и лична), се уверете, че потребителят е активирал проследяването и е задал организацията си по подразбиране за използване и проследяване.

  • Ако смятате, че ключът ви е изтекъл, незабавно го сменете от страницата API ключове. Ако имате приложения в работна среда, ще трябва да актуализирате съответно стойностите на ключовете си.

  • Свържете се с нас чрез help.openai.com за допълнително разследване.

7. Ограничете достъпа до API чрез списък с разрешени IP адреси

Списъкът с разрешени IP адреси ви позволява да ограничите кои IP адреси имат достъп до вашия OpenAI API. Когато е активиран, се допускат само заявки от конфигурирани IP адреси или диапазони, а всички останали се отхвърлят — дори ако включват валиден API ключ.

Това добавя допълнителен слой защита, като гарантира, че вашият API може да бъде достъпен само от доверена инфраструктура, като вашите backend сървъри или облачна среда.

За повече информация вижте статията за списъка с разрешени IP адреси за OpenAI API.

Беше ли Ви полезна тази статия?