Как безопасно хранить токены в автоматизации тестирования?

«Как безопасно хранить токены в автоматизации тестирования?» — вопрос из категории Автоматизация тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Безопасное хранение токенов критически важно для предотвращения утечек. Основные подходы:

1. Переменные окружения (наиболее безопасно)

import os
# Установка переменной (в системе или через CI/CD)
# export API_TOKEN='your_token'
token = os.getenv('API_TOKEN')

2. Файлы .env (для локальной разработки)

# .env файл (в .gitignore!)
# API_TOKEN=secret_token_here

from dotenv import load_dotenv
load_dotenv()
token = os.getenv('API_TOKEN')

3. Секреты в CI/CD системах

  • GitHub Actions: secrets.API_TOKEN
  • GitLab CI: $API_TOKEN
  • Jenkins: Credentials Binding

4. Для веб-приложений (UI-тесты):

// Только для тестовых сред!
sessionStorage.setItem('token', 'test_token');

Ключевые правила:

  • Никогда не коммитьте токены в репозиторий
  • Используйте разные токены для разных сред
  • Регулярно ротируйте (обновляйте) токены
  • Минимизируйте права токенов (принцип наименьших привилегий)