Sobre o acesso necessário do GitHub Enterprise Importer
Para proteger seus dados, o GitHub impõe requisitos de acesso específicos para o uso do GitHub Enterprise Importer. Para evitar erros, leia este artigo com atenção e verifique se você atende a todos os requisitos da tarefa que deseja concluir.
Para executar uma migração, você precisa ter acesso suficiente à origem e ao destino da migração. Para migrações de repositório, o destino é uma organização. Para migrações da organização, o destino é uma conta corporativa.
Para migrar do GitHub Enterprise Server 3.8 ou superior pela primeira vez, você também precisa de alguém com acesso ao Console de Gerenciamento para configurar o armazenamento de blobs para o sua instância do GitHub Enterprise Server.
Para outras tarefas, você só precisa ter acesso ao destino da operação. Por exemplo, para conceder a função de migrador para uma organização, você só precisa ter acesso a essa organização.
Para ter acesso suficiente à origem ou ao destino, você precisa do seguinte:
- Uma função necessária na conta corporativa ou de organização do GitHub
- Para o Bitbucket Server, as permissões necessárias e o acesso ao SFTP ou ao SMB
- Para produtos do GitHub e o Azure DevOps, um personal access token que possa acessar a conta corporativa ou de organização
- O personal access token precisa ter todos os escopos necessários, que dependem da sua função e da tarefa que você deseja concluir.
- Se a origem ou o destino usar o logon único do SAML para o GitHub.com, você precisará autorizar o personal access token para SSO.
Além disso, caso você use listas de permissões de IP com a origem ou o destino, talvez seja necessário configurar as listas de permissões para permitir o acesso do GitHub Enterprise Importer.
Funções necessárias para o GitHub
Ao migrar para produtos do GitHub ou ao migrar deles, diferentes funções são necessárias para tarefas diferentes.
Tarefa | Proprietário corporativo | Proprietário da organização | Migrador |
---|---|---|---|
Como executar uma migração (organização de origem) | X | X | |
Como executar uma migração de organização (empresa de destino) | X | ||
Como atribuir a função de migrador para migrações de repositório | X | ||
Como executar uma migração de repositório (organização de destino) | X | X | |
Como baixar um log de migração | X | X | |
Como recuperar manequins | X |
Permissões necessárias para o Bitbucket Server
Para migrar do Bitbucket Server, você precisa do seguinte:
- O nome de usuário e a senha de uma conta do Bitbucket Server que tenha permissões de administrador ou de superadministrador
- Se as instâncias do Bitbucket Server forem executadas no Linux, o acesso ao SFTP na instância do Bitbucket Server (confira "Chaves SSH"). Em geral, se você puder acessar o servidor por meio do SSH, também poderá usar o SFTP.
- Se a instância do Bitbucket Server for executada no Windows, o acesso de compartilhamento de arquivos (SMB) à instância do Bitbucket Server
Chaves SSH
Se a instância do Bitbucket Server for executada no Linux, você precisará usar uma chave SSH que atenda aos seguintes requisitos:
- Não tem uma frase secreta
- Usa uma das criptografias a seguir
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
Se você receber um erro como cipher name aes256-ctr for openssh key file is not supported
ao executar uma migração, sua chave privada SSH usará uma criptografia sem suporte. Para obter mais informações sobre como gerar uma chave privada compatível, confira "Solução de problemas de migração com o GitHub Enterprise Importer".
Escopos necessários para os personal access tokens
Para executar uma migração, você precisa de um personal access token que possa acessar a organização de destino (para as migrações de repositório) ou a conta corporativa (para as migrações da organização). Se a origem for um produto do GitHub ou o Azure DevOps, você também precisará de outro personal access token que possa acessar a organização de origem.
Para outras tarefas, como baixar um log de migração, você só precisa de um personal access token que possa acessar o destino da operação.
Personal access tokens para produtos do GitHub
Os escopos necessários para o GitHub personal access token dependem da sua função e da tarefa que você deseja concluir.
Observação: Você só pode usar um personal access token, não um fine-grained personal access token.
Tarefa | Proprietário corporativo | Proprietário da organização | Migrador |
---|---|---|---|
Como executar uma migração (organização de origem) | - | read:org , repo | read:org , repo |
Como executar uma migração de organização (empresa de destino) | read:enterprise , admin:org , repo , workflow | - | - |
Como atribuir a função de migrador para migrações de repositório | - | admin:org | - |
Como executar uma migração de repositório (organização de destino) | - | repo , admin:org , workflow | repo , read:org , workflow |
Como baixar um log de migração | - | repo , admin:org , workflow | repo , read:org , workflow |
Como recuperar manequins | - | admin:org | - |
Personal access tokens para Azure DevOps
Para executar uma migração do ADO (Azure DevOps), o personal access token do ADO precisa ter os escopos work item (read)
, code (read)
e identity (read)
.
Caso você deseje migrar de várias organizações, permita que o personal access token acesse todas as organizações acessíveis. Para obter mais informações, confira Usar personal access tokens no Microsoft Docs.
Como criar um personal access token para o GitHub Enterprise Importer
- Verifique se você tem uma função suficiente para a tarefa que deseja concluir. Para obter mais informações, confira "Funções necessárias".
- Crie um personal access token, lembrando-se de conceder todos os escopos necessários para a tarefa que deseja concluir. Você só pode usar um personal access token, não um fine-grained personal access token. Para obter mais informações, "Managing your personal access tokens" e "Escopos necessários para o personal access token".
- Se o logon único do SAML for imposto para as organizações que você precisa acessar, autorize o personal access token para SSO. Para obter mais informações, confira "Autorizar o uso de um token de acesso pessoal para uso com logon único SAML".
Como configurar listas de permissões de IP para migrações
Caso você use listas de permissões de IP com a origem ou o destino de migração, talvez seja necessário configurar as listas para permitir o acesso ao GitHub Enterprise Importer.
Para configurar listas de permissões de IP corretamente, leia as seções a seguir com cuidado. Dependendo da migração, mais de uma seção pode se aplicar ao seu caso.
A origem ou o destino da migração é GitHub.com
Você precisará configurar listas de permissões de IP no GitHub.com se as duas seguintes opções se aplicarem à migração:
- A origem ou o destino da migração é GitHub.com
- A origem ou o destino usa uma lista de permissões de IP, o recurso de lista de permissões de IP do GitHub ou as restrições de lista de permissões de IP do IdP (provedor de identidade) (como o CAP do Azure)
Se você usar o recurso de lista de permissões de IP do GitHub, precisará adicionar os intervalos de IP do GitHub abaixo à lista de permissões para as organizações de origem e/ou de destino.
Se você usar a lista de permissões de IP do IdP para restringir o acesso à sua empresa no GitHub.com, desabilite essas restrições nas configurações da conta corporativa até que a migração seja concluída.
Para obter mais informações, confira "Gerenciar endereços IP permitidos para sua organização" e "Como restringir o tráfego de rede para sua empresa com uma lista de permissões de IP."
A origem da migração é o GitHub Enterprise Server
Se a origem da migração for o GitHub Enterprise Server, você não precisará adicionar nenhum intervalo de IP do GitHub à configuração do firewall ou à lista de permissões de IP no sua instância do GitHub Enterprise Server.
No entanto, dependendo da configuração do provedor de armazenamento de blobs, talvez seja necessário atualizar a configuração do provedor de armazenamento de blobs para permitir o acesso aos intervalos de IP do GitHub abaixo.
Como identificar os intervalos de IP do GitHub
Você pode obter uma lista atualizada de intervalos de IP usados pelo GitHub Enterprise Importer para conexões de saída com o ponto de extremidade "Obter metainformações do GitHub da API REST. Para obter mais informações, confira "Meta" na documentação da API REST.
A chave hooks
na resposta contém uma lista de intervalos de IP usados para as migrações.