Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais atualizadas, acesse a documentação em inglês.

Como transmitir o log de auditoria para sua empresa

Você pode transmitir dados de auditoria e eventos do Git de GitHub para um sistema externo de gerenciamento de dados.

Quem pode usar esse recurso

Enterprise owners can configure audit log streaming.

Sobre a transmissão do log de auditoria

Para ajudar a proteger sua propriedade intelectual e manter a conformidade para sua organização, você pode usar o streaming para manter cópias dos dados do 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 * Eventos do Git, como clonagem, busca e push

Os benefícios do streaming de dados de auditoria incluem:

  • Exploração de dados. Você pode examinar eventos transmitidos usando sua ferramenta preferida para consultar grandes quantidades de dados. O streaming contém eventos de auditoria e do Git em toda a conta corporativa.
  • Continuidade dos dados. Você pode pausar a transmissão por até sete dias sem perder nenhum dado da auditoria.
  • Retenção de dados. Você pode manter os logs de auditoria e os dados de eventos do Git exportados o tempo necessário.

Os proprietários empresariais podem configurar, pausar ou excluir um fluxo a qualquer momento. O streaming exporta os dados de auditoria e de eventos do Git para todas as organizações da sua empresa.

Observação: todos os logs de auditoria são transmitidos no formato JSON.

Configurando a transmissão do log de auditoria

Você configurou o fluxo do log de auditoria em GitHub Enterprise Cloud seguindo as instruções do seu provedor.

Configurando a transmissão para o Amazon S3

Você pode configurar o streaming para o S3 com chaves de acesso ou, para evitar o armazenamento de segredos de longa duração no GitHub Enterprise Cloud, com o OIDC (OpenID Connect).

Como configurar o streaming para o S3 com chaves de acesso

Para transmitir os logs de auditoria para o ponto de extremidade do Amazon S3, você deve ter um bucket e chaves de acesso. Para obter mais informações, confira Como criar, configurar e trabalhar com buckets do Amazon S3 na documentação da AWS. Certifique-se de bloquear o acesso público ao bucket para proteger as suas informações de log de auditoria.

Para configurar a tarnsmissão do de log de auditoria de GitHub você vai precisar:

  • O nome do seu bucket do Amazon S3
  • Seu ID de acesso ao AWS
  • Sua chave de segredo para o AWS

Para obter informações sobre como criar ou acessar a ID da chave de acesso e a chave secreta, confira Noções básicas e obtenção das suas credenciais da AWS na documentação da AWS.

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  2. Na lista de empresas, clique na empresa que você deseja visualizar.

  3. Na barra lateral da conta corporativa, clique em Configurações. 1. Em " Configurações", clique em Log de auditoria.

  4. Em "Log de auditoria", clique em Streaming de log. 1. Selecione a lista suspensa Configurar fluxo e clique em Amazon S3.

    Escolha o Amazon S3 no menu suspenso

  5. Em "Autenticação", clique em Chaves de acesso.

    Captura de tela das opções de autenticação de streaming para o Amazon S3

  6. Defina as configurações de fluxo.

    • Em "Bucket", digite o nome do bucket de destino da transmissão. Por exemplo, auditlog-streaming-test.
    • Em "ID da Chave de Acesso", digite a ID da chave de acesso. Por exemplo, ABCAIOSFODNN7EXAMPLE1.
    • Em "Chave Secreta", digite a chave secreta. Por exemplo, aBcJalrXUtnWXYZ/A1MDENG/zPxRfiCYEXAMPLEKEY.
  7. Para verificar se o GitHub pode se conectar ao ponto de extremidade do Amazon S3 e fazer gravações nele, clique em Verificar ponto de extremidade.

    Verificar o ponto de extremidade 1. Depois de verificar com êxito o ponto de extremidade, clique em Salvar.

