Skip to main content

Transmissão do log de auditoria para a sua empresa

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

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 da sua organização, você pode usar o a transmissão para manter cópias dos seus dados e monitoramento do log de auditoria:

  • O acesso às configurações da sua organização ou repositório
  • As alterações nas permissões
  • Os usuários adicionados ou removidos em uma organização, repositório ou equipe
  • Os usuários promovidos a administradores
  • Alterações nas permissões de um aplicativo GitHub
  • Eventos do Git, como clonar, buscar e fazer 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. A transmissão contém eventos de auditoria e 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 seus registros de auditoria exportados e dados de eventos do Git se precisar.

Os proprietários das empresas podem configurar, pausar ou excluir uma transmissão a qualquer momento. A transmissão exporta os dados de auditoria para todas as organizações da sua empresa.

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

You can set up streaming to S3 with access keys or, to avoid storing long-lived secrets in GitHub Enterprise Cloud, with OpenID Connect (OIDC).

Setting up streaming to S3 with access keys

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, consulte Criando, configurando e trabahlando com buckets do Amazon S3 na documentação do 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 sua chave de acesso e chave secreta, consulte Entendendo e obtendo suas credenciais AWS na documentação do AWS.

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

  2. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  3. Na barra lateral da conta corporativa, clique em Settings. Aba de configurações na barra lateral de contas corporativas

  4. Em "Configurações de ", clique em Log de Auditoria. Aba Log de auditoria na barra lateral da conta corporativa

  5. Under "Audit log", click Log streaming.

  6. Select the Configure stream dropdown and click Amazon S3.

    Escolha o Amazon S3 no menu suspenso

  7. Under "Authentication", click Access keys.

    Screenshot of the authentication options for streaming to Amazon S3

  8. Configure the stream settings.

    • Under "Bucket", type the name of the bucket you want to stream to. Por exemplo, auditlog-streaming-test.
    • Under "Access Key ID", type your access key ID. Por exemplo, ABCAIOSFODNN7EXAMPLE1.
    • Under "Secret Key", type your secret key. Por exemplo, aBJalrXUtnWXYZ/A1MDENG/zPxRfiCYEXAMPLEKEY.
  9. To verify that GitHub can connect and write to the Amazon S3 endpoint, click Check endpoint.

    Verificar o ponto de extremidade

  10. Depois de verificar com sucesso o ponto de extremidade, clique em Salvar.

Setting up streaming to S3 with OpenID Connect

  1. In AWS, add the GitHub OIDC provider to IAM. For more information, see Creating OpenID Connect (OIDC) identity providers in the AWS documentation.

    • For the provider URL, use https://oidc-configuration.audit-log.githubusercontent.com.
    • For "Audience", use sts.amazonaws.com.
  2. Create a bucket, and block public access to the bucket. For more information, see Creating, configuring, and working with Amazon S3 buckets in the AWS documentation.

  3. Create a policy that allows GitHub to write to the bucket. GitHub requires only the following permissions.

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

    For more information, see Creating IAM policies in the AWS documentation.

  4. Configure the role and trust policy for the GitHub IdP. For more information, see Creating a role for web identity or OpenID Connect Federation (console) in the AWS documentation.

    • Add the permissions policy you created above to allow writes to the bucket.
    • Edit the trust relationship to add the sub field to the validation conditions, replacing ENTERPRISE with the name of your enterprise.
      "Condition": {
         "StringEquals": {
            "oidc-configuration.audit-log.githubusercontent.com:aud": "sts.amazonaws.com",
            "oidc-configuration.audit-log.githubusercontent.com:sub": "https://github.com/ENTERPRISE"
          }
       }
      
    • Make note of the Amazon Resource Name (ARN) of the created role.
  5. No canto superior direito de GitHub.com, clique na sua foto de perfil e, em seguida, clique em Suas empresas. "Suas empresas" no menu suspenso para a foto do perfil em GitHub Enterprise Cloud

  6. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  7. Na barra lateral da conta corporativa, clique em Settings. Aba de configurações na barra lateral de contas corporativas

  8. Em "Configurações de ", clique em Log de Auditoria. Aba Log de auditoria na barra lateral da conta corporativa

  9. Under "Audit log", click Log streaming.

  10. Select the Configure stream dropdown and click Amazon S3.

    Escolha o Amazon S3 no menu suspenso

  11. Under "Authentication", click OpenID Connect.

    Screenshot of the authentication options for streaming to Amazon S3

  12. Configure the stream settings.

    • Under "Bucket", type the name of the bucket you want to stream to. Por exemplo, auditlog-streaming-test.
    • Under "ARN Role" type the ARN role you noted earlier. For example, arn:aws::iam::1234567890:role/github-audit-log-streaming-role.
  13. To verify that GitHub can connect and write to the Amazon S3 endpoint, click Check endpoint.

    Verificar o ponto de extremidade

  14. Depois de verificar com sucesso o ponto de extremidade, clique em Salvar.

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, consulte a documentação da Microsoft, "Introdução ao Azure Blob Storage".

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 de armazenamento.

  2. Clique no nome da conta de armazenamento que você deseja usar e clique em Contêineres.

    O link dos contêineres no Azure

  3. Clique no nome do contêiner que você deseja usar.

  4. Clique Tokens de acesso compartilhados.

    O link do token de acesso compartilhado no Azure

  5. No menu suspenso Permissões, altere as permissões para somente permitir Criar e Gravar.

    Menu suspenso de permissões

  6. Defina uma data de validade que esteja em conformidade com sua política de rotação de segredo.

  7. Clique em Gerar token SAS e URL.

  8. Copie o valor do campo Blob SAS URL que é exibido. Você usará este URL em GitHub.

