Gerenciar os recursos e alertas da Segurança Avançada do GitHub
Agora que a segurança do seu projeto está configurada, tudo o que você precisa fazer é monitorar e gerenciar os recursos e alertas de Segurança Avançada do GitHub para seu projeto.
Nesta unidade, você aprenderá a usar a Visão Geral de Segurança para monitorar os riscos de segurança em seu projeto. Esta unidade também aborda como usar os endpoints de Segurança Avançada do GitHub para gerenciar os recursos e alertas de Segurança Avançada.
Use a Visão Geral de Segurança
A Visão Geral de Segurança está disponível na guia Segurança de organizações e repositórios. Você pode usá-lo para obter uma visão de alto nível do status de segurança da sua organização ou para identificar repositórios problemáticos que exigem intervenção.
- No nível da organização, a Visão Geral de Segurança exibe informações de segurança agregadas e específicas do repositório para repositórios que sua organização possui. Você também pode filtrar informações por recurso de segurança.
- No nível da equipe, a Visão Geral de Segurança exibe informações de segurança específicas do repositório para repositórios para os quais a equipe tem privilégios de administrador.
- No nível do repositório, a Visão Geral de Segurança mostra quais recursos de segurança estão habilitados para o repositório e oferece a opção de configurar todos os recursos de segurança disponíveis que não estão em uso no momento.
Graças ao seu alto nível de interatividade e vários filtros, a Visão Geral de Segurança é útil para análises amplas e específicas do status de segurança da sua organização. Por exemplo, você pode usá-lo para monitorar a adoção de recursos por sua organização ou por uma equipe específica à medida que você distribui a Segurança Avançada do GitHub para sua empresa ou usá-la para examinar todos os alertas de um tipo específico e nível de gravidade em todos os repositórios em sua organização.
Usar os endpoints de Segurança Avançada do GitHub
A tabela a seguir explica quais endpoints estão disponíveis para cada um dos recursos de Segurança Avançada, com links para a sua documentação.
| Característica | Pontos de extremidade | Documentação |
|---|---|---|
| Verificação de código | Recuperar e atualizar alertas de verificação de código de um repositório. Crie relatórios automatizados para alertas de verificação de código em uma organização. Carregue os resultados da análise gerados usando ferramentas de verificação de código offline. |
API de Verificação de Código |
| Verificação de segredo | Habilite ou desabilite a verificação secreta de um repositório. Recupere e atualize alertas secretos de varredura de um repositório privado. |
Repos API API de verificação de segredo |
| Análise de dependência | Habilite e desabilite alertas de dependência e o grafo de dependência para um repositório. Habilitar e desabilitar correções de segurança para um repositório. Exibir informações de dependência. |
Repos API GraphQL API |
Se você decidir usar o GitHub Actions para automatizar seus fluxos de trabalho de segurança, é importante definir corretamente as permissões para os GITHUB_TOKEN usados para fazer chamadas de API autenticadas. O GITHUB_TOKEN tem permissões padrão dependendo do escopo:
| Âmbito | Acesso padrão (permissivo) | Acesso padrão (restrito) | Acesso máximo por repositórios derivados |
|---|---|---|---|
| Ações | ler/escrever | nenhum | leitura |
| verificações | ler/escrever | nenhum | leitura |
| conteúdos | ler/escrever | leitura | leitura |
| Implantações | ler/escrever | nenhum | leitura |
| id-token | ler/escrever | nenhum | leitura |
| problemas | ler/escrever | nenhum | leitura |
| metadados | leitura | leitura | leitura |
| pacotes | ler/escrever | nenhum | leitura |
| pull-requests | ler/escrever | nenhum | leitura |
| projetos de repositório | ler/escrever | nenhum | leitura |
| eventos de segurança | ler/escrever | nenhum | leitura |
| status | ler/escrever | nenhum | leitura |
Você pode modificar as permissões para GITHUB_TOKEN em arquivos de fluxo de trabalho individuais. Se as permissões padrão para as GITHUB_TOKEN são restritivas, talvez seja necessário aumentar as permissões para permitir que algumas ações e comandos sejam executados com êxito. Se as permissões padrão são permissivas, você pode editar o arquivo de fluxo de trabalho para remover algumas permissões do GITHUB_TOKEN. Como uma boa prática de segurança, você deve conceder ao GITHUB_TOKEN o acesso menos necessário.
Você também pode usar a tecla permissions nos seus arquivos de fluxo de trabalho para modificar as permissões para o GITHUB_TOKEN para um fluxo de trabalho inteiro ou para trabalhos individuais. Essa chave permite que você configure as permissões mínimas necessárias para um fluxo de trabalho ou trabalho. Quando a permissions chave é usada, todas as permissões não especificadas são definidas como sem acesso, exceto para o escopo de metadados, que sempre obtém acesso de leitura.
name: Create issue on commit
on: [ push ]
jobs:
create_commit:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Create issue using REST API
run: |
curl --request POST \
--url http(s)://[hostname]/api/v3/repos/${{ github.repository }}/issues \
--header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
--header 'content-type: application/json' \
--data '{
"title": "Automated issue for commit: ${{ github.sha }}",
"body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \n\n The commit hash was: _${{ github.sha }}_."
}' \
--fail
No exemplo anterior, o acesso de gravação é concedido para um escopo para um único trabalho.
Além disso, você pode usar a permissions chave para adicionar e remover permissões de leitura para repositórios bifurcados, mas normalmente você não pode conceder acesso de gravação. A exceção a esse comportamento é se você selecionou a opção Enviar tokens de gravação para fluxos de trabalho de solicitações pull nas configurações do GitHub Actions.