Como configurar o streaming para o S3 com o OpenID Connect

  1. Na AWS, adicione o provedor do OIDC do GitHub para IAM. Para obter mais informações, confira Como criar provedores de identidade do OIDC (OpenID Connect) na documentação da AWS.

    • Para a URL do provedor, use https://oidc-configuration.audit-log.githubusercontent.com.
    • Para "Audiência", use sts.amazonaws.com.
  2. Crie um bucket e bloqueie o acesso público a ele. Para obter mais informações, confira Como criar, configurar e trabalhar com buckets do Amazon S3 na documentação da AWS.

  3. Crie uma política que permita que o GitHub escreva no bucket copiando o JSON a seguir e substituindo EXAMPLE-BUCKET pelo nome do bucket. O GitHub exige apenas as permissões deste JSON.

    {
       "Version": "2012-10-17",
       "Statement": [
          {
             "Sid": "VisualEditor0",
             "Effect": "Allow",
             "Action": [
                "s3:PutObject"
             ],
             "Resource": "arn:aws:s3:::EXAMPLE-BUCKET/*"
         }
       ]
    }
    

    Para obter mais informações, confira Como criar políticas de IAM na documentação da AWS.

  4. Configure a política de função e de confiança para o IdP do GitHub. Para obter mais informações, confira Como criar uma função para identidade da Web ou OpenID Connect Federation (console) na documentação da AWS.

    • Adicione a política de permissões que você criou acima para permitir gravações no bucket.
    • Edite a relação de confiança para adicionar o campo sub às condições de validação, substituindo ENTERPRISE pelo nome da sua empresa.
      "Condition": {
         "StringEquals": {
            "oidc-configuration.audit-log.githubusercontent.com:aud": "sts.amazonaws.com",
            "oidc-configuration.audit-log.githubusercontent.com:sub": "https://github.com/ENTERPRISE"
          }
       }
      
    • Anote o ARN (Nome do Recurso da Amazon) da função criada.
  5. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  6. Na lista de empresas, clique na empresa que você deseja visualizar.

  7. Na barra lateral da conta corporativa, clique em Configurações. 1. Em " Configurações", clique em Log de auditoria.

  8. Em "Log de auditoria", clique em Streaming de log. 1. Selecione a lista suspensa Configurar fluxo e clique em Amazon S3.

    Escolha o Amazon S3 no menu suspenso

  9. Em "Autenticação", clique em OpenID Connect.

    Captura de tela das opções de autenticação de streaming para o Amazon S3

  10. Defina as configurações de fluxo.

    • Em "Bucket", digite o nome do bucket de destino da transmissão. Por exemplo, auditlog-streaming-test.
    • Em "Função do ARN", digite a função do ARN que você já havia anotado. Por exemplo, arn:aws::iam::1234567890:role/github-audit-log-streaming-role.
  11. Para verificar se o GitHub pode se conectar ao ponto de extremidade do Amazon S3 e fazer gravações nele, clique em Verificar ponto de extremidade.

    Verificar o ponto de extremidade 1. Depois de verificar com êxito o ponto de extremidade, clique em Salvar.

Desabilitação do streaming para S3 com o OpenID Connect

Para desabilitar o streaming para S3 com o OIDC por qualquer motivo, como a descoberta de uma vulnerabilidade de segurança no OIDC, exclua o provedor OIDC do GitHub criado na AWS ao configurar o streaming. Para obter mais informações, confira Como criar provedores de identidade do OIDC (OpenID Connect) na documentação da AWS.

Em seguida, configure o streaming com chaves de acesso até que a vulnerabilidade seja resolvida. Para saber mais, confira "Configuração do streaming para S3 com chaves de acesso".

Integração com o AWS CloudTrail Lake

É possível consolidar seus logs de auditoria do GitHub Enterprise Cloud com os logs de atividades da AWS integrando o streaming de logs de auditoria ao S3 com o AWS CloudTrail Lake. Para saber mais, confira Documentação do AWS CloudTrail ou Log de auditoria do GitHub para CloudTrail Open Audit no repositório aws-samples/aws-cloudtrail-lake-github-audit-log.

Configurando a transmissão para o Azure Blob Storage

Antes de configurar uma transmissão em GitHub, você deve primeiro ter criado uma conta de armazenamento e um contêiner no Microsoft Azure. Para obter detalhes, confira a documentação da Microsoft: "Introdução ao Armazenamento de Blobs do Azure".

