À propos de la signature de validation web
Si vous activez la signature de validation web, GitHub Enterprise Server utilise automatiquement GPG pour signer les validations que les utilisateurs effectuent sur l’interface web de votre instance GitHub Enterprise Server. Les validations signées par GitHub Enterprise Server ont un état vérifié. Pour plus d’informations, consultez « À propos de la vérification des signatures de commit ».
Vous pouvez activer la signature de validation web, faire pivoter la clé privée utilisée pour la signature de validation web et désactiver la signature de validation web.
Activation de la signature de validation web
-
Dans l’interpréteur de commandes d’administration, créez une clé PGP. Notez l’adresse e-mail et l’ID de clé.
Shell gpg --full-generate-key --pinentry-mode=loopback
- Utilisez le type de clé par défaut et au moins
4096
bits sans expiration. - Utilisez
web-flow
comme nom d’utilisateur. Siweb-flow
est indisponible ou inutilisable, utilisez un nouveau nom d’utilisateur unique. Utilisez ce nom d’utilisateur tout au long des étapes suivantes de cet article. - Si vous avez une adresse e-mail no-reply définie dans Management Console, utilisez cette adresse e-mail. Sinon, utilisez une adresse e-mail, comme
web-flow@my-company.com
. L’adresse e-mail n’a pas besoin d’être valide.
- Utilisez le type de clé par défaut et au moins
-
La clé PGP ne peut pas être protégée par une phrase secrète. 1. Définissez la clé comme variable d’environnement pour GitHub Enterprise Server, en remplaçant
<YOUR-KEY-ID>
par l’ID de clé GPG.Shell ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')" ``` 1. Mettez à jour les paramètres du service de signature de commit de GitHub Enterprise Server. ```bash{:copy} 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
-
Activez la signature de validation web.
Shell ghe-config app.github.web-commit-signing-enabled true
-
Appliquez la configuration, puis attendez que l’exécution de la configuration se termine.
Shell ghe-config-apply
-
Créez un utilisateur sur votre instance GitHub Enterprise Server via l’authentification intégrée ou l’authentification externe. Pour plus d’informations, consultez « À propos de l’authentification pour votre entreprise ».
- Le nom d’utilisateur doit être le même que celui que vous avez utilisé lors de la création de la clé PGP à l’étape 1 ci-dessus, par exemple
web-flow
. - L’adresse e-mail de l’utilisateur doit être la même que celle que vous avez utilisée pour la création de la clé PGP. 1. Exécutez la commande suivante, en remplaçant KEY-ID par votre ID de clé PGP.
Shell gpg --armor --export KEY-ID
- Le nom d’utilisateur doit être le même que celui que vous avez utilisé lors de la création de la clé PGP à l’étape 1 ci-dessus, par exemple
-
Copiez votre clé PGP en commençant par
-----BEGIN PGP PUBLIC KEY BLOCK-----
et en terminant par-----END PGP PUBLIC KEY BLOCK-----
. -
Connectez-vous à GitHub Enterprise Server avec le compte d’utilisateur créé pour la signature de commit web, par exemple,
web-flow
. -
Ajoutez la clé PGP publique au profil de l’utilisateur. Pour plus d’informations, consultez « Ajout d’une clé GPG à votre compte GitHub ».
Remarque : ne supprimez pas les autres clés publiques de la liste des clés GPG. Si une clé publique est supprimée, les validations signées avec la clé privée correspondante ne seront plus marquées comme vérifiées.
-
Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site. 1. Dans la barre latérale « Administrateur de site », cliquez sur Management Console .
-
Dans la barre latérale « Paramètres », cliquez sur E-mail.
-
Sous « Adresse e-mail no-reply », tapez la même adresse e-mail que celle que vous avez utilisée pour la création de la clé PGP.
Remarque : Le champ « Adresse e-mail No-reply » s’affiche uniquement si vous avez activé l’e-mail pour votre instance GitHub Enterprise Server. Pour plus d’informations, consultez « Configuration de la messagerie pour les notifications ».
Remarque : l’enregistrement des paramètres dans la Management Console redémarre les services système, ce qui peut entraîner un temps d’arrêt visible pour l’utilisateur.
-
Attendez la fin de l’exécution de la configuration.
Rotation de la clé privée utilisée pour la signature de validation web
-
Dans l’interpréteur de commandes d’administration, créez une clé PGP. Notez l’adresse e-mail et l’ID de clé.
Shell gpg --full-generate-key --pinentry-mode=loopback
- Utilisez le type de clé par défaut et au moins
4096
bits sans expiration. - Utilisez le nom de l’utilisateur signant la validation web, par exemple
web-flow
. - Utilisez l’adresse e-mail no-reply définie dans Management Console, qui doit être identique à l’adresse e-mail de l’utilisateur signant la validation web, par exemple
web-flow
.
- Utilisez le type de clé par défaut et au moins
-
La clé PGP ne peut pas être protégée par une phrase secrète. 1. Définissez la clé comme variable d’environnement pour GitHub Enterprise Server, en remplaçant
<YOUR-KEY-ID>
par l’ID de clé GPG.Shell ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')" ``` 1. Mettez à jour les paramètres du service de signature de commit de GitHub Enterprise Server. ```bash{:copy} 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. Exécutez la commande suivante, en remplaçant KEY-ID par votre ID de clé PGP. ```bash{:copy} gpg --armor --export KEY-ID
-
Copiez votre clé PGP en commençant par
-----BEGIN PGP PUBLIC KEY BLOCK-----
et en terminant par-----END PGP PUBLIC KEY BLOCK-----
. -
Connectez-vous à GitHub Enterprise Server avec le compte d’utilisateur créé pour la signature de commit web, par exemple,
web-flow
. -
Ajoutez la clé PGP publique au profil de l’utilisateur. Pour plus d’informations, consultez « Ajout d’une clé GPG à votre compte GitHub ».
Remarque : ne supprimez pas les autres clés publiques de la liste des clés GPG. Si une clé publique est supprimée, les validations signées avec la clé privée correspondante ne seront plus marquées comme vérifiées.
Désactivation de la signature de validation web
Vous pouvez désactiver la signature de validation web pour votre instance GitHub Enterprise Server.
-
Dans l’interpréteur de commandes d’administration, exécutez la commande suivante.
Shell ghe-config app.github.web-commit-signing-enabled false
-
Appliquez la configuration.
Shell ghe-config-apply