Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Esse recurso de Azure Agente SRE está atualmente em versão prévia. Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.
Conecte repositórios hospedados no GitHub Enterprise Cloud (<TENANT>.ghe.com) ou github.com ao agente SRE do Azure usando um aplicativo GitHub BYO (Bring Your Own). O agente gera tokens de instalação de curta duração a partir da chave privada da sua aplicação, que é armazenada no Azure Key Vault e nunca é copiada.
Note
O aplicativo GitHub BYO funciona para hosts github.com e *.ghe.com. Para github.com com OAuth ou PAT, consulte Configurar o conector do GitHub.
Quando usar a autenticação de aplicativo GitHub BYO
Use o aplicativo BYO quando:
- Sua organização requer autenticação baseada em aplicativo e controles de custódia de chave.
- Você está conectando repositórios
*.ghe.com(necessários porque OAuth e PAT não estão disponíveis para hosts GHE). - Você deseja acesso baseado em token de instalação em vez de tokens de usuário.
Pré-requisitos
| Requirement | Detalhes |
|---|---|
| Agente SRE do Azure | Um agente em estado de execução com a função administrador ou usuário padrão |
| Aplicativo GitHub | Um aplicativo GitHub criado no host de destino (github.com ou <TENANT>.ghe.com) |
| GitHub acesso de administrador | Acesso de administrador da organização ou do repositório para criar, instalar ou verificar o escopo do GitHub App |
| Azure Key Vault | Um cofre onde você pode armazenar a chave privada do aplicativo GitHub |
| Identidade gerenciada | Capacidade de atribuir a função Key Vault Secrets User à identidade gerenciada do agente |
Criar um aplicativo GitHub
Se você já tiver um Aplicativo do GitHub com as permissões corretas, pule para Armazene a chave privada no Azure Key Vault.
- Vá para o host GitHub:
-
github.com: vá para sua organização >Settings>Developer settings>GitHub Apps>New GitHub App -
<TENANT>.ghe.com: mesmo caminho em sua instância do GHE
-
- Preencha os detalhes do aplicativo:
-
GitHub Nome do aplicativo: por exemplo,
sre-agent-reader -
URL da home page:
https://sre.azure.com - Webhook: Desmarque Ativo (o agente não usa webhooks)
-
GitHub Nome do aplicativo: por exemplo,
- Em Permissões, defina:
- Permissões > de repositório Conteúdo: Somente leitura (obrigatório)
- Permissões > de repositório Metadados: somente leitura (selecionado automaticamente)
- Opcionalmente, adicione acesso de leitura a Problemas e Solicitação de pull
- Em Onde este GitHub App pode ser instalado?, selecione Somente nesta conta.
- Selecione Criar Aplicativo do GitHub.
- Observe a ID do cliente mostrada na página de configurações do aplicativo.
Instalar a aplicação GitHub
- Na página de configurações do aplicativo GitHub, selecione Instalar Aplicativo na barra lateral esquerda.
- Selecione sua organização.
- Selecione Todos os repositórios ou selecione repositórios específicos.
- Selecione Instalar.
Gerar uma chave privada do aplicativo GitHub
- Na página de configurações do aplicativo GitHub, role até Private keys.
- Selecione Gerar uma chave privada.
- Um
.pemarquivo é baixado. Esse arquivo é a chave privada RSA que o agente usa para autenticar.
Caution
Mantenha o PEM seguro. Carregue-o para Key Vault na próxima etapa. Não o confirme em um repositório e não compartilhe-o.
Armazene a chave privada no Azure Key Vault
- Abra o portal Azure e vá para o Key Vault.
- Vá paraGeração/Importação de>.
- Defina o Nome (por exemplo
sre-agent-github-app-key) e cole o conteúdo completo do PEM como o Valor (incluindo-----BEGIN RSA PRIVATE KEY-----e-----END RSA PRIVATE KEY-----cabeçalhos). - Selecione Criar.
- Abra o segredo, selecione a versão atual e copie o URI do Identificador de Segredo :
https://myvault.vault.azure.net/secrets/my-github-app-key/<VERSION>
Dica
URI com versão vs. sem versão: Você pode usar a URI com versão (com o sufixo /<VERSION>) para fixar em uma versão específica da chave ou omitir a versão para sempre usar a versão mais recente. Use o URI sem versão para que, quando você rotacionar a chave, o agente passe a usar automaticamente a nova versão sem atualizar o URI.
Conceder acesso de identidade de agente ao Key Vault
- No portal do Azure, abra Key Vault>Access control (IAM).
- Atribua Key Vault Secrets User à identidade gerenciada do agente.
- Aguarde até que a atribuição de função entre em vigor.
Configurar o aplicativo BYO no acesso ao código
- Abra seu agente no portal.
- Acesse Builder>Acesso ao código.
- Selecione Adicionar repositórios.
- Escolha GitHub e insira o host:
-
github.compara GitHub público -
<TENANT>.ghe.compara a nuvem empresarial
-
- Continue para Autenticação.
- Selecione Abring seu próprio aplicativo GitHub.
- Entrar:
- ID do cliente
- URI do segredo da chave privada (Key Vault)
- Identidade do Key Vault opcional (ou manter a atribuída pelo sistema)
- Selecione Conectar.
O assistente valida suas credenciais. Se tudo der certo, você verá Conectado como Aplicativo GitHub com uma marca de verificação verde.
Note
Quando você digita um domínio *.ghe.com como host, o assistente seleciona automaticamente Traga seu próprio aplicativo do GitHub. O OAuth e o PAT não estão disponíveis para hosts GHE.
Adicionar repositórios e verificar a conexão
- Selecione repositórios e salve.
- Confirme se o cartão de Acesso ao código exibe o host conectado e o tipo de autenticação
GitHubApp. - Teste no chat:
Get me recent issues from owner/repo.
Identidade gerenciada por aplicativo para vários aplicativos do GitHub
Por padrão, o agente usa sua identidade gerenciada atribuída sistema para ler a chave privada de Key Vault. Se você gerencia vários GitHub Apps (por exemplo, um por instância do GHE), pode atribuir uma identidade gerenciada atribuída ao usuário diferente a cada app. Essa abordagem fornece isolamento de segurança porque cada identidade só tem acesso ao seu próprio segredo Key Vault.
Selecione a identidade na lista suspensa identidade do Key Vault na etapa de configuração.
Suporte a múltiplos hosts para conexões com o GitHub
Você pode conectar vários hosts GitHub ao mesmo agente. Cada host tem autenticação independente:
-
github.com→ aplicativo OAuth, PAT ou BYO -
contoso.ghe.com→ aplicativo BYO -
engineering.ghe.com→ aplicativo BYO (com um aplicativo GitHub diferente)
Desconectar um host não afeta outras pessoas.
Troubleshooting
| Sintoma | Causa provável | Corrigir |
|---|---|---|
| Falha na validação de autenticação | ID do cliente incorreta ou host incorreto | Verifique se o aplicativo foi criado no mesmo host informado no Code Access. |
| Falha na leitura do segredo | Política de acesso do Key Vault ou de RBAC ausente | Atribua Key Vault Secrets User à identidade do agente. |
| O repositório aparece como com falha em Acesso ao código | Permissões do aplicativo ou escopo de instalação ausentes | Verifique Metadados: leitura + Conteúdo: leitura e escopo de instalação. |
| Problemas de chat funcionam, mas o Acesso ao Código falha | As verificações de endpoint/caminho são diferentes | Execute novamente o teste de conexão e verifique a permissão de metadados. |