Acerca de la transmisión de bitácoras de auditoría
Para ayudar a proteger la propiedad intelectual y mantener el cumplimiento de su organización, puede usar streaming para conservar copias de los datos del registro de auditoría y supervisar: * Acceso a la configuración de la organización o el repositorio
- Cambios en los permisos
- Usuarios agregados o quitados de una organización, un repositorio o un equipo
- Usuarios ascendidos a administradores
- Cambios a los permisos de una GitHub App * Eventos de Git, como clonación, captura e inserción
Los beneficios de transmitir datos de auditoría incluyen:
- Exploración de datos. Puedes examinar los eventos transmitidos utilizando tu herramienta preferida para consultar cantidades grandes de datos. La transmisión contiene tanto los eventos de auditoría como los de Git a lo largo de toda la cuenta empresarial.
- Continuidad de los datos. Puedes poner en pausa la transmisión un máximo de siete días sin perder datos de auditoría.
- Retención de datos. Puede mantener los registros de auditoría exportados y los datos de eventos de Git siempre que sea necesario.
Los propietarios de la empresa pueden configurar, poner en pausa o eliminar una secuencia en cualquier momento. La transmisión exporta los datos de eventos de Git y auditoría de todas las organizaciones en tu empresa.
Nota: Todos los registros de auditoría se transmiten en formato JSON.
Configurar la transmisión de bitácoras de auditoría
Puedes configurar la transmisión de bitácoras de auditoría en GitHub Enterprise Cloud si sigues las instrucciones para tu proveedor.
Configurar la transmisión para Amazon S3
Puedes configurar la transmisión a S3 con claves de acceso o bien, para evitar almacenar secretos de larga duración en GitHub Enterprise Cloud, con OpenID Connect (OIDC).
- Configuración de la transmisión a S3 con claves de acceso
- Configuración de la transmisión a S3 con OpenID Connect
- Deshabilitación de la transmisión a S3 con OpenID Connect
- Integración con AWS CloudTrail Lake
Configuración de la transmisión a S3 con claves de acceso
Para transmitir bitácoras de auditoría a la terminal de Amazon S3, debes tener un bucket y llaves de acceso. Para obtener más información, consulta Creación, configuración y trabajo con buckets de Amazon S3 en la documentación de AWS. Asegúrate de bloquear el acceso público al bucket para proteger la información de tu bitácora de auditoría.
Para configurar la transmisión de bitácora de auditoría desde GitHub, necesitarás:
- El nombrede tu bucket de Amazon S3
- Tu ID de llave de acceso de AWS
- Tu llave de secreto de AWS
Para obtener información sobre cómo crear o acceder al id. clave de acceso y la clave secreta, vea Comprender y obtener las credenciales de AWS en la documentación de AWS.
-
En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Configuración. 1. En " Configuración", haz clic en Registro de auditoría.
-
En "Registro de auditoría", haz clic en Streaming de registros. 1. Selecciona la lista desplegable Configurar secuencia y haz clic en Amazon S3.
-
En "Autenticación", haz clic en Claves de acceso.
-
Configura los valores de transmisión.
- En "Cubo", escribe el nombre del cubo al que quieres transmitir. Por ejemplo,
auditlog-streaming-test
. - En "Id. de clave de acceso", escribe el identificador de la clave de acceso. Por ejemplo,
ABCAIOSFODNN7EXAMPLE1
. - En "Clave secreta", escribe la clave secreta. Por ejemplo,
aBcJalrXUtnWXYZ/A1MDENG/zPxRfiCYEXAMPLEKEY
.
- En "Cubo", escribe el nombre del cubo al que quieres transmitir. Por ejemplo,
-
Para comprobar que GitHub se puede conectar al punto de conexión de Amazon S3 y puede escribir en él, haz clic en Comprobar punto de conexión.
1. Después de comprobar correctamente el punto de conexión, haga clic en Save.
Configuración de la transmisión a S3 con OpenID Connect
-
En AWS, agrega el proveedor de OIDC de GitHub a IAM. Para obtener más información, consulta Creación de proveedores de identidades de OpenID Connect (OIDC) en la documentación de AWS.
- Para la dirección URL del proveedor, usa
https://oidc-configuration.audit-log.githubusercontent.com
. - Para "Audiencia", usa
sts.amazonaws.com
.
- Para la dirección URL del proveedor, usa
-
Crea un cubo y bloquea el acceso público a él. Para obtener más información, consulta Creación, configuración y trabajo con buckets de Amazon S3 en la documentación de AWS.
-
Crea una directiva que permita que GitHub escriba en el cubo. Para ello, copia el código JSON siguiente y reemplaza
EXAMPLE-BUCKET
por el nombre de tu cubo. GitHub solo requiere los permisos en este código JSON.{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::EXAMPLE-BUCKET/*" } ] }
Para obtener más información, consulta Crear políticas de IAM en la documentación de AWS.
-
Configura el rol y la directiva de confianza para el IdP de GitHub. Para obtener más información, consulta Creación de un rol para identidades federadas web u OpenID Connect (consola) en la documentación de AWS.
- Agrega la directiva de permisos que creaste anteriormente para permitir operaciones de escritura en el cubo.
- Edita la relación de confianza para agregar el campo
sub
a las condiciones de validación. ReemplazaENTERPRISE
por el nombre de la empresa."Condition": { "StringEquals": { "oidc-configuration.audit-log.githubusercontent.com:aud": "sts.amazonaws.com", "oidc-configuration.audit-log.githubusercontent.com:sub": "https://github.com/ENTERPRISE" } }
- Anota el nombre de recurso de Amazon (ARN) del rol creado.
-
En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Configuración. 1. En " Configuración", haz clic en Registro de auditoría.
-
En "Registro de auditoría", haz clic en Streaming de registros. 1. Selecciona la lista desplegable Configurar secuencia y haz clic en Amazon S3.
-
En "Autenticación", haz clic en OpenID Connect.
-
Configura los valores de transmisión.
- En "Cubo", escribe el nombre del cubo al que quieres transmitir. Por ejemplo,
auditlog-streaming-test
. - En "Rol de ARN", escribe el rol de ARN que anotaste anteriormente. Por ejemplo,
arn:aws::iam::1234567890:role/github-audit-log-streaming-role
.
- En "Cubo", escribe el nombre del cubo al que quieres transmitir. Por ejemplo,
-
Para comprobar que GitHub se puede conectar al punto de conexión de Amazon S3 y puede escribir en él, haz clic en Comprobar punto de conexión.
1. Después de comprobar correctamente el punto de conexión, haga clic en Save.
Deshabilitación de la transmisión a S3 con OpenID Connect
Si deseas deshabilitar la transmisión a S3 con OIDC por cualquier motivo, como la detección de una vulnerabilidad de seguridad en OIDC, elimina el proveedor de OIDC GitHub que creaste en AWS al configurar la transmisión. Para obtener más información, consulta Creación de proveedores de identidades de OpenID Connect (OIDC) en la documentación de AWS.
A continuación, configura la transmisión con claves de acceso hasta que se resuelva la vulnerabilidad. Para obtener más información, consulta "Configuración de la transmisión a S3 con claves de acceso".
Integración con AWS CloudTrail Lake
Puedes consolidar los registros de auditoría a partir de GitHub Enterprise Cloud con registros de actividad de AWS mediante la integración del streaming de registros de auditoría en S3 con AWS CloudTrail Lake. Para más información, consulta la documentación de AWS CloudTrail o el registro de auditoría de GitHub en CloudTrail Open Audit en el aws-samples/aws-cloudtrail-lake-github-audit-log
repositorio.
Configurar la transmisión hacia Azure Blob Storage
Antes de configurar una transmisión en GitHub, primero debes haber creado una cuenta de almacenamiento y un contenedor en Microsoft Azure. Para obtener más información, vea la documentación de Microsoft "Introducción a Azure Blob Storage".
Para configurar la transmisión en GitHub, necesitarás la URL de un token SAS.
En Microsoft Azure Portal:
- En la página principal, haga clic en Cuentas de almacenamiento.
- En "Nombre", haz clic en el nombre de la cuenta de almacenamiento que quieres usar.
- En "Almacenamiento de datos", haz clic en Contenedores.
- Haz clic en el nombre del contenedor que quieres utilizar.
- En la barra lateral izquierda, en "Configuración", haz clic en Tokens de acceso compartido.
- Selecciona el menú desplegable Permisos, selecciona
Create
yWrite
, y anula la selección de todas las demás opciones. - Configura una fecha de vencimiento que cumpla con tu política de rotación de secretos.
- Haga clic en Generar URL y token de SAS.
- Copie el valor del campo URL de SAS de blob que se muestra. Utilizarás esta URL en GitHub.
En GitHub : 1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Configuración. 1. En " Configuración", haz clic en Registro de auditoría.
-
En "Registro de auditoría", haz clic en Streaming de registros.
-
Haga clic en Configurar secuencia y seleccione Azure Blob Storage.
-
En la página de configuración, ingresa la URL de SAS del blob que copiaste en Azure. El campo Contenedor se rellena automáticamente en función de la dirección URL.
-
Haga clic en Check endpoint (Comprobar punto de conexión) para comprobar que GitHub puede conectarse y escribir en el punto de conexión de Azure Blob Storage.
-
Después de comprobar correctamente el punto de conexión, haga clic en Save.
Configurar la transmisión hacia Azure Event Hubs
Antes de configurar una transmisión en GitHub, primero debes tener un espacio designador de nombre para concentradores de eventos en Microsoft Azure. Posteriormente, debes crear una instancia de concentrador de eventos dentro del designador de nombre. Necesitarás los detalles de esta instancia de concentrador de eventos cuando configures la transmisión. Para obtener más información, vea la documentación de Microsoft "Inicio rápido: Creación de un centro de eventos mediante Azure Portal".
Necesitas dos partes de información sobre tu concentrador de eventos: su nombre de instancia y la secuencia de conexión.
En Microsoft Azure Portal:
-
En la parte superior de la página, junto a "Microsoft Azure", usa el cuadro de búsqueda para buscar "Event Hubs".
-
Seleccione Centro de eventos. Se listarán los nombres de tus concentradores de eventos.
-
Haz una nota del nombre del concentrador de eventos al cual quieras transmitir.
-
Haz clic en el concentrador de eventos requerido. En el menú de la izquierda, seleccione Directivas de acceso compartido.
-
Selecciona las políticas de acceso compartido de la lista de políticas o crea una nueva.
-
Haga clic en el botón situado a la derecha del campo Connection string-primary key (Clave principal de cadena de conexión) para copiar la cadena de conexión.
En GitHub : 1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Configuración. 1. En " Configuración", haz clic en Registro de auditoría.
-
En "Registro de auditoría", haz clic en Streaming de registros.
-
Haga clic en Configurar secuencia y seleccione Azure Event Hubs.
-
En la página de configuración, ingresa:
- El nombre de la instancia de Azure Event Hubs.
- La cadena de conexión.
-
Haga clic en Check endpoint (Comprobar punto de conexión) para comprobar que GitHub puede conectarse y escribir en el punto de conexión de Azure Event Hubs.
-
Después de comprobar correctamente el punto de conexión, haga clic en Save.
Configuración de la transmisión a Datadog
Para configurar la transmisión a Datadog, debes crear un token de cliente o una clave de API en Datadog y, a continuación, configurar la transmisión de registros de auditoría en GitHub Enterprise Cloud mediante el token para la autenticación. No es necesario crear un cubo u otro contenedor de almacenamiento en Datadog.
Después de configurar el streaming en Datadog, puedes ver los datos del registro de auditoría filtrando por "github.audit.streaming". Para más información, consulta Administración de registros.
-
Si aún no tienes una cuenta de Datadog, crea una.
-
En Datadog, genera un token de cliente o una clave de API y, a continuación, haz clic en Copiar clave. Para obtener más información, consulta API y claves de aplicación en Datadog Docs. 1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Configuración. 1. En " Configuración", haz clic en Registro de auditoría.
-
En "Registro de auditoría", haz clic en Streaming de registros.
-
Selecciona la lista desplegable Configurar secuencia y haz clic en Datadog.
-
En "Token", pega el token que copiaste anteriormente.
-
Selecciona el menú desplegable "Sitio" y haz clic en el sitio de Datadog. Para determinar el sitio de Datadog, compara la dirección URL de Datadog con la tabla de sitios de Datadog en Datadog Docs.
-
Para comprobar que GitHub se puede conectar al punto de conexión de Datadog y puedes escribir en él, haz clic en Comprobar punto de conexión.
1. Después de comprobar correctamente el punto de conexión, haga clic en Save. -
Después de unos minutos, confirma que los datos del registro de auditoría aparecen en la pestaña Registros de Datadog. Si los datos del registro de auditoría no aparecen, confirma que el token y el sitio son correctos en GitHub.
Configurar la transmisión para Google Cloud Storage
Para configurar la transmisión al Almacenamiento de Google Cloud, debes crear una cuenta de servicio en Google Cloud con las credenciales y permisos adecuados y luego configurar la transmisión de bitácoras de auditoría en GitHub Enterprise Cloud utilizando las credenciales de la cuenta de servicio para la autenticación.
-
Crea una cuenta de servicio de Google Cloud. No necesitas configurar controles de acceso o roles de IAM para la cuenta de servicio. Para obtener más información, vea Crear y administrar cuentas de servicio en la documentación de Google Cloud.
-
Crear una llave de JSON para la cuenta de servicio y almacenarla de forma segura. Para obtener más información, vea Crear y administrar claves de cuentas de servicio en la documentación de Google Cloud.
-
Si aún no has creado un bucket, házlo ahora. Para obtener más información, vea Crear cubos de almacenamiento en la documentación de Google Cloud.
-
Dale a la cuenta de servicio el el rol de Credor de Objetos de Almacenamiento para el bucket. Para obtener más información, vea Usar permisos de Cloud IAM en la documentación de Google Cloud.
-
En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Configuración. 1. En " Configuración", haz clic en Registro de auditoría.
-
En "Registro de auditoría", haz clic en Streaming de registros.
-
Seleccione el menú desplegable Configurar secuencia y haga clic en Google Cloud Storage.
-
Debajo de "Bucket", teclea el nombre de tu bucket de Google Cloud Storage.
-
Debajo de "Credenciales de JSON", pega todo el contenido del archivo para tu llave JSON de la cuenta de servicio.
-
Para comprobar que GitHub puede conectarse y escribir en el cubo de Google Cloud Storage, haga clic en Check endpoint (Comprobar punto de conexión).
-
Después de comprobar correctamente el punto de conexión, haga clic en Save.
Configurar la transmisión a Splunk
Para transmitir bitácoras de auditoría a la terminal del Recolector de Eventos HTTP (HEC) de Splunk, debes asegurarte de que la terminal se configure para aceptar conexiones HTTPS. Para obtener más información, vea Configuración y uso del recopilador de eventos HTTP en Splunk Web en la documentación de Splunk.
-
En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Configuración. 1. En " Configuración", haz clic en Registro de auditoría.
-
En "Registro de auditoría", haz clic en Streaming de registros.
-
Haga clic en Configurar secuencia y seleccione Splunk.
-
En la página de configuración, ingresa:
-
El dominio en el cual se hospeda la aplicación que quieres transmitir.
Si usa Splunk Cloud,
Domain
debe serhttp-inputs-<host>
, dondehost
es el dominio que usa en Splunk Cloud. Por ejemplo:http-inputs-mycompany.splunkcloud.com
. -
El puerto mediante el cual la aplicación acepta datos.
Si usa Splunk Cloud,
Port
debe ser443
si no ha cambiado la configuración del puerto. Si usa la versión de evaluación gratuita de Splunk Cloud,Port
debe ser8088
. -
Un token que pueda utilizar GitHub para autenticarse a la aplicación de terceros.
-
-
Deje activada la casilla Enable SSL verification (Habilitar comprobación SSL).
Las bitácoras de auditoría siempre se transmiten como datos cifrados, sin embargo, si seleccionas esta opción, GitHub verificará el certificado SSL de tu instancia de Splunk cuando entregue eventos. La verificación por SSL te ayuda a garantizar que los eventos se entreguen a tu terminal URL con seguridad. Puedes limpiar la selección de esta opción, pero te recomendamos que dejes habilitada la verificación por SSL.
-
Haga clic en Check endpoint (Comprobar punto de conexión) para comprobar que GitHub puede conectarse y escribir en el punto de conexión de Splunk.
1. Después de comprobar correctamente el punto de conexión, haga clic en Save.
Pausar la transmisión de bitácoras de auditoría
El pausar la transmisión te permite realizar el mantenimiento de la aplicación receptora sin perder datos de auditoría. Los registros de auditoría se almacenan durante un máximo de siete días en GitHub.com y se exportan cuando se reanuda la transmisión.
Datadog solo acepta registros de hasta 18 horas en el pasado. Si pausas una secuencia en un punto de conexión de Datadog durante más de 18 horas, corres el riesgo de perder los registros que Datadog no aceptará después de reanudar la transmisión.
-
En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Configuración. 1. En " Configuración", haz clic en Registro de auditoría.
-
En "Registro de auditoría", haz clic en Streaming de registros.
-
Haga clic en Pause stream (Pausar secuencia).
-
Se muestra un mensaje de confirmación. Haga clic en Pause stream (Pausar secuencia) para confirmar.
Cuando la aplicación esté lista para recibir registros de auditoría de nuevo, haga clic en Resume stream (Reanudar secuencia) para reiniciar los registros de auditoría de streaming.
Borrar la transmisión de bitácoras de auditoría
-
En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Configuración. 1. En " Configuración", haz clic en Registro de auditoría.
-
En "Registro de auditoría", haz clic en Streaming de registros.
-
Haga clic en Delete stream (Eliminar secuencia).
-
Se muestra un mensaje de confirmación. Haga clic en Delete stream (Eliminar secuencia) para confirmar.