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.
- Amazon S3
- Armazenamento do Azure Blob
- Centros de evento do Azure
- Armazenamento do Google Cloud
- Splunk
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.
-
No canto superior direito de GitHub.com, clique na sua foto de perfil e, em seguida, clique em Suas empresas.
-
Na lista de empresas, clique na empresa que você deseja visualizar.
-
Na barra lateral da conta corporativa, clique em Settings.
-
Em "Configurações de ", clique em Log de Auditoria.
-
Under "Audit log", click Log streaming.
-
Select the Configure stream dropdown and click Amazon S3.
-
Under "Authentication", click Access keys.
-
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
.
- Under "Bucket", type the name of the bucket you want to stream to. Por exemplo,
-
To verify that GitHub can connect and write to the Amazon S3 endpoint, click Check endpoint.
-
Depois de verificar com sucesso o ponto de extremidade, clique em Salvar.
Setting up streaming to S3 with OpenID Connect
-
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
.
- For the provider URL, use
-
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.
-
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.
-
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, replacingENTERPRISE
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.
-
No canto superior direito de GitHub.com, clique na sua foto de perfil e, em seguida, clique em Suas empresas.
-
Na lista de empresas, clique na empresa que você deseja visualizar.
-
Na barra lateral da conta corporativa, clique em Settings.
-
Em "Configurações de ", clique em Log de Auditoria.
-
Under "Audit log", click Log streaming.
-
Select the Configure stream dropdown and click Amazon S3.
-
Under "Authentication", click OpenID Connect.
-
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
.
- Under "Bucket", type the name of the bucket you want to stream to. Por exemplo,
-
To verify that GitHub can connect and write to the Amazon S3 endpoint, click Check endpoint.
-
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:
-
Na página inicial, clique em Contas de armazenamento.
-
Clique no nome da conta de armazenamento que você deseja usar e clique em Contêineres.
-
Clique no nome do contêiner que você deseja usar.
-
Clique Tokens de acesso compartilhados.
-
No menu suspenso Permissões, altere as permissões para somente permitir
Criar
eGravar
. -
Defina uma data de validade que esteja em conformidade com sua política de rotação de segredo.
-
Clique em Gerar token SAS e URL.
-
Copie o valor do campo Blob SAS URL que é exibido. Você usará este URL em GitHub.
Em GitHub:
-
No canto superior direito de GitHub.com, clique na sua foto de perfil e, em seguida, clique em Suas empresas.
-
Na lista de empresas, clique na empresa que você deseja visualizar.
-
Na barra lateral da conta corporativa, clique em Settings.
-
Em "Configurações de ", clique em Log de Auditoria.
-
Under "Audit log", click Log streaming.
-
Clique Configurar a transmissão e selecione Azure Blob Storage.
-
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.
-
Clique em Verificar ponto de extremidade para verificar se GitHub pode conectar e gravar no ponto de Azure Blob Storage.
-
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:
-
Pesquise "Centros de Evento".
-
Selecione Centros de evento. Os nomes dos centros de eventos serão listados.
-
Faça uma observação do nome do centro do evento para o qual você deseja transmitir.
-
Clique no centro de eventos necessário. Em seguida, no menu à esquerda, selecione Políticas de Acesso Compartilhado.
-
Selecione uma política de acesso compartilhada na lista de políticas ou crie uma nova política.
-
Clique no botão à direita do campo Tecla primária da string de conexão para copiar a string de conexão.
Em GitHub:
-
No canto superior direito de GitHub.com, clique na sua foto de perfil e, em seguida, clique em Suas empresas.
-
Na lista de empresas, clique na empresa que você deseja visualizar.
-
Na barra lateral da conta corporativa, clique em Settings.
-
Em "Configurações de ", clique em Log de Auditoria.
-
Under "Audit log", click Log streaming.
-
Clique Configurar a transmissão e selecione Centros de Evento do Azure.
-
Na página de configuração, insira:
- O nome da instância do Centro de Eventos do Azure.
- A string de conexão.
-
Clique Check endpoint para verificar se GitHub pode conectar e gravar no ponto de extremidade do Centro de Eventos do Azure.
-
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.
-
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.
-
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.
-
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.
-
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.
-
No canto superior direito de GitHub.com, clique na sua foto de perfil e, em seguida, clique em Suas empresas.
-
Na lista de empresas, clique na empresa que você deseja visualizar.
-
Na barra lateral da conta corporativa, clique em Settings.
-
Em "Configurações de ", clique em Log de Auditoria.
-
Under "Audit log", click Log streaming.
-
Selecione o menu suspenso de configurar transmissão e clique em Google Cloud Storage.
-
Em "Bucket", digite o nome do seu bucket do Google Cloud Storage.
-
Em "Credenciais do JSON ", cole todo o conteúdo do arquivo para a chave do JSON da sua conta de serviço.
-
Para verificar que GitHub pode conectar e escrever no banco de armazenamento do Google Cloud Storage, clique em Verificar ponto de extremidade.
-
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.
-
No canto superior direito de GitHub.com, clique na sua foto de perfil e, em seguida, clique em Suas empresas.
-
Na lista de empresas, clique na empresa que você deseja visualizar.
-
Na barra lateral da conta corporativa, clique em Settings.
-
Em "Configurações de ", clique em Log de Auditoria.
-
Under "Audit log", click Log streaming.
-
Clique Configurar transmissão e selecione Splunk.
-
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á serhttp-input- http<host>
, em quehost
é 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á ser443
se você não mudou a configuração da porta. Se você estiver usando a versão de teste gratuito da Nuvem do Splunk, aPorta
deverá ser8088
. -
Um token que GitHub pode usar para efetuar a autenticação no aplicativo de terceiros.
-
-
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.
-
Clique Verificar ponto de extremidade para verificar se GitHub pode conectar-se e gravar no ponto de extremidade do Splunk.
-
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.
-
No canto superior direito de GitHub.com, clique na sua foto de perfil e, em seguida, clique em Suas empresas.
-
Na lista de empresas, clique na empresa que você deseja visualizar.
-
Na barra lateral da conta corporativa, clique em Settings.
-
Em "Configurações de ", clique em Log de Auditoria.
-
Under "Audit log", click Log streaming.
-
Clique Pausar transmissão.
-
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
-
No canto superior direito de GitHub.com, clique na sua foto de perfil e, em seguida, clique em Suas empresas.
-
Na lista de empresas, clique na empresa que você deseja visualizar.
-
Na barra lateral da conta corporativa, clique em Settings.
-
Em "Configurações de ", clique em Log de Auditoria.
-
Under "Audit log", click Log streaming.
-
Clique Excluir Transmissão.
-
Uma mensagem de confirmação é exibida. Clique Excluir transmissão para confirmar.