Acessar o log de auditoria
Observação: Webhooks podem ser uma boa alternativa ao log de auditoria ou à pesquisa de API para determinados casos de uso. Os webhooks são uma maneira de o GitHub notificar seu servidor quando houver eventos específicos para um repositório, organização ou empresa. Em comparação com a API ou com a pesquisa de log de auditoria, os webhooks podem ser mais eficientes se você quiser apenas conhecer e, possivelmente, registrar quando determinados eventos ocorrerem em sua empresa, organização ou repositório. Confira "Documentação de webhooks".
O registro de auditoria lista os eventos desencadeados por atividades que afetam a sua organização nos últimos seis meses. Somente proprietários conseguem acessar o log de auditoria da organização.
Por padrão, são exibidos apenas os eventos dos últimos três meses. Para ver eventos mais antigos, você deve especificar um intervalo de datas com o parâmetro created
. Confira "Noções básicas de sintaxe de pesquisa".
- No canto superior direito de GitHub, selecione sua foto de perfil e selecione Suas organizações.
- Ao lado da organização, clique em Configurações.
- Na seção "Arquivos" da barra lateral, clique em Logs e depois em Log de auditoria.
Pesquisar no log de auditoria
O nome de cada entrada do log de auditoria é composto por uma categoria de eventos, seguida de um tipo de operação. Por exemplo, a entrada repo.create
refere-se à operação create
na categoria repo
.
Cada entrada do log de auditoria mostra informações aplicáveis sobre um evento, como:
- A empresa ou organização em que uma ação foi executada em
- O usuário (ator) que executou a ação
- O usuário afetado pela ação
- Em qual repositório uma ação foi executada
- A ação que foi executada
- Em que país a ação foi executada
- A data e a hora em que a ação ocorreu
- A identidade SAML SSO e SCIM do usuário (ator) que executou a ação
- Para ações fora da UI da Web, como o usuário (ator) se autenticou
- Opcionalmente, o endereço IP de origem para o usuário (ator) que executou a ação
Observe que não é possível pesquisar as entradas usando texto. No entanto, é possível criar consultas de pesquisa usando diversos filtros. Muitos operadores usados na consultar do log, como -
, >
ou <
, correspondem ao mesmo formato que a pesquisa no GitHub Enterprise Cloud. Para obter mais informações, confira "Sobre a pesquisa no GitHub".
Pesquisar com base em operação
Use o qualificador operation
para limitar as ações a tipos específicos de operações. Por exemplo:
operation:access
localiza todos os eventos em que um recurso foi acessado.operation:authentication
localiza todos os eventos em que um evento de autenticação foi realizado.operation:create
localiza todos os eventos em que um recurso foi criado.operation:modify
localiza todos os eventos em que um recurso existente foi modificado.operation:remove
localiza todos os eventos em que um recurso existente foi removido.operation:restore
localiza todos os eventos em que um recurso existente foi restaurado.operation:transfer
localiza todos os eventos em que um recurso existente foi transferido.
Pesquisar com base no repositório
Use o qualificador repo
para limitar as ações a um repositório específico. Por exemplo:
repo:my-org/our-repo
localiza todos os eventos que ocorreram no repositórioour-repo
na organizaçãomy-org
.repo:my-org/our-repo repo:my-org/another-repo
localiza todos os eventos que ocorreram nos repositóriosour-repo
eanother-repo
na organizaçãomy-org
.-repo:my-org/not-this-repo
exclui todos os eventos que ocorreram no repositórionot-this-repo
na organizaçãomy-org
.
Observe que você deve incluir o nome da conta no qualificador repo
; a busca apenas por repo:our-repo
não funcionará.
Pesquisar com base no usuário
O qualificador actor
pode definir o escopo de eventos com base no autor da ação. Por exemplo:
actor:octocat
localiza todos os eventos realizados poroctocat
.actor:octocat actor:hubot
localiza todos os eventos realizados poroctocat
ouhubot
.-actor:hubot
exclui todos os eventos realizados porhubot
.
Observe que só é possível usar um nome de usuário do GitHub Enterprise Cloud, e não o nome verdadeiro da pessoa.
Pesquisar com base na ação
Para pesquisar eventos específicos, use o qualificador action
na consulta. As ações listadas no log de auditoria são agrupadas em diferentes categorias. Para ver a lista completa de eventos em cada categoria, confira "Eventos de log de auditoria para sua organização".
Nome da categoria | Descrição |
---|---|
account | Contém todas as atividades relacionadas à conta de sua organização. |
advisory_credit | Contém todas as atividades relacionadas ao crédito de um colaborador para uma consultoria de segurança no GitHub Advisory Database. Para obter mais informações, confira "Sobre os avisos de segurança do repositório". |
auto_approve_personal_access_token_requests | Contém atividades relacionadas à política de aprovação de sua organização para fine-grained personal access tokens. Para obter mais informações, confira "Como configurar uma política de token de acesso pessoal para a organização". |
billing | Contém todas as atividades relacionadas à cobrança da organização. |
business | Contém atividades relacionadas às configurações de negócios de uma empresa. |
codespaces | Contém todas as atividades relacionadas aos codespaces de sua organização. |
copilot | Contém todas as atividades relacionadas à sua assinatura do GitHub Copilot Business ou GitHub Copilot Enterprise. |
dependabot_alerts | Contém as atividades de configuração no nível da organização para o Dependabot alerts em repositórios existentes. Para obter mais informações, confira "Sobre alertas do Dependabot". |
dependabot_alerts_new_repos | Contém atividades de configuração no nível da organização para Dependabot alerts em novos repositórios criados na organização. |
dependabot_security_updates | Contém as atividades de configuração no nível da organização para Dependabot security updates em repositórios existentes. Para obter mais informações, confira "Configurando as atualizações de segurança do Dependabot". |
dependabot_security_updates_new_repos | Contém atividades de configuração de nível da organização nas Dependabot security updates para os repositórios criados na organização. |
dependency_graph | Contém atividades de configuração no nível da organização dos grafos de dependências nos repositórios. Para obter mais informações, confira "Sobre o gráfico de dependências". |
dependency_graph_new_repos | Contém atividades de configuração no nível da organização para novos repositórios criados na organização. |
discussion_post | Contém atividades relacionadas às discussões postadas em uma página da equipe. |
discussion_post_reply | Contém todas as atividades relacionadas às respostas de discussões postadas em uma página da equipe. |
enterprise | Contém atividades relacionadas às configurações da empresa. |
hook | Tem todas as atividades relacionadas a webhooks. |
integration_installation | Contém atividades relacionadas às integrações instaladas em uma conta. |
integration_installation_request | Contém todas as atividades relacionadas a solicitações de integrantes da organização para proprietários aprovarem integrações para uso na organização. |
ip_allow_list | Contém atividades relacionadas à habilitação ou à desabilitação da lista de permissões de IP para uma organização. |
ip_allow_list_entry | Contém atividades relacionadas à criação, à exclusão e à edição de uma entrada na lista de permissões de IP para uma organização. |
issue | Contém atividades relacionadas à exclusão de um problema. |
marketplace_agreement_signature | Contém todas as atividades relacionadas à assinatura do Contrato de Desenvolvedor do GitHub Marketplace. |
marketplace_listing | Contém atividades relacionadas aos aplicativos de listagem do GitHub Marketplace. |
members_can_create_pages | Contém atividades relacionadas ao gerenciamento da publicação de sites do GitHub Pages para repositórios na organização. Para obter mais informações, confira "Gerenciar a publicação dos sites do GitHub Pages para a sua organização". |
org | Contém atividades relacionadas à associação a uma organização. |
org_credential_authorization | Contém atividades relacionadas à autorização de credenciais para uso com o logon único do SAML. |
org_secret_scanning_automatic_validity_checks | Contém atividades no nível da organização relacionadas à habilitação e à desabilitação de verificações de validade automáticas para o secret scanning. Para obter mais informações, confira "Gerenciando as configurações de segurança e de análise da sua organização". |
org_secret_scanning_custom_pattern | Contém atividades relacionadas aos padrões personalizados de secret scanning em uma organização. Para obter mais informações, confira "Definir padrões personalizados para a verificação de segredo". |
organization_default_label | Contém todas as atividades relacionadas a rótulos padrão para repositórios em sua organização. |
oauth_application | Contém todas as atividades relacionadas a OAuth apps. |
packages | Contém todas as atividades relacionadas ao GitHub Packages. |
payment_method | Contém todas as atividades relacionadas à forma como sua organização paga pelo GitHub. |
personal_access_token | Contém atividades relacionadas a fine-grained personal access tokens na organização. Para obter mais informações, confira "Gerenciar seus tokens de acesso pessoal". |
profile_picture | Contém todas as atividades relacionadas à foto do perfil de sua organização. |
project | Contém todas as atividades relacionadas a projetos (clássicos). |
protected_branch | Contém todas as atividades relacionadas aos branches protegidos. |
repo | Contém atividades relacionadas aos repositórios de propriedade de sua organização. |
repository_advisory | Contém atividades de nível do repositório relacionadas às consultorias de segurança no GitHub Advisory Database. Para obter mais informações, confira "Sobre os avisos de segurança do repositório". |
repository_content_analysis | Contém todas as atividades relacionadas à habilitação ou desabilitação do uso de dados para um repositório privado. Para obter mais informações, confira "Gerenciando as configurações de segurança e análise do repositório". |
repository_dependency_graph | Contém atividades de nível do repositório relacionadas à habilitação ou à desabilitação do grafo de dependência em um repositório privado . Para obter mais informações, confira "Sobre o gráfico de dependências". |
repository_secret_scanning | Contém atividades de nível do repositório relacionadas à secret scanning. Para obter mais informações, confira "Sobre a verificação de segredo". |
repository_secret_scanning_automatic_validity_checks | Contém atividades relacionadas à habilitação e desabilitação de verificações automáticas de validade do secret scanning em um repositório. Para obter mais informações, confira "Habilitando a varredura de segredos para seu repositório". |
repository_secret_scanning_custom_pattern | Contém atividades em nível de repositório relacionadas a padrões personalizados do secret scanning. Para obter mais informações, confira "Definir padrões personalizados para a verificação de segredo". |
repository_secret_scanning_custom_pattern_push_protection | Contém atividades em nível de repositório relacionadas à proteção de push de um padrão personalizado para o secret scanning. Para obter mais informações, confira "Definir padrões personalizados para a verificação de segredo". |
repository_secret_scanning_push_protection | Contém atividades em nível de repositório relacionadas à proteção de push do secret scanning. Para obter mais informações, confira "Sobre a proteção por push". |
repository_vulnerability_alert | Contém todas as atividades relacionadas ao Dependabot alerts. |
repository_vulnerability_alerts | Contém atividades de configuração no nível do repositório em relação ao Dependabot alerts. |
role | Contém todas as atividades relacionadas às funções de repositório personalizadas. |
secret_scanning | Contém atividades de configuração em nível de organização para o secret scanning em repositórios existentes. Para obter mais informações, confira "Sobre a verificação de segredo". |
secret_scanning_new_repos | Contém atividades de configuração no nível da organização para o secret scanning para novos repositórios criados na organização. |
restore_member | Disparado quando o proprietário de uma organização reintegra um membro. Para obter mais informações, confira "Como reinstaurar um antigo membro da sua organização". |
sponsors | Contém todos os eventos relacionados aos botões do patrocinador (consulte "Exibir botão de patrocinador no repositório") |
team | Tem todas as atividades relacionadas às equipes na organização. |
workflows | Contém as atividades relacionadas a fluxos de trabalho do GitHub Actions. |
Você pode pesquisar conjuntos específicos de ações usando esses termos. Por exemplo:
action:team
localiza todos os eventos agrupados na categoria da equipe.-action:hook
exclui todos os eventos na categoria do webhook.
Cada categoria tem um conjunto de ações associadas que você pode filtrar. Por exemplo:
action:team.create
localiza todos os eventos em que uma equipe foi criada.-action:hook.events_changed
exclui todos os eventos em que os eventos em um webhook foram alterados.
Pesquisar com base na hora da ação
Use o qualificador created
para filtrar eventos no log de auditoria com base na data em que eles ocorreram. A formatação de data precisa seguir o padrão ISO8601, que é YYYY-MM-DD
(ano-mês-dia). Adicione também informações de hora THH:MM:SS+00:00
opcionais após a data, para fazer a pesquisa por hora, minuto e segundo. Isso é T
, seguido de HH:MM:SS
(hora-minutos-segundos) e uma diferença UTC (+00:00
).
Ao pesquisar uma data, você pode usar qualificadores de maior que, menor que e intervalo para filtrar os resultados ainda mais. Para obter mais informações, confira "Noções básicas de sintaxe de pesquisa".
Por exemplo:
created:2014-07-08
localiza todos os eventos ocorridos em 8 de julho de 2014.created:>=2014-07-08
localiza todos os eventos ocorridos em 8 de julho de 2014 ou após essa data.created:<=2014-07-08
localiza todos os eventos ocorridos em 8 de julho de 2014 ou antes dessa data.created:2014-07-01..2014-07-31
localiza todos os eventos ocorridos no mês de julho de 2014.
Observação: o log de auditoria contém dados dos últimos 180 dias.
Pesquisar com base no local
Usando o qualificador country
, você pode filtrar eventos no log de auditoria com base no país de origem. Você pode usar o código de duas letras do país ou o nome completo. Lembre-se de que os país com espaços no nome devem ser colocados entre aspas. Por exemplo:
country:de
localiza todos os eventos ocorridos na Alemanha.country:Mexico
localiza todos os eventos ocorridos no México.country:"United States"
localiza todos os eventos ocorridos nos Estados Unidos.
Pesquisa baseada em token de acesso
Você pode identificar todos os eventos que foram executados por um token de acesso específico. Para obter mais informações, confira "Identificar eventos de log de auditoria executados por um token de acesso".
Exportar o log de auditoria
Você pode exportar o log como dados JSON ou um arquivo CSV (valor separado por vírgula) com o menu suspenso Exportar.
Para filtrar os resultados na exportação, pesquise um ou mais desses qualificadores com suporte antes de usar o menu suspenso Exportar.
Qualificador | Valor de exemplo |
---|---|
action | team.create |
actor | octocat |
user | codertocat |
org | octo-org |
repo | octo-org/documentation |
created | 2019-06-01 |
Observação: quando você exporta eventos Git, eventos que foram iniciados por meio do navegador da Web ou as APIs REST ou GraphQL não são incluídos. Por exemplo, quando um usuário mescla uma solicitação de pull no navegador da Web, as alterações são enviadas por push para o branch base, mas o evento Git para esse push não está incluído na exportação.
Depois de exportar o log, você verá as seguintes chaves e valores no arquivo resultante.
Chave | Valor de exemplo |
---|---|
action | team.create |
actor | octocat |
user | codertocat |
actor_location.country_code | EUA |
org | octo-org |
repo | octo-org/documentation |
created_at | 1429548104000 (o registro de data e hora mostra o tempo desde a era Epoch em milissegundos.) |
data.email | [email protected] |
data.hook_id | 245 |
data.events | ["issues", "issue_comment", "pull_request", "pull_request_review_comment"] |
data.events_were | ["push", "pull_request", "issues"] |
data.target_login | octocat |
data.old_user | hubot |
data.team | octo-org/engineering |
Usando a API do log de auditoria
É possível interagir com o log de auditoria usando a API do GraphQL ou a API REST. É possível usar o escopo read:audit_log
para acessar o log de auditoria por meio das APIs.
Observação: para usar a API do log de auditoria, sua organização precisa usar o GitHub Enterprise Cloud. Para obter mais informações sobre como você pode experimentar o GitHub Enterprise Cloud gratuitamente, confira "Como configurar uma avaliação do GitHub Enterprise Cloud".
Usando a API GraphQL
Para garantir que a sua propriedade intelectual esteja segura e que você está mantendo a conformidade na sua organização, use a API do GraphQL do log de auditoria para manter cópias dos seus dados de log de auditoria e monitore: * O acesso às configurações da organização ou do repositório
- As alterações nas permissões
- Os usuários adicionados ou removidos em uma organização, um repositório ou uma equipe
- Os usuários promovidos para administradores
- Alterações nas permissões de um GitHub App
- Solicitações de API (devem ser habilitadas)
Observe que você não pode recuperar eventos Git usando a API do GraphQL. Para recuperar eventos do Git, use a API REST. Para obter mais informações, confira "ações de categoria git
".
A resposta do GraphQL pode incluir dados por até 90 a 120 dias.
Por exemplo, você pode fazer uma solicitação GraphQL para ver todos os novos integrantes adicionados à organização. Para obter mais informações, confira "Interfaces".
Usando a API REST
Para garantir a proteção da sua propriedade intelectual e que você esteja mantendo a conformidade na sua organização, use a API REST do log de auditoria para manter cópias dos seus dados de log de auditoria. Para saber mais sobre os eventos específicos que podem ser acessados usando a API REST, confira "Eventos de log de auditoria para sua organização".
O log de auditoria mantém os eventos do Git por sete dias. Isso corresponde a um período mais curto quando comparado a outros eventos de log de auditoria, que podem ser retidos por até sete meses.
Por padrão, são retornados apenas os eventos dos últimos três meses. Para incluir eventos mais antigos, você deve especificar um registro de tempo na sua consulta.
Quando você usa a API REST para solicitar eventos Git, eventos que foram iniciados por meio do navegador da Web ou as APIs REST ou APIs GraphQL não são incluídos. Por exemplo, quando você mescla uma solicitação de pull no navegador da Web, as alterações são enviadas por push para o branch base, mas o evento Git para esse push não está incluído na resposta.
Para obter mais informações sobre a API REST do log de auditoria, confira "Pontos de extremidade de API REST para organizações".