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

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

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

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

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

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

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

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

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

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

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

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

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

4. Никога не добавяйте ключа си в хранилището

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

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

Настройване за Windows

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


Вариант 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"]

6. Използвайте услуга за управление на ключове

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

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

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

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

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

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

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

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

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

8. Защитете достъпа до API чрез мрежови контроли

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

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

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

Private Link е друга възможност за организации, които се нуждаят от достъп през частна мрежа. Той позволява на работните натоварвания в Azure да се свързват с регионални крайни точки на OpenAI API чрез Azure Private Link. Свържете се с вашия представител на OpenAI или с екипа по продажбите, за да заявите достъп. Удостоверяването за API остава задължително, а Private Link не е съвместим със списъци с разрешени IP адреси или взаимно TLS удостоверяване (mTLS). За подробности относно настройването вижте ръководството за Private Link.

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