Configuração da fonte para o GitHub Audit Log - Amazon CloudWatch
nota

Importante: é necessária uma conta do GitHub Enterprise para usar esse conector. As contas pessoais ou organizacionais do GitHub não são compatíveis.

Configuração da fonte para o GitHub Audit Log

Integrando o com o GitHub

O Amazon Telemetry Pipelines permite coletar logs de auditoria do GitHub Enterprise Cloud. O GitHub Enterprise é uma plataforma de desenvolvimento de software de nível corporativo, projetada para os fluxos de trabalho complexos do desenvolvimento moderno. O GitHub Enterprise Cloud é a solução do GitHub Enterprise baseada na nuvem que é hospedada nos servidores do GitHub.

Autenticar no GitHub

Para ler os logs, o pipeline precisa ser autenticado na conta do GitHub. No escopo da empresa, você pode usar o token de acesso pessoal e no escopo da organização, você pode usar o token de acesso pessoal ou a aplicação GitHub.

Gerar o token para autenticar como token de acesso pessoal:

  • Faça login no GitHub usando as credenciais da conta do GitHub

  • O usuário autenticado deve ser um administrador da empresa para usar esse endpoint

  • Abra a página de tokens de acesso pessoal do GitHub (clássico), localize a opção Gerar novo token (clássico) e siga o procedimento do GitHub para gerar um token com escopo de read:audit_log e sem expiração

  • Armazene esse novo token em um segredo no AWS Secrets Manager com a chave personal_access_token

Gere a chave privada para ser autenticado como aplicação GitHub:

  • Faça login no GitHub usando as credenciais da conta do GitHub

  • Certifique-se de que a aplicação GitHub tenha as permissões “Administração” da organização (leitura)

  • Siga as instruções em Gerenciar chaves privadas para aplicações GitHub e gere a chave privada

  • Armazene essa chave privada em um segredo no AWS Secrets Manager com a chave private_key e o nome da aplicação GitHub com a chave app_id

Configurar o CloudWatch Pipeline

Ao configurar o pipeline para ler os logs de auditoria do GitHub Enterprise Cloud, escolha Logs de auditoria do GitHub como a fonte de dados. Selecione Tipo de fonte como Empresa ou Organização com base no escopo de integração e preencha as informações necessárias, como nome da empresa ou da organização, de acordo com o escopo selecionado. Depois de criado o pipeline, os dados estarão disponíveis no grupo de logs do CloudWatch Logs selecionado.

Classes de eventos do Open Cybersecurity Schema Framework compatíveis

Essa integração é compatível com o esquema OCSF versão v1.5.0 e ações do GitHub que são mapeadas para Account Change (3001), API Activity (6003) e Entity Management (3004).

Account Change inclui as seguintes ações:

  • org.enable_two_factor_requirement

  • org.disable_two_factor_requirement

  • two_factor_authentication.add_factor

  • two_factor_authentication.enabled

  • two_factor_authentication.disabled

  • two_factor_authentication.remove_factor

  • org.disable_saml

  • org.enable_saml

  • personal_access_token.access_restriction_disabled

  • personal_access_token.access_restriction_enabled

  • personal_access_token.expiration_limit_set

  • personal_access_token.expiration_limit_unset

API Activity incluem as seguintes ações:

  • repository_secret_scanning_custom_pa....create

  • repository_secret_scanning_custom_pa....update

  • repository_secret_scanning_custom_pa....delete

  • repository_secret_scanning_custom_pa....publish

  • repository_secret_scanning_custom_p....enabled

  • repository_secret_scanning_custom_p....disabled

  • repository_secret_scanning_non_provi....enabled

  • repository_secret_scanning_non_provi....disabled

  • repository_secret_scanning_generic_s....enabled

  • repository_secret_scanning_generic_s....disabled

  • business_secret_scanning_custom_pattern.create

  • business_secret_scanning_custom_pattern.update

  • business_secret_scanning_custom_pattern.delete

  • business_secret_scanning_custom_pattern.publish

  • business_secret_scanning_custom_patt....enabled

  • business_secret_scanning_custom_patt....disabled

  • business_secret_scanning_generic_secrets.enabled

  • business_secret_scanning_generic_secrets.disabled

  • business_secret_scanning_non_provide....enabled

  • business_secret_scanning_non_provide....disabled

  • org_secret_scanning_non_provider_patt... ativado

  • org_secret_scanning_non_provider_patt....disabled

  • org_secret_scanning_generic_secrets.enabled

  • org_secret_scanning_generic_secrets.disabled

  • org_secret_scanning_custom_pattern.create

  • org_secret_scanning_custom_pattern.update

  • org_secret_scanning_custom_pattern.delete

  • org_secret_scanning_custom_pattern.publish

Entity Management inclui as seguintes ações:

  • oauth_application.destroy

  • oauth_application.generate_client_secret

  • oauth_application.remove_client_secret

  • oauth_application.revoke_all_tokens

  • oauth_application.revoke_tokens

  • oauth_application.transfer

  • personal_access_token.auto_approve_grant_requests_enabled

  • personal_access_token.auto_approve_grant_requests_disabled

  • ip_allow_list.disable

  • ip_allow_list.enable_for_installed_apps

  • ip_allow_list.disable_for_installed_apps

  • ip_allow_list_entry.create

  • ip_allow_list_entry.update

  • ip_allow_list_entry.destroy

  • repository_secret_scanning.disable

  • repository_secret_scanning_automatic....disabled

  • repository_secret_scanning_push_prot....disable

  • repository_secret_scanning_push_prot....enable

  • oauth_application.create

  • oauth_application.reset_secret

  • auto_approve_personal_access_token_req... ativado

  • auto_approve_personal_access_token_req....disabled

  • ip_allow_list.enable

  • ip_allow_list.disable_user_level_enforcement

  • ip_allow_list.enable_user_level_enforcement

  • repository_secret_scanning.enable

  • repository_secret_scanning_automatic....enabled

  • repository_secret_scanning_push_prot....enable

  • repository_secret_scanning_push_prot....add

  • repository_secret_scanning_push_prot....remove

  • repository_secret_scanning_push_prot....disable

  • secret_scanning.enable

  • secret_scanning.disable

  • secret_scanning_new_repos.enable

  • org_secret_scanning_automatic_validi....enabled

  • org_secret_scanning_automatic_validi....disabled

  • org_secret_scanning_push_protection_b....add

  • org_secret_scanning_push_protection_b....remove

  • org_secret_scanning_push_protection_b....disable

  • org_secret_scanning_push_protection_b....enable

  • business_secret_scanning_automatic_va....enabled

  • business_secret_scanning_automatic_va....disabled

  • business_secret_scanning_push_protection.enable

  • business_secret_scanning_push_protection.disable

  • business_secret_scanning_push_protection.enabled_for_new_repos

  • business_secret_scanning_push_protection.disabled_for_new_repos

  • business_secret_scanning_push_prote....enable

  • business_secret_scanning_push_prote....update

  • business_secret_scanning_push_prote....disable