View a markdown version of this page

Configurazione di un endpoint Apache Livy sicuro con TLS/SSL - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione di un endpoint Apache Livy sicuro con TLS/SSL

Consulta le sezioni seguenti per saperne di più sulla configurazione di Apache Livy per Amazon EMR su EKS con crittografia TLS e SSL end-to-end.

Configurazione della crittografia TLS e SSL

Per configurare la crittografia SSL sul tuo endpoint Apache Livy, segui questi passaggi.

  • Installa il driver CSI Secrets Store e il AWS Secrets and Configuration Provider (ASCP): il driver CSI Secrets Store e l'ASCP archiviano in modo sicuro i certificati e le password JKS di Livy necessari al server pod Livy per abilitare SSL. Puoi anche installare solo il driver CSI Secrets Store e utilizzare qualsiasi altro provider di servizi segreti supportato.

  • Crea un certificato ACM: questo certificato è necessario per proteggere la connessione tra il client e l'endpoint ALB.

  • Imposta un certificato JKS, una password chiave e una password del keystore per, necessari per AWS Secrets Manager proteggere la connessione tra l'endpoint ALB e il server Livy.

  • Aggiungi le autorizzazioni all'account del servizio Livy da cui recuperare i segreti AWS Secrets Manager : il server Livy ha bisogno di queste autorizzazioni per recuperare i segreti da ASCP e aggiungere le configurazioni Livy per proteggere il server Livy. Per aggiungere le autorizzazioni IAM a un account di servizio, consulta Impostazione delle autorizzazioni di accesso con i ruoli IAM per gli account di servizio (IRSA).

Configurazione di un certificato JKS con una chiave e una password del keystore per AWS Secrets Manager

Segui questi passaggi per configurare un certificato JKS con una chiave e una password del keystore.

  1. Genera un file keystore per il server 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
  2. Crea un certificato.

    keytool -export -alias <host> -keystore mykeystore.jks -rfc -file mycertificate.cert -storepass <storePassword>
  3. Crea un file truststore.

    keytool -import -noprompt -alias <host>-file <cert_file> -keystore <truststore_file> -storepass <truststorePassword>
  4. Salva il certificato JKS in. AWS Secrets Manager Sostituiscilo livy-jks-secret con il tuo segreto e fileb://mykeystore.jks con il percorso del certificato JKS del keystore.

    aws secretsmanager create-secret \ --name livy-jks-secret \ --description "My Livy keystore JKS secret" \ --secret-binary fileb://mykeystore.jks
  5. Salva il keystore e la password della chiave in Secrets Manager. Assicurati di utilizzare i tuoi parametri.

    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>\"}"
  6. Crea uno spazio dei nomi del server Livy con il seguente comando.

    kubectl create ns <livy-ns>
  7. Create l'ServiceProviderClassoggetto per il server Livy che contiene il certificato JKS e le password.

    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>

Guida introduttiva ad Apache SSL-enabled Livy

Dopo aver abilitato SSL sul tuo server Livy, devi configurare l'serviceAccountaccesso e i keyStore segreti. keyPasswords AWS Secrets Manager

  1. Crea il namespace del server Livy.

    kubectl create namespace <livy-ns>
  2. Configura l'account del servizio Livy per avere accesso ai segreti in Secrets Manager. Per ulteriori informazioni sulla configurazione di IRSA, vedere Configurare IRSA durante l'installazione di 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
  3. Installa Livy. Per il parametro Helm chart --version, utilizza l'etichetta di release Amazon EMR, ad esempio. 7.1.0 È inoltre necessario sostituire l'ID dell'account del registro Amazon ECR e l'ID della regione con i propri ID. Puoi trovare il ECR-registry-account valore corrispondente per i tuoi account di Regione AWS registro Amazon ECR per regione.

    helm install <livy-app-name> \ oci://895885662937.dkr.ecr.region-id.amazonaws.com/livy \ --version 7.14.0 \ --namespace livy-namespace-name \ --set image=<ECR-registry-account.dkr.ecr>.<region>.amazonaws.com/livy/emr-7.14.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
  4. Continua dalla fase 5 dell'installazione di Apache Livy su Amazon EMR su EKS.