Безопасное удовлетворительное хранилище с закрытыми репозиториями композиторов Bitbucket

ситуация

В настоящее время я успешно запускаю репозиторий удовлетворительно в публичном домене (аналогично https://packages.domain.tld/).

Пакеты composer находятся в репозиториях bitbucket. Я сделал эти хранилища публичными, чтобы

  • построить удовлетворительное хранилище
  • composer install|update эти пакеты во всех моих проектах (как локально, так и при развертывании ssh на серверах проектов)

проблема

И хранилище удовлетворительно, и хранилище пакетов git являются общедоступными. Мы не хотим делать наше программное обеспечение доступным для конкурентов и предпочитаем держать его в секрете.

В общем, я пытаюсь выяснить, если это возможно:

  • обеспечить удовлетворительное хранилище
  • создание репозитория удовлетворительного с частными репозиториями пакетов на bitbucket
  • композитор устанавливает пакеты локально
  • и композитор устанавливает пакеты на удаленный сервер с помощью ssh

Шаги, предпринятые до сих пор

Я нашел несколько ресурсов о том, как его обезопасить.

1. OAuth

Я создал потребителя OAuth. При создании удовлетворительного репо он запрашивает ключ и секрет потребителя. Затем он строит удовлетворительное РЕПО.

Когда композитор устанавливает / обновляет зависимости локально, он работает (поскольку ключ и секретный ключ хранятся в кэше композитора). Развертывание на промежуточных или производственных серверах (автоматизировано с помощью capistrano over ssh) завершается ошибкой:

repository access denied. deployment key is not associated with the requested repository.                                                                                                                                                       
  fatal: Could not read from remote repository.      

Следуя этой теме: Satis, Bitbucket и SSH, лучшим решением здесь является создание архивов (.zip) на сервере suc для каждого пакета / версии.

"archive": {
    "directory": "dist",
    "format": "zip",
    "skip-dev": true
  }

После добавления вышеупомянутого к моему satis.json и при создании моего репозитория на сервере suc есть копия каждого репозитория пакетов composer (которые используются установщиком composer вместо оригинальных репозиториев git).

Но все равно тогда мой сервер удовлетворит общедоступным.

2. Настройка удовлетворительно по SSH

В этой теме https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md#security говорится, что я могу защитить сервер suc, разместив его через ssh.

После прочтения, я все еще не знаю, как это сделать. Это не достаточно подробно для моего мозга.

Вопросы

  • Правильно ли я предположить, что если я принимаю удовлетворительно по SSH, я решил свои проблемы?
  • Это лучший подход?
  • Если да и да, как я могу разместить по SSH, есть ли ресурсы, которые могут мне помочь?

0 ответов

Другие вопросы по тегам