Изменение видимости проекта на общедоступную или частную

Azure DevOps Services

Из этой статьи вы узнаете, как изменить видимость проекта на общедоступную или частную.

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

Доступ ограничен для пользователей, которые не вошли в систему, часто называются анонимными или общедоступными пользователями. Есть также пользователи, которые вошли в Azure DevOps, но не являются частью проекта. Обе эти категории пользователей предоставляют ограниченный доступ только для чтения, как описано в следующей таблице.

При переключении частного проекта на общедоступный все члены проекта испытывают следующие изменения:

  • Разрешения, помеченные как "Запрет", не распознаны. Разрешения, автоматически предоставленные немемберу, задают минимальный уровень возможностей, которые могут быть назначены любому члену проекта.
  • Если конвейер сборки имеет значение "Коллекция проектов" область, он выполняется с помощью область Project, что снижает риск получения злоумышленниками доступа к маркеру проверки подлинности службы сборки.
  • Заинтересованные лица имеют полный доступ к функциям Repos или Code в общедоступных проектах, но не имеют доступа в частных проектах.
  • Заинтересованные лица имеют полный доступ к Boards или Work в общедоступных проектах, но только частичный доступ в частных проектах. Дополнительные сведения см. в кратком справочнике по правам доступа для заинтересованных лиц.
  • Пользователи базовых и тестовых планов могут просматривать и запускать тесты из планов тестирования или тестирования. Базовые пользователи должны обновить уровень доступа до базовых и тестовых планов, чтобы получить полный доступ, который включает возможность создавать планы тестирования и добавлять тестовые случаи.
Концентратор / Параметры Доступ, отличный отmember Доступ заинтересованных лиц Базовый доступ Доступ читателя Доступ участника Доступ к project Администратор
Панели мониторинга чтение (многие мини-приложения недоступны) partial full чтение чтение и запись read-write-администрирование
Вики чтение full full чтение чтение и запись read-write-администрирование
Доски (работа) чтение partial full чтение чтение и запись read-write-администрирование
Репозитории (код) чтение full full чтение чтение и запись read-write-администрирование
Конвейеры (сборка и выпуск) чтение full full чтение чтение и запись Read-Write-Администратор ister
Тестовые планы без доступа без доступа частичный доступ (см. последний маркер перед таблицей) чтение чтение и запись Read-Write-Администратор ister
Уведомления без доступа Полностью Полностью Читать чтение и запись read-write-администрирование
Поиск full full full full full full
Параметры Нет доступа Полностью Полностью Читать Читать Read-Write-Администратор ister

Необходимые компоненты

Контрольный список действий по миграции

Большинство частных проектов содержат большое количество исторических данных. Старые рабочие элементы, ранние фиксации и предыдущие конвейеры сборки могут содержать сведения, которыми вы не хотите предоставлять общий доступ.

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

Категория

Руководство

Удостоверения и параметры организации

Узнайте, что пользователь получает доступ к следующим ресурсам и сведениям о организации:

  • Удостоверения: список всех участников, добавленных в организацию и адрес электронной почты для каждого участника.
  • Параметры: представление только для чтения всех параметров организации и проекта.
  • Метаданные процесса: все значения списка выбора во всех проектах в организации.
  • Сборки и выпуски: имена людей, которые активировали их, а также удостоверения, включая адреса электронной почты, внедренные в фиксации Git.
  • Фиксации и рабочие элементы: внедренные сведения, такие как имя, фамилия и адрес электронной почты.

Ссылки на объекты между проектами

Проверьте, существуют ли связи между проектами, так как сведения о связанном артефакте в частном проекте отображаются в общедоступном проекте. Вы можете использовать следующие типы ссылок: branch, build, changeset, commit, found in build, integrated in build, pull request и versioned item. Названия и имена предоставляются в следующих типах ссылок: элемент с версиями, ветвь, вики-страница, запрос на вытягивание и рабочий элемент.

Гибкие инструменты и рабочие элементы

Убедитесь, что ваши рабочие элементы, даже закрытые, не содержат конфиденциальных сведений: нераскрытые недостатки безопасности, учетные данные и данные клиента. Рабочие элементы сохраняют журнал при переносе из частного в общедоступный проект. Доступны все обсуждения и описания. Убедитесь, что нет проблемной речи.

Убедитесь, что ни один из путей к области не имеет специальных параметров безопасности, заблокированных. Запрещенные разрешения не применяются в общедоступном проекте, поэтому пути ограниченной области становятся общедоступными.

Код

Убедитесь, что у вас нет конфиденциальных сведений в журнале репозиториев: незапатшированные ошибки безопасности, учетные данные и код, которые не имеют права распространять.

Доступны все содержимое файла и сообщения фиксации. Убедитесь, что нет проблемной речи. Если вам не удобно предоставлять весь репозиторий, можно перенести подсказку в другой проект. Дополнительные сведения см. в инструкциях по миграции чаевых.

Сборка и выпуск

Убедитесь, что ни один из конвейеров не предоставляет конфиденциальные данные: учетные данные или секреты, неясные URL-адреса и имена частных сред.

Убедитесь, что не требуется доступ к частным веб-каналам. Сборки по-прежнему могут получать доступ к веб-каналам, но не могут. Если необходимо перенести конвейеры сборки в новый проект, можно импортировать и экспортировать их с помощью YAML.

Тестирование

Понять, что функции ручного и облачного нагрузочного тестирования недоступны для немемберов в общедоступном проекте.

Аналитика и панели мониторинга

Рассмотрите возможность создания панели мониторинга, предназначенной для общественности. Некоторые мини-приложения недоступны для nonmembers.

