Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration d'un point de terminaison Apache Livy sécurisé avec TLS/SSL
Consultez les sections suivantes pour en savoir plus sur la configuration d'Apache Livy pour Amazon EMR sur EKS end-to-end avec le chiffrement TLS et SSL.
Configuration du chiffrement TLS et SSL
Pour configurer le chiffrement SSL sur votre point de terminaison Apache Livy, procédez comme suit.
-
Installez le pilote CSI Secrets Store et le fournisseur de AWS secrets et de configuration (ASCP) : le pilote CSI et l'ASCP de Secrets Store stockent en toute sécurité les certificats JKS et les mots de passe de Livy dont le pod de serveur Livy a besoin pour activer le protocole SSL. Vous pouvez également installer uniquement le pilote CSI Secrets Store et utiliser n'importe quel autre fournisseur de secrets compatible.
-
Créez un certificat ACM : ce certificat est nécessaire pour sécuriser la connexion entre le client et le point de terminaison ALB.
-
Configurez un certificat JKS, un mot de passe clé et un mot de passe de banque de clés pour AWS Secrets Manager : nécessaire pour sécuriser la connexion entre le point de terminaison ALB et le serveur Livy.
-
Ajoutez des autorisations au compte de service Livy pour récupérer les secrets AWS Secrets Manager : le serveur Livy a besoin de ces autorisations pour récupérer les secrets depuis ASCP et ajouter les configurations Livy pour sécuriser le serveur Livy. Pour ajouter des autorisations IAM à un compte de service, voir Configuration des autorisations d'accès avec des rôles IAM pour les comptes de service (IRSA).
Configuration d'un certificat JKS avec une clé et un mot de passe de keystore pour AWS Secrets Manager
Procédez comme suit pour configurer un certificat JKS avec une clé et un mot de passe pour le keystore.
-
Générez un fichier keystore pour le serveur Livy.
keytool -genkey -alias
<host>
-keyalg RSA -keysize 2048 –dname CN=<host>
,OU=hw,O=hw,L=<your_location>
,ST=<state>
,C=<country>
–keypass<keyPassword>
-keystore<keystore_file>
-storepass<storePassword>
--validity 3650 -
Créez un certificat.
keytool -export -alias
<host>
-keystore mykeystore.jks -rfc -filemycertificate.cert
-storepass<storePassword>
-
Créez un fichier Truststore.
keytool -import -noprompt -alias
<host>
-file<cert_file>
-keystore<truststore_file>
-storepass<truststorePassword>
-
Enregistrez le certificat JKS dans. AWS Secrets Manager
livy-jks-secret
Remplacez-le par votre code secret etfileb://mykeystore.jks
par le chemin d'accès à votre certificat JKS de keystore.aws secretsmanager create-secret \ --name
livy-jks-secret
\ --description "My Livy keystore JKS secret" \ --secret-binaryfileb://mykeystore.jks
-
Enregistrez le keystore et le mot de passe clé dans Secrets Manager. Assurez-vous d'utiliser vos propres paramètres.
aws secretsmanager create-secret \ --name
livy-jks-secret
\ --description "My Livy key and keystore password secret" \ --secret-string "{\"keyPassword\":\"<test-key-password>
\",\"keyStorePassword\":\"<test-key-store-password>
\"}" -
Créez un espace de noms de serveur Livy à l'aide de la commande suivante.
kubectl create ns
<livy-ns>
-
Créez l'
ServiceProviderClass
objet pour le serveur Livy qui possède le certificat JKS et les mots de passe.cat >livy-secret-provider-class.yaml << EOF apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name: aws-secrets spec: provider: aws parameters: objects: | - objectName: "livy-jks-secret" objectType: "secretsmanager" - objectName: "livy-passwords" objectType: "secretsmanager" EOF kubectl apply -f livy-secret-provider-class.yaml -n
<livy-ns>
Commencer à utiliser Apache Livy compatible SSL
Après avoir activé le SSL sur votre serveur Livy, vous devez configurer le serviceAccount
pour avoir accès aux keyPasswords
secrets keyStore
et. AWS Secrets Manager
-
Créez l'espace de noms du serveur Livy.
kubectl create namespace
<livy-ns>
Configurez le compte de service Livy pour avoir accès aux secrets dans Secrets Manager. Pour plus d'informations sur la configuration de l'IRSA, voir Configuration de l'IRSA lors de l'installation d'Apache Livy.
aws ecr get-login-password \--region region-id | helm registry login \ --username AWS \ --password-stdin ECR-registry-account.dkr.ecr.region-id.amazonaws.com
-
Installez Livy. Pour le paramètre Helm chart --version, utilisez votre étiquette de version Amazon EMR, telle que.
7.1.0
Vous devez également remplacer l'ID de compte de registre Amazon ECR et l'ID de région par les vôtres. IDs Vous pouvez trouver laECR-registry-account
valeur correspondante pour vos comptes Région AWS de registre Amazon ECR par région.helm install
<livy-app-name>
\ oci://895885662937.dkr.ecr.region-id.amazonaws.com/livy \ --version 7.7.0 \ --namespacelivy-namespace-name
\ --set image=<ECR-registry-account.dkr.ecr>.<region>
.amazonaws.com/livy/emr-7.7.0:latest \ --set sparkNamespace=spark-namespace
\ --set ssl.enabled=true --set ssl.CertificateArn=livy-acm-certificate-arn --set ssl.secretProviderClassName=aws-secrets --set ssl.keyStoreObjectName=livy-jks-secret --set ssl.keyPasswordsObjectName=livy-passwords --create-namespace -
Continuez à partir de l'étape 5 de l'installation d'Apache Livy sur Amazon EMR sur EKS.