Skip to main content

Эта версия GitHub Enterprise Server была прекращена 2024-09-25. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Управление доступом к миграции из Azure DevOps

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

О требуемом доступе для GitHub Enterprise Importer

Для защиты данных GitHub применяет определенные требования к доступу для использования GitHub Enterprise Importer. Эти требования зависят от выполняемой задачи. Чтобы предотвратить ошибки, необходимо внимательно просмотреть эту статью и убедиться, что выполнены все требования для задачи, которую вы хотите завершить.

Чтобы перенести репозиторий из Azure DevOps в GitHub, требуется достаточный доступ к источнику (организации в Azure DevOps) и назначению (организации на GitHub). Чтобы получить достаточный доступ, вам потребуется все перечисленные ниже действия.

  • Требуемая роль в целевой организации на GitHub
  • personal access token с доступом к целевой организации на GitHub
    • Данные personal access token должны иметь все необходимые области, которые зависят от роли и задачи, которую вы хотите завершить.
    • Если целевая организация использует единый вход SAML для GitHub, необходимо авторизовать personal access token для единого входа.
  • personal access token с доступом к исходной организации в Azure DevOps

Кроме того, если вы используете списки разрешений IP с источником или назначением, может потребоваться настроить списки разрешений, чтобы разрешить доступ по GitHub Enterprise Importer.

Сведения о роли миграции

Обязательные роли для GitHub

Для целевой организации на GitHubдля разных задач требуются разные роли.

Обязательные области для personal access tokens

Для выполнения миграции требуется один personal access token, который может получить доступ к целевой организации на GitHub, а другой personal access token для доступа к исходной организации в Azure DevOps.

Для других задач, таких как скачивание журнала миграции, требуется только один personal access token, который может получить доступ к целевой организации на GitHub.

Personal access tokens для GitHub

Области, необходимые для ваших GitHub personal access token (classic) зависят от вашей роли и задачи, которую вы хотите завершить.

Note

Можно использовать только personal access token (classic), а не fine-grained personal access token. Это означает, что вы не можете использовать GitHub Enterprise Importer, если в вашей организации используется политика "Ограничить доступ к данным personal access tokens (classic)". Дополнительные сведения см. в разделе Применение политик для персональных маркеров доступа в вашей организации.

ЗадачаВладелец организацииСредство переноса
Назначение роли миграции для миграций репозиторияadmin:org
Выполнение миграции репозитория (целевая организация)repo, , admin:org``workflowrepo, , read:org``workflow
Скачивание журнала миграцииrepo, , admin:org``workflowrepo, , read:org``workflow
Восстановление манекеновadmin:org

Personal access tokens для Azure DevOps

Ваши данные Azure DevOps personal access token должны иметь work item (read)``code (read)``identity (read) и области.

Если вы хотите использовать --rewire-pipelines флаг при создании скрипта миграции, вам также потребуется Build (Read) область. Чтобы использовать inventory-report и --integrate-boards флаги, необходимо предоставить полный доступ к данным personal access token.

Если вы хотите перенести данные из нескольких организаций, разрешите personal access token доступ ко всем доступным организациям. Дополнительные сведения см. в разделе personal access tokens в Документация Майкрософт.

Предоставление роли миграции

Чтобы разрешить другим пользователям, кроме владелец организации выполнять миграцию или скачивать журналы миграции, вы можете предоставить роль миграции пользователю или группе. Дополнительные сведения см. в разделе "О роли миграции".

Роль миграции можно предоставить с помощью ADO2GH extension of the GitHub CLI или API GraphQL.

Предоставление роли миграции с помощью ADO2GH extension

Чтобы предоставить роль миграции с помощью интерфейса командной строки, необходимо установить ADO2GH extension of the GitHub CLI. Дополнительные сведения см. в разделе Перенос репозиториев из Azure DevOps в GitHub Enterprise Cloud.

  1. На GitHubсоздайте и запишите personal access token, которая соответствует всем требованиям для предоставления роли миграции. Дополнительные сведения см. в разделе "Создание personal access token для GitHub".

  2. gh ado2gh grant-migrator-role Используйте команду, заменив организацию организацией, для которой вы хотите предоставить роль миграции, СУБЪЕКТу имя пользователя или команды и ТИП.USER TEAM

    Shell
    gh ado2gh grant-migrator-role --github-org ORGANIZATION --actor ACTOR --actor-type TYPE
    

Предоставление роли миграции с помощью API GraphQL

Создание personal access token для GitHub

  1. Убедитесь, что у вас есть достаточная роль для задачи, которую вы хотите завершить. Дополнительные сведения см. в разделе "Обязательные роли".
  2. Создайте personal access token (classic), чтобы предоставить все область, необходимые для выполнения задачи. Можно использовать только personal access token (classic), а не fine-grained personal access token. Дополнительные сведения см. в разделе "Управление личными маркерами доступа" и "Обязательные область для personal access token".
  3. Если единый вход SAML применяется для организаций, к ним необходимо получить доступ, авторизуйте personal access token для единого входа. Дополнительные сведения см. в разделе Авторизация личного токена доступа для использования с документами единого входа SAML.

Настройка списков разрешений IP-адресов для миграций

Диапазоны IP-адресов для GitHub.com

Вам потребуется добавить следующие диапазоны IP-адресов в список разрешений IP-адресов.

  • 192.30.252.0/22
  • 185.199.108.0/22
  • 140.82.112.0/20
  • 143.55.64.0/20
  • 40.71.233.224/28
  • 2a0a:a440::/29
  • 2606:50c0::/32
  • 20.125.12.8/29 (активно с 00:00 UTC 8 ноября 2023 г.)

Вы можете получить актуальный список диапазонов IP-адресов, используемых GitHub Enterprise Importer в любое время с помощью конечной точки "Получить метаданные GitHub" REST API.

Ключ github_enterprise_importer в ответе содержит список диапазонов IP-адресов, используемых для миграции.

Дополнительные сведения см. в разделе Конечные точки REST API для метаданных.

Диапазоны IP-адресов для GHE.com

Вам потребуется добавить следующие диапазоны IP-адресов в список разрешений IP-адресов.

  • 192.30.252.0/22
  • 185.199.108.0/22
  • 140.82.112.0/20
  • 143.55.64.0/20
  • 2a0a:a440::/29
  • 2606:50c0::/32
  • 4.231.155.80/29
  • 4.225.9.96/29
  • 51.12.144.32/29
  • 20.199.1.232/29
  • 51.12.152.184/29
  • 20.199.6.80/29
  • 51.12.152.240/29
  • 20.19.101.136/29
  • 51.12.252.16/28
  • 74.241.131.48/28
  • 20.240.211.176/28
  • 108.143.221.96/28
  • 20.61.46.32/28
  • 20.224.62.160/28

Дополнительные материалы