Para configurar a transmissão em GitHub, você precisa da URL de um token SAS.

No portal do Microsoft Azure:

  1. Na Página Inicial, clique em Contas do Armazenamento.
  2. Em "Nome", clique no nome da conta de armazenamento que deseja usar.
  3. Em "Armazenamento de dados", clique em Contêineres.
  4. Clique no nome do contêiner que você deseja usar.
  5. Na barra lateral esquerda, em "Configurações", clique em Tokens de acesso compartilhado.
  6. Selecione o menu suspenso Permissões e as opções Create e Write, depois desmarque todas as outras opções.
  7. Defina uma data de validade que esteja em conformidade com sua política de rotação de segredo.
  8. Clique em Gerar token SAS e URL.
  9. Copie o valor do campo URL SAS de Blob exibido. Você usará este URL em GitHub.

No GitHub : 1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  1. Na lista de empresas, clique na empresa que você deseja visualizar.

  2. Na barra lateral da conta corporativa, clique em Configurações. 1. Em " Configurações", clique em Log de auditoria.

  3. Em "Log de auditoria", clique em Streaming de log.

  4. Clique em Configurar fluxo e selecione Armazenamento de Blobs do Azure.

    Escolha o Azure Blob Storage a partir do menu suspenso

  5. Na página de configuração, insira a URL do SAS do blob que você copiou no Azure. O campo Contêiner é preenchido automaticamente com base na URL.

    Insira as configurações de transmissão

  6. Clique em Verificar ponto de extremidade para verificar se o GitHub pode se conectar ao ponto de extremidade do Armazenamento de Blobs do Azure e fazer gravações nele.

    Verificar o ponto de extremidade

  7. Depois de verificar com êxito o ponto de extremidade, clique em Salvar.

Configurando a transmissão para os Centros de Evento do Azure

Antes de configurar uma transmissão em GitHub, primeiro você deve ter o namespace do centro de um evento no Microsoft Azure. Em seguida, você deve criar uma instância do centro de um evento dentro do namespace. Você precisará das informações da instância do centro desse evento ao configurar a transmissão. Para obter detalhes, confira a documentação da Microsoft: "Guia de Início Rápido: Criar um hub de eventos usando o portal do Azure".

Você precisa de duas informações sobre seu centro de eventos: o nome da sua instância e a sequência de caracteres de conexão.

No portal do Microsoft Azure:

  1. Na parte superior da página, ao lado de "Microsoft Azure", use a caixa de pesquisa para pesquisar "Hubs de Eventos".

  2. Selecione a opção Hubs de Eventos. Os nomes dos centros de eventos serão listados.

    Uma lista de centros de eventos

  3. Faça uma observação do nome do centro do evento para o qual você deseja transmitir.

  4. Clique no centro de eventos necessário. Em seguida, no menu à esquerda, selecione Políticas de Acesso Compartilhado.

  5. Selecione uma política de acesso compartilhada na lista de políticas ou crie uma nova política.

    Uma lista de políticas de acesso compartilhadas

  6. Clique no botão à direita do campo Chave primária da cadeia de conexão para copiar a cadeia de conexão.

    A string de conexão do centro do evento

No GitHub : 1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  1. Na lista de empresas, clique na empresa que você deseja visualizar.

  2. Na barra lateral da conta corporativa, clique em Configurações. 1. Em " Configurações", clique em Log de auditoria.

  3. Em "Log de auditoria", clique em Streaming de log.

  4. Clique em Configurar fluxo e selecione Hubs de Eventos do Azure.

    Selecione Centro de Eventos do Azure no menu suspenso

  5. Na página de configuração, insira:

    • O nome da instância do Centro de Eventos do Azure.
    • A cadeia de conexão.

    Insira as configurações de transmissão

  6. Clique em Verificar ponto de extremidade para verificar se o GitHub pode se conectar ao ponto de extremidade do Hub de Eventos do Azure e fazer gravações nele.

    Verificar o ponto de extremidade

  7. Depois de verificar com êxito o ponto de extremidade, clique em Salvar.

