Ответ
Basic Auth (Базовая аутентификация) — это простой протокол аутентификации HTTP, при котором учетные данные (логин и пароль) передаются клиентом в заголовке каждого запроса в кодировке Base64.
Как это работает:
- Клиент объединяет логин и пароль строкой
username:password. - Эта строка кодируется в Base64.
- Кодированная строка добавляется в HTTP-заголовок:
Authorization: Basic dXNlcjpwYXNzd29yZA==
Пример запроса с curl:
curl -H "Authorization: Basic $(echo -n 'api_user:secret' | base64)" https://api.example.com/resource
# Или проще:
curl -u api_user:secret https://api.example.com/resource
Проблемы с безопасностью и использование в DevOps:
- Уязвимость: Учетные данные передаются в легко декодируемом виде. Обязательно требует использования HTTPS (TLS).
- Нет отзыва сессий: Пароль действует, пока его не сменить.
- Применение: Часто используется для защиты внутренних инструментов (например, веб-интерфейса Prometheus, базовых эндпоинтов в CI/CD), где можно быстро настроить аутентификацию через веб-сервер (nginx, Apache). Для публичных API предпочтительны более безопасные методы: OAuth 2.0, JWT-токены или API-ключи.