Acerca de la transmisión de bitácoras de auditoría
Para ayudarte a proteger tu propiedad intelectual y mantener el cumplimiento en tu organización, puedes utilizar la transmisión para mantener copias de tus datos de bitácoras de auditoría y monitorear:
- El acceso a los parámetros de tu organización o repositorio
- Los cambios en los permisos
- Los usuarios agregados o eliminados en una organización, repositorio o equipo
- Los usuarios que se están promoviendo a administradores
- Cambios a los permisos de una GitHub App
- Eventos de Git, tales como clonar, recuperar y subir
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. The stream contains both audit events and Git events across the entire enterprise account.
- Continuidad de datos. You can pause the stream for up to seven days without losing any audit data.
- Retención de datos. Puedes mantener tus bitácoras de auditoría y datos de eventos de Git exportados siempre que lo necesites.
Enterprise owners can set up, pause, or delete a stream at any time. The stream exports the audit and Git events data for all of the organizations in your enterprise.
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 de S3 con claves de acceso o, para evitar el almacenar secretos de vida larga en GitHub Enterprise Cloud, con OpenID Connect (OIDC).
- Configurar la transmisión a S3 con llaves de acceso
- Configurar la transmisión a S3 con OpenID Connect
- Inhabilitar la transmisión a S3 con OpenID Connect
Configurar la transmisión a S3 con llaves 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 la sección Crear, configurar y trabajar con los 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 más información sobre cómo crear o acceder a tu ID de llave de acceso y llave de secreto, consulta la sección Entender y obtener tus credenciales de AWS en la documentación de AWS.
-
En la esquina superior derecha de GitHub.com, da clic en tu foto de perfil y luego en Tus empresas.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Settings (Configuraciones).
-
Dentro de " Parámetros de ", haz clic en Audit log (Registro de auditoría).
-
Debaj de "Bitácora de auditoría", haz clic en Transmisión de bitácoras.
-
Select the Configure stream dropdown and click Amazon S3.
-
Debajo de "Autenticación", haz clic en Claves de acceso.
-
Configurar los ajustes de transmisión.
- Debajo de "Bucket", escribe el nombre del bucket al que quieras transmitir. Por ejemplo,
auditlog-streaming-test
. - Debajo de "ID de clave de acceso", escribe tu ID de clave de acceso. Por ejemplo,
ABCAIOSFODNN7EXAMPLE1
. - Debajo de "Clave secreta", escribe tu clave secreta. Por ejemplo,
aBcJalrXUtnWXYZ/A1MDENG/zPxRfiCYEXAMPLEKEY
.
- Debajo de "Bucket", escribe el nombre del bucket al que quieras transmitir. Por ejemplo,
-
To verify that GitHub can connect and write to the Amazon S3 endpoint, click Check endpoint.
-
Después de que hayas verificado la terminal con éxito, haz clic en Guardar.
Configurar la transmisión a S3 con OpenID Connect
-
En AWS, agrega el proveedor de OIDC de GitHub para IAM. Para obtener más información, consulta la sección Crear proveedores de identidad de OpenID Connect (OIDC) en la documentación de AWS.
- Para la URL de proveedor, utiliza
https://oidc-configuration.audit-log.githubusercontent.com
. - Para "Audiencia", utiliza
sts.amazonaws.com
.
- Para la URL de proveedor, utiliza
-
Crea un bucket y bloquea el acceso público a este. Para obtener más información, consulta la sección "Crear, configurar y trabajar con buckets de Amazon S3 en la documentación de AWS.
-
Crea una política que permita que GitHub escriba en el bucket. GitHub solo requiere los siguientes permisos.
{ "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 la sección Crear políticas de IAM en la documentación de AWS.
-
Configura el rol y la política de confianza para el IdP de GitHub. Para obtener más información, consulta la sección Crear un rol para la identidad web o Federación de OpenID Connect (consola) en la documentación de AWS.
- Agrega la política de permisos que creaste anteriormente para permitir la escritura en el bucket.
- Edita la relación d confianza para agregar el campo
sub
a las condiciones de validación, reemplazandoENTERPRISE
con el nombre de tu 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, da clic en tu foto de perfil y luego en Tus empresas.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Settings (Configuraciones).
-
Dentro de " Parámetros de ", haz clic en Audit log (Registro de auditoría).
-
Debaj de "Bitácora de auditoría", haz clic en Transmisión de bitácoras.
-
Select the Configure stream dropdown and click Amazon S3.
-
Debajo de "Autenticación", haz clic en OpenID Connect.
-
Configurar los ajustes de transmisión.
- Debajo de "Bucket", escribe el nombre del bucket al que quieras transmitir. Por ejemplo,
auditlog-streaming-test
. - Debajo de "Rol de ARN", escribe el rol de ARN que anotaste anteriormente. Por ejemplo,
arn:aws::iam::1234567890:role/github-audit-log-streaming-role
.
- Debajo de "Bucket", escribe el nombre del bucket al que quieras transmitir. Por ejemplo,
-
To verify that GitHub can connect and write to the Amazon S3 endpoint, click Check endpoint.
-
Después de que hayas verificado la terminal con éxito, haz clic en Guardar.
Inhabilitar la transmisión a S3 con OpenID Connect
Si quieres inhabilitar la transmisión a S3 con OIDC por cualquier razón, tal como el descubrimiento de una vulnerabilidad de seguridad en OIDC, borra el proveedor de OIDC de GitHub que creaste en AWS cuando configures la transmisión. Para obtener más información, consulta la sección Crear proveedores de identidad de OpenID Connect (OIDC) en la documentación de AWS.
Posteriormente, configura la transmisión con las claves de acceso hasta que se resuelva la vulnerabilidad. Para obtener más información, consulta la sección Configurar la transmisión hacia S3 con claves de acceso".
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 detalles, consulta la sección de "Introducción a Azure Blob Storage" em la documentación de Microsoft.
Para configurar la transmisión en GitHub, necesitarás la URL de un token SAS.
En el portal de Microsoft Azure:
-
En la página principal, haz clic en Cuentas de almacenamiento.
-
Haz clic en el nombre de la cuenta de almacenamiento que quieras utilizar y luego en Contenedores.
-
Haz clic en el nombre del contenedor que quieres utilizar.
-
Haz clic en Tokens de acceso compartidos.
-
En el menú desplegable de Permisos, cambia los permisos para solo permitir
Create
yWrite
. -
Configura una fecha de vencimiento que cumpla con tu política de rotación de secretos.
-
Haz clic en Generar un token SAS y URL.
-
Copia el valor del campo Blob SAS URL que se muestra. Utilizarás esta URL en GitHub.
En GitHub:
-
En la esquina superior derecha de GitHub.com, da clic en tu foto de perfil y luego en Tus empresas.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Settings (Configuraciones).
-
Dentro de " Parámetros de ", haz clic en Audit log (Registro de auditoría).
-
Debaj de "Bitácora de auditoría", haz clic en Transmisión de bitácoras.
-
Haz clic en Configurar transmisión y selecciona 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 llena automáticamente con base en la URL.
-
Haz clic en Verificar terminal para verificar que GitHub pueda conectarse a la terminal de Azure Blob Storage.
-
Después de que hayas verificado la terminal con éxito, haz clic en Guardar.
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 encontrar los detalles, consulta la documentación de Microsoft, en la aprte de "Inicio rápido: Crear un concentrador de eventos utilizando el portal de Azure".
Necesitas dos partes de información sobre tu concentrador de eventos: su nombre de instancia y la secuencia de conexión.
En el portal de Microsoft Azure:
-
Busca "Event Hubs".
-
Selecciona Event Hubs. 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. Posteriormente, en el menú de la izquierda, selecciona Políticas de Acceso Compartido.
-
Selecciona las políticas de acceso compartido de la lista de políticas o crea una nueva.
-
Haz clic en el botón a la derecha del campo Secuencia de conexión-llave primaria para copiar la secuencia de conexión.
En GitHub:
-
En la esquina superior derecha de GitHub.com, da clic en tu foto de perfil y luego en Tus empresas.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Settings (Configuraciones).
-
Dentro de " Parámetros de ", haz clic en Audit log (Registro de auditoría).
-
Debaj de "Bitácora de auditoría", haz clic en Transmisión de bitácoras.
-
Haz clic en Configurar transmisión y selecciona Azure Event Hubs.
-
En la página de configuración, ingresa:
- El nombre de la instancia de Azure Event Hubs.
- La secuencia de conexión.
-
Haz clic en Verificar terminal para verificar que GitHub puede conectarse y escribir en la terminal de Azure Events Hub.
-
Después de que hayas verificado la terminal con éxito, haz clic en Guardar.
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, consulta la sección 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, consulta la sección Crear y administrar llaves de cuenta 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, consulta la sección Crear buckets 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, consulta la sección Utilizar los permisos de Cloud IAM en la documentación de Google Cloud.
-
En la esquina superior derecha de GitHub.com, da clic en tu foto de perfil y luego en Tus empresas.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Settings (Configuraciones).
-
Dentro de " Parámetros de ", haz clic en Audit log (Registro de auditoría).
-
Debaj de "Bitácora de auditoría", haz clic en Transmisión de bitácoras.
-
Selecciona el menú desplegable de configurar transmisión y haz 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 verificar que GitHub pueda conectarse y escribir en el bucket de Google Cloud Storage, haz clic en Verificar terminal.
-
Después de que hayas verificado la terminal con éxito, haz clic en Guardar.
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, consulta la sección Configurar y utilizar el Recolector de Eventos HTTP en Splunk Web en la documentación de Splunk.
-
En la esquina superior derecha de GitHub.com, da clic en tu foto de perfil y luego en Tus empresas.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Settings (Configuraciones).
-
Dentro de " Parámetros de ", haz clic en Audit log (Registro de auditoría).
-
Debaj de "Bitácora de auditoría", haz clic en Transmisión de bitácoras.
-
Haz clic en Configurar transmisión y selecciona Splunk.
-
En la página de configuración, ingresa:
-
El dominio en el cual se hospeda la aplicación que quieres transmitir.
Si estás utilizando Splunk Cloud,
Domain
debe serhttp-inputs-<host>
, en dondehost
es el dominio que utilizas en Splunk Cloud. Por ejemplo:http-inputs-mycompany.splunkcloud.com
. -
El puerto mediante el cual la aplicación acepta datos.
Si estás utilizando Splunk Cloud,
Port
debería ser443
si no has cambiado la configuración del puerto. Si estás utilizando la versión de prueba gratis de Splunk Cloud,Port
debe ser8088
. -
Un token que pueda utilizar GitHub para autenticarse a la aplicación de terceros.
-
-
Deja seleccionada la casilla de Habilitar la verificación por 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.
-
Haz clic en Verificar terminal para verificar que GitHub puede conectarse y escribir en la terminal de Splunk.
-
Después de que hayas verificado la terminal con éxito, haz clic en Guardar.
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. Las bitácoras de auditoría se almacenan por hasta siete días en GitHub.com y luego se exportan cuando dejas de pausar la transmisión.
-
En la esquina superior derecha de GitHub.com, da clic en tu foto de perfil y luego en Tus empresas.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Settings (Configuraciones).
-
Dentro de " Parámetros de ", haz clic en Audit log (Registro de auditoría).
-
Debaj de "Bitácora de auditoría", haz clic en Transmisión de bitácoras.
-
Haz clic en Pausar transmisión.
-
Se mostrará un mensaje de confirmación. Haz clic en Pausar transmisión para confirmar.
Cuando la aplicación esté lista para recibir bitácoras de auditoría nuevamente, haz clic en Reanudar transmisión para reiniciar la transmisión de bitácoras de auditoría.
Borrar la transmisión de bitácoras de auditoría
-
En la esquina superior derecha de GitHub.com, da clic en tu foto de perfil y luego en Tus empresas.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Settings (Configuraciones).
-
Dentro de " Parámetros de ", haz clic en Audit log (Registro de auditoría).
-
Debaj de "Bitácora de auditoría", haz clic en Transmisión de bitácoras.
-
Haz clic en Borrar transmisión.
-
Se mostrará un mensaje de confirmación. Haz clic en Borrar transmisión para confirmar.