Configurando streaming para o Datadog

Para configurar o streaming para o Datadog, você deve criar um token de cliente ou uma chave de API no Datadog e configurar o streaming de log de auditoria em GitHub Enterprise Cloud usando o token para autenticação. Você não precisa criar um bucket ou outro contêiner de armazenamento no Datadog.

Depois de configurar o streaming para o Datadog, você poderá ver seus dados de log de auditoria filtrando por "github.audit.streaming". Para obter mais informações, confira "Gerenciamento de log".

  1. Se ainda não tiver uma conta do Datadog, crie uma.

  2. No Datadog, gere um token de cliente ou uma chave de API e clique em Copiar chave. Para obter mais informações, confira API e Chaves de Aplicativo no Datadog Docs. 1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  3. Na lista de empresas, clique na empresa que você deseja visualizar.

  4. Na barra lateral da conta corporativa, clique em Configurações. 1. Em " Configurações", clique em Log de auditoria.

  5. Em "Log de auditoria", clique em Streaming de log.

  6. Selecione o menu suspenso Configurar fluxo e clique em Datadog.

    Captura de tela do menu suspenso "Configurar fluxo" com "Datadog" realçado

  7. Em "Token", cole o token copiado anteriormente.

    Captura de tela do campo "Token"

  8. Selecione o menu suspenso "Site" e clique no site do Datadog. Para determinar seu site do Datadog, compare sua URL do Datadog com a tabela em Sites do Datadog em Datadog Docs.

    Captura de tela do menu suspenso "Site"

  9. Para verificar se o GitHub pode se conectar ao ponto de extremidade do Amazon S3 e fazer gravações nele, clique em Verificar ponto de extremidade.

    Verificar o ponto de extremidade 1. Depois de verificar com êxito o ponto de extremidade, clique em Salvar.

  10. Após alguns minutos, confirme se os dados do log de auditoria estão aparecendo na guia Logs do Datadog. Se os dados do log de auditoria não estiverem aparecendo, confirme se o token e o site estão corretos em GitHub.

Configurando a transmissão para o Google Cloud Storage

Para configurar a transmissão para o Google Cloud Storage, você deve criar uma conta de serviço no Google Cloud com as credenciais e permissões apropriadas e, em seguida, configurar a transmissão do log de auditoria em GitHub Enterprise Cloud usando as credenciais da conta de serviço para autenticação.

  1. Crie uma conta de serviço para o Google Cloud. Você não precisa definir os controles de acesso ou as funções do IAM para a conta de serviço. Para obter mais informações, confira Como criar e gerenciar contas de serviço na documentação do Google Cloud.

  2. Crie uma chave JSON para a conta do serviço, e armazene a chave com segurança. Para obter mais informações, confira Como criar e gerenciar chaves de conta de serviço na documentação do Google Cloud.

  3. Se você ainda não criou um nucket, crie-o. Para obter mais informações, confira Como criar buckets de armazenamento na documentação do Google Cloud.

  4. Dê à conta de serviço a função do Storage Object Creator para o bucket. Para obter mais informações, confira Como usar permissões de IAM de Nuvem na documentação do Google Cloud.

  5. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  6. Na lista de empresas, clique na empresa que você deseja visualizar.

  7. Na barra lateral da conta corporativa, clique em Configurações. 1. Em " Configurações", clique em Log de auditoria.

  8. Em "Log de auditoria", clique em Streaming de log.

  9. Selecione o menu suspenso Configurar fluxo e clique em Google Cloud Storage.

    Captura de tela do menu suspenso "Configurar fluxo"

  10. Em "Bucket", digite o nome do seu bucket do Google Cloud Storage.

    Captura de tela do campo de texto "Bucket"

  11. Em "Credenciais do JSON ", cole todo o conteúdo do arquivo para a chave do JSON da sua conta de serviço.

    Captura de tela do campo de texto "Credenciais JSON"

  12. Para verificar se o GitHub pode se conectar ao bucket do Google Cloud Storage e fazer gravações nele, clique em Verificar ponto de extremidade.

    Captura de tela do botão "Verificar ponto de extremidade"

  13. Depois de verificar com êxito o ponto de extremidade, clique em Salvar.

