

# Configuración del origen para registros de auditoría de GitHub
<a name="github-audit-log-source-setup"></a>

**nota**  
 Importante: Se requieren cuentas de GitHub Enterprise para usar este conector. No se admiten las cuentas personales o de organización de GitHub. 

## Integración de con GitHub
<a name="github-audit-log-integration"></a>

Las canalizaciones de telemetría de Amazon le permiten recopilar registros de auditoría de GitHub Enterprise Cloud. GitHub Enterprise es una plataforma de desarrollo de software empresarial diseñada para flujos de trabajo complejos del desarrollo moderno. GitHub Enterprise Cloud es la solución basada en la nube de GitHub Enterprise y se aloja en los servidores de GitHub.

## Autenticación con GitHub
<a name="github-audit-log-authentication"></a>

Para leer los registros de auditoría, la canalización debe autenticarse con su cuenta de GitHub. Para el [ámbito](https://docs.github.com/en/enterprise-cloud@latest/rest/enterprise-admin/audit-log?apiVersion=2022-11-28#get-the-audit-log-for-an-enterprise) de empresa, puede utilizar el token de acceso personal, mientras que, para el [ámbito](https://docs.github.com/en/enterprise-cloud@latest/rest/orgs/orgs?apiVersion=2022-11-28#get-the-audit-log-for-an-organization) de organización, puede utilizar el token de acceso personal o la aplicación de GitHub.

**Genere el token para autenticarse como token de acceso personal:**
+ Inicie sesión en [GitHub](https://github.com/dashboard) con las credenciales de la cuenta de GitHub.
+ El usuario autenticado debe ser un administrador empresarial para usar este punto de conexión.
+ Abre la página Personal access tokens (classic) de GitHub, busque Generate new token (classic) y siga el procedimiento de GitHub para generar un token con el ámbito `read:audit_log` y sin caducidad.
+ Guarda este nuevo token en un secreto de AWS Secrets Manager con la clave `personal_access_token`.

**Genere la clave privada para autenticarse como aplicación de GitHub:**
+ Inicie sesión en [GitHub](https://github.com/dashboard) con las credenciales de la cuenta de GitHub.
+ Asegúrese de que la aplicación de GitHub tenga el permiso para [permisos](https://docs.github.com/en/enterprise-cloud@latest/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app) de organización “Administration” (lectura)
+  Siga las instrucciones de [Managing private keys for GitHub Apps](https://docs.github.com/en/enterprise-cloud@latest/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps) y genere la clave privada.
+ Guarde esta clave privada en un secreto de AWS Secrets Manager con la clave `private_key` y el nombre de la aplicación de GitHub con la clave `app_id`.

## Configuración de la canalización de CloudWatch
<a name="github-audit-log-pipeline-config"></a>

Al configurar la canalización para leer registros de auditoría de GitHub Enterprise Cloud, elija registros de auditoría de GitHub como origen de datos. Seleccione el tipo de origen como empresa u organización según el ámbito de la integración y rellene la información obligatoria, como el nombre de la empresa u organización, de acuerdo con el ámbito seleccionado. Una vez que haya creado la canalización, los datos estarán disponibles en el grupo de registro de Registros de CloudWatch.

## Clases de eventos del Marco de esquema de ciberseguridad abierto compatibles
<a name="github-audit-log-ocsf-events"></a>

Esta integración es compatible con la versión 1.5.0 del esquema OCSF y [las acciones de GitHub](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/security-log-events) que se asignan al cambios de cuentas (3001), la actividad de la API (6003) y la administración de entidades (3004).

El **cambio de cuentas** contiene las siguientes acciones:
+ 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

La **actividad de la API** contiene las siguientes acciones:
+ 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....enabled
+ 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

La **administración de entidades** contiene las acciones siguientes:
+ 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....enabled
+ 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