Артефакты

Убедитесь, что ни один из пакетов ни в одном из веб-каналов, которые область в проекте, не имеют проблем с конфиденциальностью. Все пакеты в веб-каналах, которые область в проект, становятся общедоступными. Все существующие параметры вышестоящий веб-каналов, которые область в проект, отключены после того, как проект станет общедоступным.

Расширения

Убедитесь, что существуют ли расширения, необходимые для вашего проекта. Например, у вас есть элемент управления в форме рабочего элемента, который отображает данные определенным образом? Существуют ли пользовательские расширения, которые предоставляют важные сведения?

Убедитесь, что автор каждого расширения сделал его доступным для nonmembers, проверив его. Если нет, попросите автора расширения добавить поддержку для nonmembers.

1. Включение анонимного доступа к проектам

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

  1. Войдите в свою организацию (https://dev.azure.com/{yourorganization}).

  2. Выберите Параметры организации.

    Screenshot showing highlighted Organization settings button.

  3. Выберите политики и включите политику безопасности общедоступных проектов.

    Screenshot showing Organization settings, Policy page, Security policies flow.

2. Настройка видимости проекта

  1. Войдите в проект (https://dev.azure.com/{YourOganization}{YourProject}).

  2. Выберите "Параметры>проекта" Обзор > раскрывающегося меню видимости, выберите "Общедоступный" или "Частный" и "Сохранить".

    Screenshot showing Project Settings, Overview, Visibility flow.

Уровни доступа и недоступные функции для общедоступных проектов

Член проекта имеет доступ к функциям на основе назначенного уровня доступа. Nonmembers / общедоступные пользователи получают ограниченный доступ автоматически. Чтобы внести свой вклад в общедоступный проект, необходимо добавить в качестве члена этого проекта и назначить заинтересованных лиц, базовых или базовых и тестовых планов доступ. Уровни доступа определяют пользовательские интерфейсы, к которым можно получить доступ. Группа безопасности, которую вы назначаете для определения функций, которые можно выполнить. Дополнительные сведения см. в разделе "О уровнях доступа".

Вы добавляете участников проекта так же, как и для частных проектов. Убедитесь, что вы понимаете, что означает пригласить внешнего пользователя , чтобы получить доступ к проекту. Если вы создали проект, вы автоматически назначаете группе project Администратор istrators.

Следующие элементы пользовательского интерфейса скрыты для немемберов.

Служба

Скрытые элементы пользовательского интерфейса

Таблицы

Рабочие элементы доступны, но невыполненные работы, доски, спринты, запросы и планы скрыты.

Repos

репозитории система управления версиями Team Foundation (TFVC) скрыты.

Конвейеры

Доступны сборки и выпуски, но библиотека, группы задач, группы развертывания, пакеты и система сборки XAML скрыты. Редакторы конвейеров и задач для конвейеров сборки и выпуска недоступны. Доступна только новая страница выпусков, которая находится в общедоступной предварительной версии.

Test Plans

Планы тестирования и связанные функции ручного и облачного нагрузочного тестирования скрыты.

Аналитика

Представления аналитики скрыты, а веб-канал OData Аналитики не поддерживается для немемберов. Интеграция Power BI в целом не поддерживается.

Настройки

Параметры и административные страницы скрыты.

Не удается выполнить следующие задачи:

  • Изменение или создание артефактов, таких как файлы, рабочие элементы и конвейеры
  • Избранное и следуйте существующим артефактам
  • Просмотр адресов электронной почты участников проекта и других контактных данных; nonmembers может видеть только имя и рисунок. Кроме того, фильтрация списков артефактов по удостоверениям
  • Переключение между двумя общедоступными проектами в одной организации; Nonmembers должен перейти непосредственно к общедоступному проекту с помощью URL-адреса
  • Выполнение поиска кода или рабочего элемента в организации

Частичная миграция

Если ваша организация содержит конфиденциальные материалы, не следует включать политику общедоступных проектов. Рекомендуется создать полностью отдельную организацию для размещения общедоступных проектов.

Перемещение рабочих элементов в частный проект

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

Если у вас есть большое количество конфиденциальных рабочих элементов, рекомендуется сохранить текущий проект закрытым. Вместо этого создайте новый общедоступный проект в другой организации. Перенос рабочих элементов можно выполнить с помощью открытый код WiMigrator, поддерживаемого корпорацией Майкрософт.

Миграция только подсказки Git

Если репозиторий не может быть предоставлен общий доступ из-за проблемной истории, рассмотрите возможность миграции только подсказки в новый репозиторий в другом проекте. Сохраните проект, содержащий проблемный репозиторий. Создайте новый репозиторий в проекте, который не делает общедоступным.

Предупреждение

  • Новый репозиторий не подключается к старому.
  • Вы не можете легко перенести изменения между ними в будущем.
  • Журнал запросов на вытягивание не переносится.
  1. Клонируйте существующий репозиторий: git clone <clone_URL>
  2. Убедитесь, что вы находитесь в корне репозитория: cd <reponame>
  3. Убедитесь, что вы находитесь на вершине ветви, с которой вы хотите начать: git checkout main
  4. Удалите данные Git: rmdir /s .git в Windows, rm -rf .git в macOS или Linux.
  5. Инициализация нового репозитория Git: git init
  6. Создайте новый пустой репозиторий в общедоступном проекте.
  7. Добавьте новый репозиторий в качестве удаленного источника: git remote add origin <new_clone_URL>
  8. Отправка нового репозитория: git push --set-upstream origin main

Следующие шаги