Github: доступ только для чтения к частному репо


139

Я разрабатываю несколько частных проектов на Github, и я хотел бы добавить ночные cronjobs на свои серверы развертывания, чтобы получить последнюю версию с github. В настоящее время я делаю это, генерируя пары ключей на каждом сервере развертывания и добавляя открытый ключ в проект github как «ключ развертывания».

Однако недавно я обнаружил, что эти ключи развертывания действительно имеют доступ для записи в проект. Следовательно, каждый администратор сервера потенциально может начать редактирование. Кроме того, я могу добавить каждый ключ развертывания только в один репозиторий, тогда как я хотел бы иметь возможность развертывать несколько репозиториев на одном и том же сервере развертывания.

Есть ли способ предоставить доступ только для чтения к частным репозиториям выбранным пользователям на Github?


Вы же хотите иметь ограниченный доступ только для чтения, не так ли? Если вам нужен неограниченный доступ только для чтения, вы можете использовать git://протокол вместо ssh://( ssh+git://).
Якуб Наребски

Ответы:


69

У меня есть достоверные сведения, что (относительно новая) функция «Организации» позволяет добавлять людей с доступом только для чтения к частному репозиторию.


27
На самом деле это обходной путь, поскольку вам нужно создать личную учетную запись. Они могли бы спроектировать это лучше, разрешив создание токенов API для каждой организации с правами, таким образом исключив обходной путь для компрометации учетной записи члена команды или создания поддельной личной учетной записи.
николай

29
Жаль, что вам нужно платить 25 долларов в месяц за эту функцию. Для небольшого сайта эти 300 долларов в год могут позволить заплатить за большой объем хостинга в другом месте. Спасибо @Trindaz
Joseph Lust

7
Вот почему BitBucket - не вторая скрипка Github.
treecoder

2
Этот ответ устарел. См. Ответ о ключах развертывания только для чтения.
Hauke

38

Для всех, кто задает этот вопрос, знайте, что в настоящее время вы можете фактически создавать ключи развертывания только для чтения:

https://github.com/blog/2024-read-only-deploy-keys

Вы по-прежнему можете создавать ключи развертывания с доступом для записи, но вам необходимо явно предоставить это разрешение при добавлении ключа.


1

Для организаций: я предлагаю создать новую команду специально для пользователя. Затем эта группа может предоставить доступ только для чтения к указанным вами репозиториям. Надеюсь, это поможет!


0

Я знаю, что вопросы касаются github, но, возможно, некоторым читателям было бы неплохо узнать, что это возможно в gitlab и бесплатно. Проверьте https://gitlab.com/help/user/permissions . Некоторое время я использую github, но не в полной мере. Если бы я знал, то начал бы этот конкретный проект с gitlab.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.