Em GitHub:

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

  2. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  3. Na barra lateral da conta corporativa, clique em Settings. Aba de configurações na barra lateral de contas corporativas

  4. Em "Configurações de ", clique em Log de Auditoria. Aba Log de auditoria na barra lateral da conta corporativa

  5. Under "Audit log", click Log streaming.

  6. Clique Configurar a transmissão e selecione Azure Blob Storage.

    Escolha o Azure Blob Storage a partir do menu suspenso

  7. 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

  8. Clique em Verificar ponto de extremidade para verificar se GitHub pode conectar e gravar no ponto de Azure Blob Storage.

    Verificar o ponto de extremidade

  9. Depois de verificar com sucesso 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 mais informações, consulte a documentação da Microsoft, "Início rápido: Criar um centro 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. Pesquise "Centros de Evento".

    Caixa de pesquisa do portal Azure

  2. Selecione Centros de evento. 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 Tecla primária da string de conexão para copiar a string de conexão.

    A string de conexão do centro do evento

Em GitHub:

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

  2. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  3. Na barra lateral da conta corporativa, clique em Settings. Aba de configurações na barra lateral de contas corporativas

  4. Em "Configurações de ", clique em Log de Auditoria. Aba Log de auditoria na barra lateral da conta corporativa

  5. Under "Audit log", click Log streaming.

  6. Clique Configurar a transmissão e selecione Centros de Evento do Azure.

    Selecione Centro de Eventos do Azure no menu suspenso

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

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

    Insira as configurações de transmissão

  8. Clique Check endpoint para verificar se GitHub pode conectar e gravar no ponto de extremidade do Centro de Eventos do Azure.

    Verificar o ponto de extremidade

  9. Depois de verificar com sucesso o ponto de extremidade, clique em Salvar.

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, consulte Criar e gerenciar as 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, consulte 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, consulte Criando 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, consulte Usando permissões de IAM da nuvem na documentação do Google Cloud.

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

  6. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  7. Na barra lateral da conta corporativa, clique em Settings. Aba de configurações na barra lateral de contas corporativas

  8. Em "Configurações de ", clique em Log de Auditoria. Aba Log de auditoria na barra lateral da conta corporativa

  9. Under "Audit log", click Log streaming.

  10. Selecione o menu suspenso de configurar transmissão e clique em Google Cloud Storage.

    Captura de tela do meu suspenso "Configurar fluxo"

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

    Captura de tela do campo de texto do "Bucket"

  12. 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 das "Credenciais do JSON"

  13. Para verificar que GitHub pode conectar e escrever no banco de armazenamento do Google Cloud Storage, clique em Verificar ponto de extremidade.

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

  14. Depois de verificar com sucesso 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, consulte Configurar e usar o Coletor de Eventos de HTTP no Splunk Web na documentação do Splunk.

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

  2. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  3. Na barra lateral da conta corporativa, clique em Settings. Aba de configurações na barra lateral de contas corporativas

  4. Em "Configurações de ", clique em Log de Auditoria. Aba Log de auditoria na barra lateral da conta corporativa

  5. Under "Audit log", click Log streaming.

  6. Clique Configurar transmissão e selecione Splunk.

    Escolha Splunk no menu suspenso

  7. 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 a Nuvem do Splunk, o Domínio deverá ser http-input- http<host>, em que host é o domínio que você usa na nuvem do Splunk. Por exemplo: http-inputs-mycompany.splunkcloud.com.

    • A porta sobre a qual o aplicativo aceita dados.

      Se você estiver usando a Nuvem do Splunk, a Porta deverá ser 443 se você não mudou a configuração da porta. Se você estiver usando a versão de teste gratuito da Nuvem do Splunk, a Porta 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

  8. Deixe 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.

  9. Clique Verificar ponto de extremidade para verificar se GitHub pode conectar-se e gravar no ponto de extremidade do Splunk. Verificar o ponto de extremidade

  10. Depois de verificar com sucesso 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 e, em seguida, são exportados quando você suspender a pausa da transmissão.

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

  2. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  3. Na barra lateral da conta corporativa, clique em Settings. Aba de configurações na barra lateral de contas corporativas

  4. Em "Configurações de ", clique em Log de Auditoria. Aba Log de auditoria na barra lateral da conta corporativa

  5. Under "Audit log", click Log streaming.

  6. Clique Pausar transmissão.

    Pausar a transmissão

  7. Uma mensagem de confirmação é exibida. Clique Pausar transmissão para confirmar.

Quando o aplicativo estiver pronto para receber registros de auditoria novamente, clique em Retomar a transmissão para reiniciar os logs de auditoria da transmissão.

Excluindo a transmissão do log de auditoria

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

  2. Na lista de empresas, clique na empresa que você deseja visualizar. Nome de uma empresa na lista das suas empresas

  3. Na barra lateral da conta corporativa, clique em Settings. Aba de configurações na barra lateral de contas corporativas

  4. Em "Configurações de ", clique em Log de Auditoria. Aba Log de auditoria na barra lateral da conta corporativa

  5. Under "Audit log", click Log streaming.

  6. Clique Excluir Transmissão.

    Excluir a transmissão

  7. Uma mensagem de confirmação é exibida. Clique Excluir transmissão para confirmar.