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

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

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

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

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

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

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

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

3. Никога не записвайте ключа си в хранилището си

Записването на 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“ чрез Control Panel

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

Windows 10 System settings with Advanced system settings highlighted in Control Panel

2. Изберете Environment Variables...

Windows System Properties Advanced tab with Environment Variables button highlighted

3. Изберете 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

2. Обновете shell средата с новата променлива:

source ~/.zshrc

3. Потвърдете, че сте задали променливата на средата си, чрез следната команда.

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.

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

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

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

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

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

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

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

За повече информация вижте статията IP allowlisting for the OpenAI API article.

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