Cette traduction automatique est fournie pour votre commodité.
En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.
Ce document décrit comment configurer un centre de distribution de clés (KDC) Kerberos et une application web authentifiée par SPNEGO/Kerberos sur une instance EC2 Amazon Linux 2023, et comment configurer le gestionnaire de tâches Synthetics (SJM) pour monitorer avec la prise en charge de l’authentification Kerberos.
Valeurs d’espace réservé
Avant de commencer, identifiez les valeurs suivantes pour votre environnement. Remplacez chaque espace réservé par votre propre valeur partout où il apparaît dans ce document.
Espace réservé
Description
Exemple
<REALM_NAME>
Domaine Kerberos (doit être en majuscules)
KERBTEST.LOCAL
<EC2_PRIVATE_IP>
Adresse IPv4 privée de l'instance EC2
10.8.9.172
<EC2_INTERNAL_HOSTNAME>
Nom de domaine entièrement qualifié (FQDN) de l’application web
ip-X-X-X-X.ec2.internal
<CLIENT_PRINCIPAL>
Identité Kerberos attribuée aux workers Synthetics
synthetics-test
<CLIENT_KEYTAB_PATH>
Chemin complet sur l'hôte où le keytab client est stocké
/home/ec2-user/kerb-test/synthetics-test.keytab
<PRIVATE_LOCATION_KEY>
Clé de site privé New Relic
NRSP-us...
Partie 1 : configurer l'environnement hôte
Installez le serveur KDC Kerberos et les outils d'administration sur l'instance EC2 hôte :
bash
$
sudo dnf install-y krb5-server krb5-workstation
Configurez /etc/krb5.conf pour diriger les requests de domaine vers votre KDC :
bash
$
sudotee /etc/krb5.conf > /dev/null <<'EOF'
$
[libdefaults]
$
default_realm = <REALM_NAME>
$
dns_lookup_realm = false
$
dns_lookup_kdc = false
$
rdns = false
$
$
[realms]
$
<REALM_NAME> = {
$
kdc = <EC2_PRIVATE_IP>
$
admin_server = <EC2_PRIVATE_IP>
$
}
$
$
[domain_realm]
$
<EC2_INTERNAL_HOSTNAME> = <REALM_NAME>
$
EOF
Définissez le port et les règles de chiffrement pour le service KDC :
Générez des fichiers keytab contenant des identifiants non interactifs pour le client (worker Synthetics) et le nom de principal du service (SPN) du serveur web cible :
bash
$
mkdir-p /home/ec2-user/kerb-test
$
$
# 1. Create client principal & keytab for synthetics runners
Vous n’avez besoin de cette étape que si vous souhaitez exécuter un serveur web de test sur le même hôte pour valider la configuration. Vous n’en avez pas besoin pour configurer le SJM.
Déployez un conteneur Apache configuré avec mod_auth_gssapi:
Un test réussi répond avec HTTP/1.1 200 OK et affiche le contenu de la page web protégée.
Partie 2 : configurer le gestionnaire de tâches Synthetics pour Kerberos
Pour permettre aux conteneurs d'exécution de navigateur Synthetics de résoudre automatiquement le KDC, d'acquérir des tickets Kerberos, et de s'authentifier auprès des points de terminaison protégés, ajoutez les variables d'environnement Kerberos et les montages de volume suivants à votre commande SJM docker run standard.
Commande standard (sans Kerberos)
bash
$
docker run -ePRIVATE_LOCATION_KEY=<PRIVATE_LOCATION_KEY>\
>
-d--restart unless-stopped \
>
-v /var/run/docker.sock:/var/run/docker.sock:rw \
>
newrelic/synthetics-job-manager
Commande requise (avec la prise en charge de Kerberos activée)
Ajoutez les variables d’environnement (-e) et le montage de volume keytab (-v) suivants à votre commande docker run :