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. Ажурирајте ја школката со новата променлива:

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.

Дали оваа статија ви беше корисна?