Skip to main content

Configuración de la firma de confirmación web

Puedes habilitar la firma automática de confirmaciones realizadas en la interfaz web de GitHub Enterprise Server.

Who can use this feature

Site administrators can configure web commit signing for your GitHub Enterprise Server instance.

Acerca de la firma de confirmación web

Si habilitas la firma de confirmación web, GitHub Enterprise Server usará automáticamente GPG para firmar confirmaciones que los usuarios realizan en la interfaz web de your GitHub Enterprise Server instance. Las confirmaciones firmadas por GitHub Enterprise Server tendrán un estado comprobado. Para obtener más información, consulte "Acerca de la comprobación de firmas de confirmación".

Puedes habilitar la firma de confirmación web, rotar la clave privada usada para la firma de confirmación web y deshabilitar la firma de confirmación web.

Habilitación de la firma de confirmación web

  1. En el shell administrativo, crea una clave PGP. Anota la dirección de correo electrónico y el identificador de clave.

    Shell
    gpg --full-generate-key --pinentry-mode=loopback
    • Usa el tipo de clave predeterminado y al menos 4096 bits sin expiración.

    • Usa web-flow como nombre de usuario.

    • Si tienes una dirección de correo electrónico sin respuesta definida en Consola de administración, usa esa dirección de correo electrónico. Si no es así, usa cualquier dirección de correo electrónico, como web-flow@my-company.com. No es necesario que la dirección de correo electrónico sea válida.

    • La clave PGP no se puede proteger mediante una frase de contraseña. 1. Define la clave como una variable de entorno para GitHub Enterprise Server, reemplazando <YOUR-KEY-ID> por el Id. de clave GPG.

      Shell
      ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
      ``` 1. Actualiza la configuración del servicio de firma de confirmación de GitHub Enterprise Server.
    Shell
    sudo consul-template -once -template /etc/consul-templates/etc/nomad-jobs/gpgverify/gpgverify.hcl.ctmpl:/etc/nomad-jobs/gpgverify/gpgverify.hcl
     
    nomad job run /etc/nomad-jobs/gpgverify/gpgverify.hcl
  2. Habilita la firma de confirmación web.

    Shell
    ghe-config app.github.web-commit-signing-enabled true
  3. Aplica la configuración y espera a que se complete la ejecución de la configuración.

    Shell
    ghe-config-apply
  4. Crea un nuevo usuario en your GitHub Enterprise Server instance a través de la autenticación integrada o la autenticación externa. Para obtener más información, consulta "Acerca de la autenticación para tu empresa".

    • El nombre de usuario del usuario debe ser web-flow.
    • La dirección de correo electrónico del usuario debe ser la misma dirección que usaste para la clave PGP. 1. Ejecuta el comando siguiente, pero reemplaza KEY-ID por el identificador de tu clave de PGP.
    Shell
    gpg --armor --export KEY-ID
  5. Copia la clave de PGP, que empieza por -----BEGIN PGP PUBLIC KEY BLOCK----- y termina con -----END PGP PUBLIC KEY BLOCK-----.

  6. Inicia sesión en GitHub Enterprise Server como usuario de web-flow.

  7. Agrega la clave PGP pública al perfil del usuario. Para obtener más información, consulta Adición de una clave de GPG nueva a la cuenta de GitHub.

    Nota: No quites otras claves públicas de la lista de claves GPG. Si se elimina una clave pública, los commits firmados con la clave privada correspondiente dejarán de estar marcados como comprobados.

    1. Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haz clic en .

    Captura de pantalla del icono de cohete para acceder a los ajustes administrativos

  8. Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.

    Captura de pantalla del vínculo "Administrador del sitio" 1. En la barra lateral de la izquierda, haga clic en Consola de administración . Pestaña Consola de administración en la barra lateral de la izquierda

  9. En la parte superior de la página, haga clic en Configuración. Pestaña Settings

  10. En la barra lateral de la izquierda, haga clic en Correo electrónico. Pestaña Correo electrónico

  11. En "Dirección de correo electrónico sin respuesta", escribe la misma dirección de correo electrónico que usaste para la clave PGP.

    Nota: El campo "Dirección de correo electrónico sin respuesta" solo se mostrará si has habilitado el correo electrónico para your GitHub Enterprise Server instance. Para más información, vea "Configuración del correo electrónico para notificaciones".

    1. En la barra lateral de la izquierda, haga clic en **Guardar configuración**.

    Captura de pantalla del botón para guardar los ajustes en la Consola de administración

    Nota: Al guardar la configuración en la Consola de administración se restablecen los servicios de sistema, lo que podría generar un tiempo de inactividad visible para el usuario.

  12. Espera que se complete la fase de configuración.

    Configurar tu instancia

Rotación de la clave privada usada para la firma de confirmación web

  1. En el shell administrativo, crea una clave PGP. Anota la dirección de correo electrónico y el identificador de clave.

    Shell
    gpg --full-generate-key --pinentry-mode=loopback
    • Usa el tipo de clave predeterminado y al menos 4096 bits sin expiración.

    • Usa web-flow como nombre de usuario.

    • Usa la dirección de correo electrónico sin respuesta definida en Consola de administración, que debe ser la misma que la dirección de correo electrónico del usuario web-flow.

    • La clave PGP no se puede proteger mediante una frase de contraseña. 1. Define la clave como una variable de entorno para GitHub Enterprise Server, reemplazando <YOUR-KEY-ID> por el Id. de clave GPG.

      Shell
      ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
      ``` 1. Actualiza la configuración del servicio de firma de confirmación de GitHub Enterprise Server.
    Shell
    sudo consul-template -once -template /etc/consul-templates/etc/nomad-jobs/gpgverify/gpgverify.hcl.ctmpl:/etc/nomad-jobs/gpgverify/gpgverify.hcl
     
    nomad job run /etc/nomad-jobs/gpgverify/gpgverify.hcl
    ``` 1. Ejecuta el comando siguiente, pero reemplaza KEY-ID por el identificador de tu clave de PGP.
    
    ```bash{:copy}
    gpg --armor --export KEY-ID
  2. Copia la clave de PGP, que empieza por -----BEGIN PGP PUBLIC KEY BLOCK----- y termina con -----END PGP PUBLIC KEY BLOCK-----.

  3. Inicia sesión en GitHub Enterprise Server como usuario de web-flow.

  4. Agrega la clave PGP pública al perfil del usuario. Para obtener más información, consulta Adición de una clave de GPG nueva a la cuenta de GitHub.

    Nota: No quites otras claves públicas de la lista de claves GPG. Si se elimina una clave pública, los commits firmados con la clave privada correspondiente dejarán de estar marcados como comprobados.

Deshabilitación de la firma de confirmación web

Puedes deshabilitar la firma de confirmación web para your GitHub Enterprise Server instance.

  1. En el shell administrativo, ejecuta el siguiente comando.

    Shell
    ghe-config app.github.web-commit-signing-enabled false
  2. Aplique la configuración.

    Shell
    ghe-config-apply