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

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

Актуализирано: 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. Като поддържате това име на променлива еднакво в целия си екип, можете да commit-вате и споделяте кода си без риск да разкриете API ключа си.


Настройка за Windows

Вариант 1: Задайте променливата на средата „OPENAI_API_KEY“ чрез cmd prompt

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

setx OPENAI_API_KEY "<yourkey>"

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

echo %OPENAI_API_KEY%

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

  1. Отворете свойствата на System и изберете Advanced system settings

Windows 10 System settings with Advanced system settings highlighted in Control Panel
  1. Изберете Environment Variables...

Windows System Properties Advanced tab with Environment Variables button highlighted
  1. Изберете New… от секцията User variables (горе). Добавете двойката име/стойност за вашия ключ, като замените <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.

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

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

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

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

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

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

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

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

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