Пакет может наследовать свои разрешения на видимость и доступ от репозитория, или для реестров, поддерживающих детализированные разрешения, можно задать видимость и разрешения пакета отдельно от репозитория.
Список реестров, поддерживающих детализированные разрешения, а также дополнительные сведения о разрешениях для пакетов, областях, связанных с пакетами для PAT, или управлении разрешениями для рабочих процессов GitHub Actions см. в разделе Сведения о разрешениях для пакетов GitHub.
Сведения о наследовании разрешений доступа
В реестрах, поддерживающих детализированные разрешения, пакеты относятся к личной учетной записи или организации. В этих реестрах можно опубликовать пакет без привязки пакета к репозиторию, а затем определить, кто может получить доступ к пакету, задав разрешения на доступ и видимость в параметрах пакета.
По умолчанию при публикации пакета, связанного с репозиторием, пакет автоматически наследует разрешения доступа (но не видимость) связанного репозитория. Например, пользователь, имеющий доступ на чтение к связанному репозиторию, также будет иметь доступ на чтение к пакету. Если пакет автоматически наследует разрешения на доступ, рабочие процессы GitHub Actions в связанном репозитории также автоматически получают доступ к пакету.
Пакет автоматически наследует разрешения доступа связанного репозитория, только если вы связываете репозиторий с пакетом перед публикацией пакета, например путем добавления org.opencontainers.image.source
метки Docker в образ контейнера. При подключении опубликованного пакета к репозиторию со страницы параметров пакета пакет сохранит существующие разрешения на доступ и не наследует разрешения на доступ репозитория, если этот параметр не выбран явным образом. Кроме того, организации могут отключить автоматическое наследование разрешений на доступ для всех новых пакетов, соответствующих их организации. Дополнительные сведения см. в разделе Отключение автоматического наследования разрешений доступа в организации ниже.
Если пакет наследует разрешения из репозитория, для предоставления или удаления доступа к пакету необходимо настроить параметры разрешений связанного репозитория. Если вы хотите задать параметры доступа к пакету отдельно от репозитория, связанного с пакетом, необходимо удалить унаследованные разрешения из пакета. Дополнительные сведения см. в разделе Выбор того, наследует ли пакет разрешения из репозитория ниже.
При публикации пакета в реестре, который поддерживает только разрешения на уровне репозитория, пакет всегда связан с репозиторием и всегда наследует разрешения связанного репозитория.
Сведения о настройке видимости и разрешений доступа для пакетов
Если пакет принадлежит к реестру, который поддерживает детализированные разрешения, любой пользователь, обладающий разрешениями администратора для пакета, может установить для пакета частный или общедоступный. Общедоступные пакеты обеспечивают анонимный доступ и могут быть извлечены без проверки подлинности или входа через CLI. Список реестров, поддерживающих детализированные разрешения, см. в разделе Сведения о разрешениях для пакетов GitHub.
Любой пользователь с разрешениями администратора для пакета также может предоставить разрешения на доступ к пакету, которые отличаются от разрешений, заданных на уровне организации и репозитория.
Примечание: При публикации пакета, связанного с репозиторием, пакет по умолчанию наследует свои разрешения от связанного репозитория. Чтобы получить доступ к параметрам детализированных разрешений пакета, необходимо удалить унаследованные разрешения пакета. Если вы являетесь владельцем организации, вы можете отключить автоматическое наследование разрешений для всех новых пакетов, соответствующих вашей организации. Дополнительные сведения см. в разделах Выбор того, наследует ли пакет разрешения из репозитория и Отключение автоматического наследования разрешений доступа в организации.
При публикации пакета вы автоматически получаете разрешения администратора для пакета. Если вы публикуете пакет в организации, любой пользователь с ролью owner
в организации также получает разрешения администратора для пакета.
Для пакетов, ограниченных личной учетной записью, вы можете предоставить любому пользователю роль доступа. Для пакетов, ограниченных организацией, вы можете предоставить любому пользователю или команде в организации роль доступа.
Если вы используете рабочий процесс GitHub Actions для управления пакетами, вы можете предоставить роль доступа репозиторию, который хранится в с помощью кнопки "Добавить репозиторий " в разделе "Управление доступом к действиям" в параметрах пакета. Дополнительные сведения см. в разделе Настройка управления доступом и видимости пакета.
Разрешение | Описание доступа |
---|---|
Чтение | Может скачивать пакет. Может считывать метаданные пакета. |
запись | Может отправлять и скачивать этот пакет. Может считывать и записывать метаданные пакета. |
Административный | Может отправлять, скачивать и управлять этим пакетом. Может считывать и записывать метаданные пакета. Может удалять и восстанавливать пакеты. |
Примечание: Возможность для рабочих процессов GitHub Actions удалять и восстанавливать пакеты с помощью REST API в настоящее время находится в общедоступной бета-версии и может быть изменена.
Настройка доступа к пакетам для личной учетной записи
Если у вас есть разрешения администратора для пакета, ограниченного личной учетной записью, вы можете назначить роли чтения, записи или администратора другим пользователям. Дополнительные сведения об этих ролях разрешений см. в разделе "Разрешения на видимость и доступ для пакетов".
Если ваш пакет является частным или внутренним и ограничен организацией, вы можете предоставить доступ только другим участникам организации или командам.
- Найдите и щелкните имя пакета, которым требуется управлять.
- На целевой странице пакета справа щелкните Параметры пакета.
1. В разделе "Управление доступом" или "Унаследованный доступ" щелкните Пригласить команды или людей и введите имя, имя пользователя или адрес электронной почты пользователя, которому вы хотите предоставить доступ. Teams нельзя предоставить доступ к пакету, который ограничен личной учетной записью. - В раскрывающемся меню Роль рядом с именем пользователя или команды выберите нужный уровень разрешений.
Выбранные пользователи автоматически получают доступ, и им не нужно сначала принимать приглашение.
Настройка доступа к пакетам для организации
Если у вас есть разрешения администратора для пакета, ограниченного областью действия организации, вы можете назначить роли чтения, записи или администратора другим пользователям и командам. Дополнительные сведения об этих ролях разрешений см. в разделе "Разрешения на видимость и доступ для пакетов".
Если ваш пакет является частным или внутренним и ограничен организацией, вы можете предоставить доступ только другим участникам организации или командам.
- В GitHub перейдите на главную страницу вашей организации.
- Под названием организации щелкните вкладку Пакеты .
1. Найдите и щелкните имя пакета, которым требуется управлять. - На целевой странице пакета справа щелкните Параметры пакета.
1. В разделе "Управление доступом" или "Унаследованный доступ" щелкните Пригласить команды или людей и введите имя, имя пользователя или адрес электронной почты пользователя, которому вы хотите предоставить доступ. Вы также можете ввести имя команды из организации, чтобы предоставить всем участникам команды доступ. - В раскрывающемся меню Роль рядом с именем пользователя или команды выберите нужный уровень разрешений.
Выбранные пользователи или команды автоматически получают доступ, и им не нужно сначала принимать приглашение.
Выбор того, наследует ли пакет разрешения от репозитория
По умолчанию при публикации пакета, связанного с репозиторием, пакет наследует разрешения доступа связанного репозитория. Рекомендуется разрешить пакетам наследовать разрешения из репозитория, так как это упрощает процесс управления доступом к пакету.
Если пакет наследует разрешения от репозитория, для предоставления или удаления доступа к пакету необходимо настроить разрешения связанного репозитория.
Если вы хотите настроить параметры доступа к пакету на детальном уровне, отдельно от связанного репозитория, необходимо удалить унаследованные разрешения из пакета.
Примечание: Если изменить способ получения пакетом разрешений на доступ, все существующие разрешения для пакета будут перезаписаны.
Выбор параметра наследования для пакетов с областью действия вашей личной учетной записи
-
В GitHub перейдите на главную страницу личной учетной записи.
-
В правом верхнем углу GitHub.com щелкните фотографию профиля, а затем щелкните Ваш профиль.
-
На странице профиля в заголовке щелкните вкладку Пакеты . 1. Найдите и щелкните имя пакета, которым требуется управлять.
-
На целевой странице пакета справа щелкните Параметры пакета.
1. Чтобы выбрать, наследует ли пакет разрешения на доступ из связанного репозитория, в разделе "Управление доступом" или "Наследуемый доступ" выберите или снимите флажок Наследовать доступ из репозитория (рекомендуется).Примечание: Имя этого раздела изменяется в зависимости от того, наследует ли пакет свои разрешения от репозитория.
Выбор параметра наследования для пакетов, ограниченных организацией
Совет: Если вы являетесь владельцем организации, вы можете запретить автоматически наследовать разрешения из связанного репозитория всем новым пакетам, связанным с вашей организацией. Дополнительные сведения см. в разделе Отключение автоматического наследования разрешений доступа в организации ниже.
-
В GitHub перейдите на главную страницу вашей организации.
-
Под названием организации щелкните вкладку Пакеты .
1. Найдите и щелкните имя пакета, которым требуется управлять. -
На целевой странице пакета справа щелкните Параметры пакета.
1. Чтобы выбрать, наследует ли пакет разрешения на доступ из связанного репозитория, в разделе "Управление доступом" или "Наследуемый доступ" выберите или снимите флажок Наследовать доступ из репозитория (рекомендуется).Примечание: Имя этого раздела изменяется в зависимости от того, наследует ли пакет свои разрешения от репозитория.
Отключение автоматического наследования разрешений доступа в организации
По умолчанию при публикации пакета, связанного с репозиторием, пакет автоматически наследует разрешения на доступ связанного репозитория. Как владелец организации вы можете отключить автоматическое наследование для всех пакетов, в пределах вашей организации.
Если отключить автоматическое наследование разрешений доступа, новые пакеты, доступные для вашей организации, не будут автоматически наследовать разрешения связанного репозитория. Однако любой пользователь с разрешениями администратора для пакета в вашей организации сможет включить или отключить наследование разрешений для этого пакета.
-
В правом верхнем углу GitHub.com щелкните фотографию профиля, а затем щелкните Ваши организации.
2. Рядом с организацией щелкните Параметры. -
На боковой панели в разделе "Код, планирование и автоматизация" щелкните Пакеты.
-
В разделе "Параметры пакета по умолчанию" снимите флажок Наследовать доступ из исходного репозитория.
-
Выберите команду Сохранить.
Обеспечение доступа рабочего процесса к пакету
Для пакетов, ограниченных личной учетной записью или организацией, чтобы рабочий процесс GitHub Actions получил доступ к пакету, необходимо предоставить явный доступ к репозиторию, в котором хранится рабочий процесс.
Указанный репозиторий не обязательно должен быть репозиторием, в котором хранится исходный код пакета. Вы можете предоставить нескольким репозиториям доступ рабочего процесса к пакету.
При публикации пакета, связанного с репозиторием, рабочие процессы GitHub Actions в связанном репозитории автоматически получают доступ к пакету, если только ваша организация не отключила автоматическое наследование разрешений на доступ. Дополнительные сведения см. в разделе Сведения о наследовании разрешений доступа и видимости выше.
Примечание: Синхронизация пакета с репозиторием с помощью кнопки "Добавить репозиторий " в разделе "Управление доступом к действиям" в параметрах пакета отличается от подключения пакета к репозиторию. Дополнительные сведения о связывании репозитория с пакетом см. в разделе Подключение репозитория к пакету.
Доступ к GitHub Actions для пакетов, ограниченных личными учетными записями
- Найдите и щелкните имя пакета, которым требуется управлять.
- На целевой странице пакета справа щелкните Параметры пакета.
- Чтобы обеспечить рабочий процесс доступ к пакету, необходимо добавить репозиторий, в котором хранится рабочий процесс. В разделе "Управление доступом к действиям" cщелкните Добавить репозиторий и найдите нужный репозиторий.
1. Используйте В раскрывающемся меню Роль выберите уровень доступа по умолчанию, который должен иметь репозиторий к пакету.
Дополнительные сведения о настройке доступа к пакету см. в разделе Настройка доступа к пакетам для личной учетной записи.
Доступ к GitHub Actions для пакетов, ограниченных организациями
- В GitHub перейдите на главную страницу вашей организации.
- Под названием организации щелкните вкладку Пакеты .
1. Найдите и щелкните имя пакета, которым требуется управлять. - На целевой странице пакета справа щелкните Параметры пакета.
- В разделе "Управление доступом к действиям" cщелкните Добавить репозиторий и найдите нужный репозиторий.
1. Используйте В раскрывающемся меню Роль выберите уровень доступа по умолчанию, который должен иметь репозиторий к пакету.
Дополнительные сведения о настройке доступа к пакету см. в разделе Настройка доступа к пакетам для организации.
Обеспечение доступа GitHub Codespaces к пакету
По умолчанию codespace может легко получать доступ к определенным пакетам в реестрах, которые поддерживают детализированные разрешения, например к пакетам, опубликованным в том же репозитории с выбранным параметром "Наследовать доступ ". Список реестров GitHub Packages, которые поддерживают детализированные разрешения и простой доступ к GitHub Codespaces, см. в разделе Сведения о разрешениях для пакетов GitHub.
В противном случае, чтобы обеспечить codespace доступ к пакету, необходимо предоставить доступ репозиторию, в котором запускается codespace.
Указанный репозиторий не обязательно должен быть репозиторием, в котором хранится исходный код пакета. Вы можете предоставлять доступ к пакету кодовым пространствам codespace в нескольких репозиториях.
Выбрав пакет, к которому вы хотите предоставить общий доступ кодовым пространствам codespace в репозитории, вы можете предоставить доступ этому репозиторию.
-
Найдите и щелкните имя пакета, которым требуется управлять.
-
На целевой странице пакета справа щелкните Параметры пакета.
-
В разделе "Управление доступом Codespaces"выберите Добавить репозиторий.
-
Найдите репозиторий, который вы хотите добавить.
-
Повторите эти действия для всех дополнительных репозиториев, которым вы хотите разрешить доступ.
-
Если codespace для репозитория больше не требуется доступ к пакету, вы можете удалить доступ. Щелкните .
Настройка видимости пакетов для личной учетной записи
При первой публикации пакета, который ограничен вашей личной учетной записью, видимость по умолчанию является частной, и только вы можете видеть пакет. Вы можете изменить доступ к частному или общедоступному пакету, изменив параметры доступа.
Доступ к общедоступному пакету можно получить анонимно без проверки подлинности. Сделав пакет общедоступным, вы не сможете снова сделать его частным.
-
Найдите и щелкните имя пакета, которым требуется управлять.
-
На целевой странице пакета справа щелкните Параметры пакета.
-
В нижней части страницы в разделе "Зона опасности" щелкните Изменить видимость.
-
Выберите параметр видимости:
-
Чтобы сделать пакет видимым для всех пользователей, выберите Общедоступный.
Предупреждение. Сделав пакет общедоступным, вы не сможете снова сделать его частным.
-
Чтобы сделать пакет видимым для пользовательского выбора людей, выберите Частный.
-
-
Чтобы подтвердить, введите имя пакета, а затем щелкните Я понимаю последствия, измените видимость пакета.
Видимость создания пакетов для участников организации
Для реестров, поддерживающих детализированные разрешения, можно выбрать видимость пакетов, которые участники организации могут публиковать по умолчанию. Список этих реестров см. в разделе Сведения о разрешениях для пакетов GitHub.
-
В правом верхнем углу GitHub.com щелкните фотографию профиля, а затем щелкните Ваши организации.
2. Рядом с организацией щелкните Параметры. -
В левой части окна щелкните Пакеты.
-
В разделе "Создание пакета" укажите, следует ли включить создание общедоступных, частных или внутренних пакетов.
- Чтобы разрешить участникам организации создавать общедоступные пакеты, щелкните Общедоступные.
- Чтобы разрешить участникам организации создавать закрытые пакеты, которые видны только другим участникам организации, нажмите кнопку Частные. Вы можете дополнительно настроить видимость частных пакетов.
- Чтобы разрешить участникам организации создавать внутренние пакеты, видимые всем участникам организации, щелкните Внутренние. Если организация принадлежит предприятию, пакеты будут видны всем участникам предприятия.
Настройка видимости пакетов для организации
При первой публикации пакета видимость по умолчанию является закрытой, и только вы можете видеть этот пакет. Вы можете предоставить пользователям или командам различные роли доступа для пакета с помощью параметров доступа.
Доступ к общедоступному пакету можно получить анонимно без проверки подлинности. Сделав пакет общедоступным, вы не сможете снова сделать его частным.
-
В GitHub перейдите на главную страницу вашей организации.
-
Под названием организации щелкните вкладку Пакеты .
1. Найдите и щелкните имя пакета, которым требуется управлять. -
На целевой странице пакета справа щелкните Параметры пакета.
-
В нижней части страницы в разделе "Зона опасности" щелкните Изменить видимость и выберите параметр видимости:
-
Чтобы сделать пакет видимым для всех пользователей, щелкните Общедоступный.
Предупреждение. Сделав пакет общедоступным, вы не сможете снова сделать его частным.
-
Чтобы сделать пакет видимым для пользовательского выбора пользователей в вашей организации, нажмите кнопку Частный.
-