À 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é.
Bash gpg --full-generate-key --pinentry-mode=loopback
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. - La clé PGP ne peut pas être protégée par une phrase secrète.
- Utilisez le type de clé par défaut et au moins
-
Définissez la clé comme variable d’environnement pour GitHub Enterprise Server, en remplaçant
<YOUR-KEY-ID>
par l’ID de clé GPG.Bash ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
-
Mettez à jour les paramètres du service de signature de commit de GitHub Enterprise Server.
Bash 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
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.
Bash ghe-config app.github.web-commit-signing-enabled true
ghe-config app.github.web-commit-signing-enabled true
-
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 la gestion de l'identité et de l'accès ».
- 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.
- 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
-
Exécutez la commande suivante, en remplaçant KEY-ID par votre ID de clé PGP.
Bash gpg --armor --export KEY-ID
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.
-
À partir d’un compte d’administration sur GitHub Enterprise Server, cliquez sur en haut à droite de n’importe quelle page.
-
Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site.
-
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é.
Bash gpg --full-generate-key --pinentry-mode=loopback
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
. - La clé PGP ne peut pas être protégée par une phrase secrète.
- Utilisez le type de clé par défaut et au moins
-
Définissez la clé comme variable d’environnement pour GitHub Enterprise Server, en remplaçant
<YOUR-KEY-ID>
par l’ID de clé GPG.Bash ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
-
Mettez à jour les paramètres du service de signature de commit de GitHub Enterprise Server.
Bash 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
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
-
Exécutez la commande suivante, en remplaçant KEY-ID par votre ID de clé PGP.
Bash gpg --armor --export KEY-ID
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.
Bash ghe-config app.github.web-commit-signing-enabled false
ghe-config app.github.web-commit-signing-enabled false
-
Appliquez la configuration.
Bash ghe-config-apply
ghe-config-apply