Skip to main content

Секреты в коде

Секреты — это данные, которыми нельзя делиться с посторонними. Например: токены, пароли, API-ключи для интеграций с другими сервисами.

Не храните их в репозиториях. Политика проверит, есть ли секреты:

  • в файлах, которые вы хотите добавить;
  • в истории коммитов — если да, удалите из неё файл.

Храните секреты в переменных CI/CD.

Виды секретов

AWS CLI credential blobs

Файлы:

  • .aws/credentials
  • aws/credentials
  • homefolder/aws/credentials

Private RSA SSH keys

Файлы:

  • /ssh/id_rsa
  • /.ssh/personal_rsa
  • /config/server_rsa
  • id_rsa
  • .id_rsa

Private DSA SSH keys

Файлы:

  • /ssh/id_dsa
  • /.ssh/personal_dsa
  • /config/server_dsa
  • id_dsa
  • .id_dsa

Private ED25519 SSH keys

Файлы:

  • /ssh/id_ecdsa
  • /.ssh/personal_ecdsa
  • /config/server_ecdsa
  • id_ecdsa
  • .id_ecdsa

Private ECDSA_SK SSH keys

Файлы:

  • /ssh/id_ecdsa_sk
  • /.ssh/personal_ecdsa_sk
  • /config/server_ecdsa_sk
  • id_ecdsa_sk
  • .id_ecdsa_sk

Private ED25519_SK SSH keys

Файлы:

  • /ssh/id_ed25519_sk
  • /.ssh/personal_ed25519_sk
  • /config/server_ed25519_sk
  • id_ed25519_sk
  • .id_ed25519_sk

Дополнительно

Файлы с расширением или окончанием:

  • *.pem
  • *.key
  • *.history
  • *_history

Удалить файл из истории коммитов

Выполните команду, где path_to_file — путь к файлу:

git filter-branch --index-filter 'git rm -rf --cached --ignore-unmatch path_to_file' HEAD