Сведения о требуемом доступе для GitHub Enterprise Importer
Для защиты данных GitHub применяет определенные требования к доступу для использования GitHub Enterprise Importer. Чтобы избежать ошибок, внимательно изучите эту статью и убедитесь, что выполнены все требования к задаче, которую вы хотите выполнить.
Для выполнения миграции требуется достаточный доступ как к источнику, так и к месту назначения для миграции. Для переноса репозитория назначением является организация. Для миграции организации назначением является корпоративная учетная запись.
Прежде чем выполнить миграцию с GitHub Enterprise Server 3.8 или более поздней версии, вам также потребуется пользователь с доступом к Консоль управления для настройки хранилища BLOB-объектов для экземпляр GitHub Enterprise Server.
Для других задач требуется только доступ к целевому объекту операции. Например, чтобы предоставить роль миграции для организации, вам нужен только доступ к этой организации.
Чтобы иметь достаточный доступ для источника или назначения, вам потребуется оба указанных ниже кода.
- Необходимая роль в GitHub организации или корпоративной учетной записи.
- Для bitbucket Server необходимые разрешения и доступ по SFTP или SMB
- Для продуктов GitHub и Azure DevOps — personal access token, который может получить доступ к учетной записи организации или предприятия.
- personal access token должен иметь все необходимые области, которые зависят от вашей роли и задачи, которую вы хотите выполнить.
- Если источник или назначение использует единый вход SAML для GitHub.com, необходимо авторизовать personal access token для единого входа.
Кроме того, если вы используете списки разрешенных IP-адресов с источником или назначением, может потребоваться настроить списки разрешений, чтобы разрешить доступ GitHub Enterprise Importer.
Необходимые роли для GitHub
При миграции на продукты GitHub или из них для разных задач требуются разные роли.
Задача | Владелец предприятия | Владелец организации | Migrator |
---|---|---|---|
Выполнение миграции (исходная организация) | X | X | |
Выполнение миграции организации (целевое предприятие) | X | ||
Назначение роли миграции для переноса репозитория | X | ||
Выполнение миграции репозитория (конечная организация) | X | X | |
Скачивание журнала миграции | X | X | |
Восстановление манекенов | X |
Необходимые разрешения для сервера Bitbucket
Чтобы выполнить миграцию с Bitbucket Server, вам потребуется:
- Имя пользователя и пароль учетной записи Bitbucket Server с разрешениями администратора или суперадминистраторов.
- Если экземпляры Bitbucket Server работают в Linux, SFTP доступ к экземпляру Bitbucket Server (см. раздел "Ключи SSH"). Как правило, если вы можете получить доступ к серверу через SSH, вы также можете использовать SFTP.
- Если экземпляр Сервера Bitbucket работает в Windows, общий доступ к файлу (SMB) к экземпляру Bitbucket Server
Ключи SSH
Если экземпляр Bitbucket Server работает в Linux, необходимо использовать ключ SSH, соответствующий следующим требованиям:
- Отсутствует парольная фраза
- Использует один из следующих шифров:
aes256-ctr
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
blowfish-cbc
twofish-cbc
twofish192-cbc
twofish128-cbc
twofish256-cbc
arcfour
arcfour128
arcfour256
cast128-cbc
aes128-ctr
aes192-ctr
Если при выполнении миграции появляется сообщение об ошибке, например cipher name aes256-ctr for openssh key file is not supported
, закрытый ключ SSH использует неподдерживаемый шифр. Дополнительные сведения о создании совместимого закрытого ключа см. в разделе Устранение неполадок миграции с помощью GitHub Enterprise Importer.
Обязательные области для personal access tokens
Для выполнения миграции требуется personal access token, который может получить доступ к целевой организации (для миграции репозитория) или корпоративной учетной записи (для миграции организации). Если источником является продукт GitHub или Azure DevOps, вам также потребуется другой personal access token, который может получить доступ к исходной организации.
Для других задач, таких как скачивание журнала миграции, требуется только один personal access token, который может получить доступ к целевому объекту операции.
Personal access tokens для продуктов GitHub
Области, необходимые для GitHub personal access token, зависят от вашей роли и задачи, которую вы хотите выполнить.
Примечание. Можно использовать только personal access token, а не fine-grained personal access token.
Задача | Владелец предприятия | Владелец организации | Migrator |
---|---|---|---|
Выполнение миграции (исходная организация) | - | read:org , repo | read:org , repo |
Выполнение миграции организации (целевое предприятие) | read:enterprise , admin:org , repo , workflow | - | - |
Назначение роли миграции для переноса репозитория | - | admin:org | - |
Выполнение миграции репозитория (конечная организация) | - | repo , admin:org , workflow | repo , read:org , workflow |
Скачивание журнала миграции | - | repo , admin:org , workflow | repo , read:org , workflow |
Восстановление манекенов | - | admin:org | - |
Personal access tokens для Azure DevOps
Чтобы выполнить миграцию из Azure DevOps (ADO), personal access token ADO должен иметь work item (read)
области , code (read)
и identity (read)
.
Если вы хотите выполнить миграцию из нескольких организаций, разрешите personal access token доступ ко всем доступным организациям. Дополнительные сведения см. в статье Использование personal access tokens в Документация Майкрософт.
Создание personal access token для GitHub Enterprise Importer
- Убедитесь, что у вас есть достаточная роль для задачи, которую вы хотите выполнить. Дополнительные сведения см. в разделе Требуемые роли.
- Создайте personal access token, предоставив все области, необходимые для выполнения задачи. Можно использовать только personal access token, а не fine-grained personal access token. Дополнительные сведения см. в разделе Управление личными маркерами доступа и Обязательные области для personal access token.
- Если единый вход SAML применяется для организаций, к которому требуется доступ, авторизуйте personal access token для единого входа. Дополнительные сведения см. в разделе Авторизация личного токена доступа для использования с документами единого входа SAML.
Настройка списков разрешенных IP-адресов для миграций
Если вы используете списки разрешенных IP-адресов с источником или назначением миграции, может потребоваться настроить эти списки, чтобы разрешить доступ к GitHub Enterprise Importer.
Чтобы правильно настроить списки разрешенных IP-адресов, внимательно ознакомьтесь со следующими разделами. В зависимости от миграции к вам может применяться несколько разделов.
Источником или местом назначения миграции является GitHub.com
Необходимо настроить списки разрешенных IP-адресов в GitHub.com, если к миграции применяются оба следующих варианта:
- Источником или местом назначения миграции является GitHub.com
- Источник или назначение использует список разрешенных IP-адресов: GitHub список разрешенных IP-адресов или ограничения списка разрешенных IP-адресов поставщика удостоверений (например, Azure CAP).
Если вы используете функцию списка разрешенных IP-адресов GitHub, необходимо добавить диапазоны IP-адресов GitHub ниже в список разрешений для исходных и (или) целевых организаций.
Если вы используете список разрешенных IP-адресов поставщика удостоверений для ограничения доступа к организации в GitHub.com, эти ограничения следует отключить в параметрах корпоративной учетной записи до завершения миграции.
Дополнительные сведения см. в разделах Управление разрешенными IP-адресами для организации и Ограничение сетевого трафика для предприятия с помощью списка разрешенных IP-адресов.
Источником миграции является GitHub Enterprise Server
Если источником миграции является GitHub Enterprise Server, вам не нужно добавлять диапазоны IP-адресов GitHub в конфигурацию брандмауэра или список разрешенных IP-адресов в экземпляр GitHub Enterprise Server.
Однако в зависимости от настройки поставщика хранилища BLOB-объектов может потребоваться обновить конфигурацию поставщика хранилища BLOB-объектов, чтобы разрешить доступ к приведенным ниже диапазонам IP-адресов GitHub.
Определение диапазонов IP-адресов GitHub
Вы можете получить актуальный список диапазонов IP-адресов, используемых GitHub Enterprise Importer для исходящих подключений, с помощью конечной точки "Получение метаданных GitHub" REST API. Дополнительные сведения см. в разделе Meta в документации по REST API.
Ключ hooks
в ответе содержит список диапазонов IP-адресов, используемых для миграций.