Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
Esta funcionalidade do Azure SRE Agent está atualmente em pré-visualização. Consulte os Termos de Utilização Complementares das Visualizações Prévias do Microsoft Azure para obter os termos legais que se aplicam às funcionalidades do Azure que estão em beta, em pré-visualização ou que ainda não foram lançadas para disponibilidade geral.
Ligue repositórios alojados na GitHub Enterprise Cloud (<TENANT>.ghe.com) ou github.com ao seu Azure Agente SRE usando uma aplicação BYO (Bring Your Own) GitHub. O agente cria tokens de instalação de curta duração a partir da chave privada da sua aplicação, que está armazenada no Azure Key Vault e nunca é copiada.
Note
A aplicação BYO GitHub funciona tanto para hosts github.com como *.ghe.com. Para github.com com OAuth ou PAT, consulte Configurar o conector do GitHub.
Quando usar a autenticação da aplicação BYO GitHub
Use a aplicação BYO quando:
- A sua organização exige autenticação baseada em aplicações e controlos de guarda de chaves.
- Estás a conectar repositórios
*.ghe.com(necessário porque o OAuth e o PAT não estão disponíveis para os anfitriões GHE). - Queres acesso baseado em tokens de instalação em vez de tokens de utilizador.
Pré-requisitos
| Requisito | Detalhes |
|---|---|
| Azure SRE Agent (Agente SRE do Azure) | Um agente em estado de execução com função de Administrador ou Utilizador Padrão |
| Aplicação GitHub | Uma aplicação GitHub criada no teu host alvo (github.com ou <TENANT>.ghe.com) |
| Acesso de administrador no GitHub | Acesso de administrador de organizações ou repositórios para criar, instalar ou verificar o âmbito da aplicação GitHub |
| Azure Key Vault | Um cofre onde podes guardar a chave privada da aplicação GitHub |
| Identidade gerenciada | Capacidade de atribuir o papel Key Vault Secrets User à identidade gerida do agente |
Crie uma aplicação no GitHub
Se já tiver uma GitHub App com as permissões corretas, vá para Armazene a chave privada em Azure Key Vault.
- Vai ao teu host no GitHub:
-
github.com: Vai à tua organização >Settings>Developer settings>GitHub Apps>New GitHub App -
<TENANT>.ghe.com: Mesmo caminho na tua instância GHE
-
- Preencha os dados da aplicação:
-
GitHub Nome da aplicação: por exemplo,
sre-agent-reader -
URL da página inicial:
https://sre.azure.com - Webhook: Desmarcar Ativo (o agente não usa webhooks)
-
GitHub Nome da aplicação: por exemplo,
- Em Permissões, defina:
- Permissões > de repositório Conteúdo: Apenas leitura (obrigatório)
- Permissões > de repositório Metadados: Só leitura (seleção automática)
- Opcionalmente, adicione acesso de leitura a Issues e Pull requests
- Em Onde pode esta GitHub aplicação ser instalada?, selecione Só nesta conta.
- Selecione Criar aplicativo GitHub.
- Note o ID do Cliente mostrado na página de definições da aplicação.
Instale a aplicação GitHub
- Na página de definições da GitHub Aplicação, selecione Instalar Aplicação na barra lateral esquerda.
- Selecione a sua organização.
- Selecione Todos os repositórios ou selecione repositórios específicos.
- Selecione Instalar.
Gerar uma chave privada de aplicação GitHub
- Na página de definições da GitHub App, desça até Chaves privadas.
- Selecione Gerar uma chave privada.
- Um
.pemficheiro é descarregado. Este ficheiro é a chave privada RSA que o agente usa para autenticar.
Atenção
Manter o PEM em segurança. Carrega-o para o Key Vault no passo seguinte. Não o comprometas num repositório e não partilhes.
Armazene a chave privada no Azure Key Vault
- Abra o portal Azure e vá ao seu Key Vault.
- Aceda a Segredos>Gerar/Importar.
- Defina Nome (por exemplo,
sre-agent-github-app-key) e cole o conteúdo PEM completo como Valor (incluindo os cabeçalhos-----BEGIN RSA PRIVATE KEY-----e-----END RSA PRIVATE KEY-----). - Selecione Criar.
- Abra o segredo, selecione a versão atual e copie o URI do Identificador Secreto :
https://myvault.vault.azure.net/secrets/my-github-app-key/<VERSION>
Dica
URI versionado vs. não versionado: Pode usar o URI versionado (com /<VERSION> sufixo) para fixar uma versão de chave específica, ou omitir a versão para usar sempre a mais recente. Utilize o URI sem versão para que, quando efetuar a rotação da chave, o agente detete automaticamente a nova versão sem atualizar o URI.
Conceder ao Key Vault acesso à identidade do agente
- No portal Azure, abra Key Vault>Controlo de acesso (IAM).
- Atribuir Key Vault Secrets User à identidade gerida pelo agente.
- Espera que a atribuição de funções entre em vigor.
Configurar aplicação BYO em Acesso ao código
- Abra o seu agente no portal.
- Vá a Builder>Acesso ao código.
- Selecionar Adicionar repositórios.
- Escolha GitHub e introduza o anfitrião:
-
github.compara GitHub público -
<TENANT>.ghe.compara a Cloud Empresarial
-
- Continuar para Autenticação.
- Selecione Traga a sua própria GitHub Aplicação.
- Insira:
- ID de Cliente
- URI secreto de chave privada (Key Vault)
- Identidade do Key Vault opcional (ou manter a atribuída pelo sistema)
- Selecione Conectar.
O assistente valida as suas credenciais. Quando a operação for bem-sucedida, verá Ligado como aplicação do GitHub com uma marca de verificação verde.
Note
Quando inseres um domínio *.ghe.com como anfitrião, o assistente seleciona automaticamente Traz a tua própria GitHub App. OAuth e PAT não estão disponíveis para os hosts GHE.
Adicionar repositórios e verificar a ligação
- Seleciona repositórios e guarda.
- Confirme que o cartão de acesso por código apresenta o host conectado e o tipo de autenticação
GitHubApp. - Teste no chat:
Get me recent issues from owner/repo.
Identidade gerida por aplicação para várias aplicações do GitHub
Por predefinição, o agente utiliza a sua identidade gerida atribuída pelo sistema para ler a chave privada do Key Vault. Se gerir várias GitHub Apps (por exemplo, uma por instância GHE), pode atribuir uma identidade gerida atribuída pelo utilizador diferente a cada aplicação. Esta abordagem proporciona isolamento de segurança porque cada identidade só tem acesso ao seu próprio segredo do Key Vault.
Selecione a identidade na lista pendente Identidade do Key Vault na etapa de configuração.
Suporte multi-host para ligações GitHub
Podes ligar vários hosts do GitHub ao mesmo agente. Cada host tem autenticação independente:
-
github.com→ Aplicação OAuth, PAT ou BYO -
contoso.ghe.com→ Aplicação BYO -
engineering.ghe.com→ BYO App (com uma GitHub App diferente)
Desligar um host não afeta os outros.
Troubleshooting
| Symptom | Causa provável | Corrigir |
|---|---|---|
| Falhas na validação da autenticação | ID de cliente errado ou host errado | A aplicação Verify foi criada no mesmo host introduzido no Code Access. |
| A leitura secreta falha | RBAC ou política de acesso em falta no Key Vault | Atribua Key Vault Secrets User à identidade do agente. |
| O repositório mostra falha no acesso ao código | Permissões de aplicação ou âmbito de instalação em falta | Verifique Metadados: Leitura + Conteúdos: Leitura e o âmbito de instalação. |
| Os problemas no chat funcionam, mas o acesso ao código falha | As verificações de endpoint/path diferem | Execute novamente o teste de ligação e verifique a permissão de metadados. |