Рейтинг оновлено
Як не тримати API-ключі в коді
Усе починається з одного тестового ключа, вставленого у файл «тимчасово». Потім файл потрапляє в коміт, репозиторій стає публічним, і хтось інший накручує рахунок на вашому акаунті. Тримати секрети поза кодом, це звичка, яку налаштовують один раз.
Спершу рутина налаштування, далі менеджери секретів для Mac. Видалення ключа з коду не прибирає його з історії git і в тих, хто вже скопіював. Якщо ключ витік, спершу відкличте його в провайдера й видайте новий, а тоді прибирайте.
Менеджери секретів, що ростуть за візитами й спонсорством на Censuus
Молодший застосунок від незалежного розробника:
CypherKeepApp Storeнативний менеджер секретів для macOS, зроблений для розробників, власників криптовалют і фахівців, які дбають про приватність.- Ваш застосунок тутБезкоштовно, назавждиДодати застосунок
Винесіть секрети з репозиторію
Завантажуйте ключі зі змінних середовища або локального менеджера секретів під час запуску, а в коміт кладіть лише файл-приклад з порожніми значеннями. Порівняйте інструменти в добірці менеджери секретів для Mac.
Стережіть коміт
Додайте .env і файли з ключами в .gitignore ще до першого коміту й запускайте сканер секретів як pre-commit hook. Багато хостингів коду також блокують push, що містить відомі формати ключів.
Обмежте кожен ключ
Створюйте окремі ключі для кожного проєкту й середовища лише з потрібними правами, а акаунти провайдерів захистіть двофакторним входом. Дивіться як налаштувати двофакторну автентифікацію.
Особисті паролі окремо
Менеджер паролів для входів і окремий інструмент для ключів розробки тримають порядок і там, і там. Дивіться як почати користуватися менеджером паролів. Для проєктів застосунків дивіться як зробити прототип застосунку на SwiftUI.
| Крок | Що робите | Навіщо |
|---|---|---|
| 1. Сховище | менеджер секретів або env | ключі живуть поза кодом |
| 2. .gitignore | .env і файли з ключами | ніколи не в коміті |
| 3. Сканування | перед кожним push | ловить промах |
| 4. Мінімум доступу | один ключ, одна задача | менша шкода |
| 5. План на витік | відкликати й замінити | швидко зупинити зловживання |
Часті запитання
Де зберігати API-ключі?
Поза кодом, у змінних середовища або менеджері секретів, звідки застосунок бере їх під час запуску.
Я запушив API-ключ на GitHub. Що робити?
Спершу відкличте ключ у провайдера й створіть новий, а тоді приберіть його з коду та історії.
Чи безпечний файл .env?
Лише якщо він ніколи не потрапляє в коміт. Додайте його в .gitignore і тримайте файл-приклад без справжніх значень.