Configurando a transmissão para o Splunk

Para transmitir os logs de auditoria para o Coletor de Eventos HTTP (HEC) do Splunk, você deverá garantir que o ponto de extremidade esteja configurado para aceitar conexões HTTPS. Para obter mais informações, confira Configurar e usar o Coletor de Eventos HTTP no Splunk Web na documentação do Splunk.

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  2. Na lista de empresas, clique na empresa que você deseja visualizar.

  3. Na barra lateral da conta corporativa, clique em Configurações. 1. Em " Configurações", clique em Log de auditoria.

  4. Em "Log de auditoria", clique em Streaming de log.

  5. Clique em Configurar fluxo e selecione Splunk.

    Escolha Splunk no menu suspenso

  6. Na página de configuração, insira:

    • O domínio para o qual o aplicativo deseja que você transmita está hospedado.

      Se você estiver usando o Splunk Cloud, Domain deverá ser http-inputs-<host>, em que host é o domínio que você usa no Splunk Cloud. Por exemplo: http-inputs-mycompany.splunkcloud.com.

    • A porta sobre a qual o aplicativo aceita dados.

      Se você estiver usando o Splunk Cloud, Port deverá ser 443, se você não tiver alterado a configuração da porta. Se você estiver usando a versão de avaliação gratuita do Splunk Cloud, Port deverá ser 8088.

    • Um token que GitHub pode usar para efetuar a autenticação no aplicativo de terceiros.

    Insira as configurações de transmissão

  7. Mantenha a caixa de seleção Habilitar verificação SSL marcada.

    Os logs de auditoria são sempre transmitidos como dados criptografados. No entanto, com esta opção selecionada, GitHub verifica o certificado SSL da sua instância do Splunk ao realizar os eventos. A verificação SSL ajuda a garantir que os eventos sejam entregues no ponto de extremidade da sua URL de forma segura. Você pode limpar a seleção desta opção, mas recomendamos que saia da verificação SSL habilitada.

  8. Clique em Verificar ponto de extremidade para verificar se o GitHub pode se conectar ao ponto de extremidade do Splunk e fazer gravações nele. Verificar o ponto de extremidade 1. Depois de verificar com êxito o ponto de extremidade, clique em Salvar.

Pausando a transmissão do log de auditoria

A pausa da transmissão permite que você execute a manutenção no aplicativo de recebimento sem perder dados de auditoria. Os logs de auditoria são armazenados por até sete dias em GitHub.com, depois são exportados quando você suspende a pausa da transmissão.

O Datadog aceita somente logs de até 18 horas no passado. Se você pausar um fluxo para um ponto de extremidade do Datadog por mais de 18 horas, corre o risco de perder logs que o Datadog não aceitará depois de retomar o streaming.

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  2. Na lista de empresas, clique na empresa que você deseja visualizar.

  3. Na barra lateral da conta corporativa, clique em Configurações. 1. Em " Configurações", clique em Log de auditoria.

  4. Em "Log de auditoria", clique em Streaming de log.

  5. Clique em Pausar fluxo.

    Pausar a transmissão

  6. Uma mensagem de confirmação é exibida. Clique em Pausar fluxo para confirmar.

Quando o aplicativo estiver pronto para receber logs de auditoria novamente, clique em Retomar fluxo para reiniciar os logs de auditoria de streaming.

Excluindo a transmissão do log de auditoria

  1. No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas. "Suas empresas" no menu suspenso na foto de perfil no GitHub Enterprise Cloud

  2. Na lista de empresas, clique na empresa que você deseja visualizar.

  3. Na barra lateral da conta corporativa, clique em Configurações. 1. Em " Configurações", clique em Log de auditoria.

  4. Em "Log de auditoria", clique em Streaming de log.

  5. Clique em Excluir fluxo.

    Excluir a transmissão

  6. Uma mensagem de confirmação é exibida. Clique em Excluir fluxo para confirmar.