# Ключи доступа и безопасность

Курс: Claude Code и терминал: с 0 — https://zero2claude.ru/learn/code-terminal
Канонический URL: https://zero2claude.ru/learn/code-terminal/11-8-klyuchi-bezopasnost

Ключ доступа к API — это пароль: он подтверждает, что запрос от тебя. Его нельзя выкладывать в открытый код или коммитить в Git.

Ты научился отправлять запрос и читать ответ. Но если попробовать обратиться к настоящему [API](/learn/api), может прийти отказ: «кто ты такой?». Дело в том, что многие сервисы пускают к своим данным не всех подряд. Им нужен **ключ доступа**.

## Ключ — это как пароль

**Ключ доступа** (по-английски *API key*) — это секретная строка из букв и цифр. Она работает как пароль: когда ты отправляешь запрос вместе с ключом, сервис понимает, что запрос пришёл именно от тебя.

Зачем это нужно? Чтобы сервис мог отличать пользователей друг от друга, считать, кто сколько запросов сделал, и не пускать чужих. Без ключа многие API просто не ответят.

## Ключ нельзя выставлять напоказ

А вот тут — самое важное правило. Ключ доступа **нельзя выкладывать в открытый код и нельзя коммитить в Git**. Представь, что ты записал пароль от квартиры прямо на двери снаружи — любой прохожий зайдёт. С ключом то же самое: если он попадёт в публичный репозиторий, кто угодно сможет действовать от твоего имени.

Случайно закоммитить ключ в Git — частая и неприятная ошибка. Чуть позже, на уровне 15 про безопасность, мы разберём это подробнее. А пока запомни главное: ключ в Git попадать не должен.

## Где хранить ключи

Раз в коде ключам не место, где же их держать? Их хранят в **переменных окружения** — это такие секретные настройки, которые лежат рядом с программой, но *вне* самого кода. Программа берёт ключ оттуда, когда он нужен, а в Git попадает только код — без секрета.

Получается удобно: код можно спокойно показывать и выкладывать, а ключ остаётся при тебе.

## Попробуй

Задания в терминале нет. Запомни три вещи: ключ — это как пароль; его нельзя публиковать и коммитить; хранят его в переменных окружения. В следующем уроке мы соберём всё вместе и получим данные из настоящего API.
