

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configuração de um endpoint do Apache Livy seguro com TLS/SSL
<a name="job-runs-apache-livy-secure-endpoint"></a>

Consulte as seções a seguir para saber mais sobre como configurar o Apache Livy para Amazon EMR no EKS com criptografia end-to-end TLS e SSL.

## Configuração da criptografia TLS e SSL
<a name="job-runs-apache-livy-security-tls"></a>

Para configurar a criptografia SSL no endpoint do Apache Livy, siga estas etapas.
+ [Instale o driver CSI do Secrets Store e o AWS Secrets and Configuration Provider (ASCP)](https://docs.aws.amazon.com/secretsmanager/latest/userguide/integrating_csi_driver.html) — o driver CSI e o ASCP do Secrets Store armazenam com segurança os certificados e senhas JKS do Livy que o pod do servidor Livy precisa para habilitar o SSL. Você também pode instalar apenas o driver CSI do Secrets Store e usar qualquer outro provedor de segredos compatível.
+ [Crie um certificado do ACM](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html): esse certificado é necessário para proteger a conexão entre o cliente e o endpoint do ALB.
+ Configure um certificado JKS, uma senha de chave e uma senha de armazenamento de chaves para AWS Secrets Manager — necessários para proteger a conexão entre o endpoint ALB e o servidor Livy.
+ Adicione permissões à conta de serviço Livy para recuperar segredos AWS Secrets Manager — o servidor Livy precisa dessas permissões para recuperar segredos do ASCP e adicionar as configurações Livy para proteger o servidor Livy. Para adicionar permissões do IAM a uma conta de serviço, consulte Setting up access permissions with IAM roles for service accounts (IRSA).

### Configurando um certificado JKS com uma chave e uma senha do keystore para AWS Secrets Manager
<a name="job-runs-apache-livy-jks-certificate"></a>

Siga estas etapas para configurar um certificado do JKS com uma chave e uma senha do keystore.

1. Gere um arquivo do keystore para o servidor do 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
   ```

1. Crie um certificado.

   ```
   keytool -export -alias <host> -keystore mykeystore.jks -rfc -file mycertificate.cert -storepass <storePassword>
   ```

1. Crie um arquivo da truststore.

   ```
   keytool -import -noprompt -alias <host>-file <cert_file> -keystore <truststore_file> -storepass <truststorePassword>
   ```

1. Salve o certificado JKS em AWS Secrets Manager. Substitua `livy-jks-secret` pelo segredo e `fileb://mykeystore.jks` pelo caminho para o certificado do JKS do keystore.

   ```
   aws secretsmanager create-secret \ 
   --name livy-jks-secret \
   --description "My Livy keystore JKS secret" \
   --secret-binary fileb://mykeystore.jks
   ```

1. Salve o a senha do keystore e da chave no Secrets Manager. Use seus próprios parâmetros.

   ```
   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>\"}"
   ```

1. Crie um namespace de servidor do Livy com o comando a seguir.

   ```
   kubectl create ns <livy-ns>
   ```

1. Crie o objeto `ServiceProviderClass` para o servidor do Livy que tem o certificado do JKS e as senhas.

   ```
   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>
   ```

## Conceitos básicos do Apache Livy habilitado por SSL
<a name="job-runs-apache-livy-ssl-enabled-getting-started"></a>

Depois de habilitar o SSL no servidor do Livy, você deve configurar a `serviceAccount` para ter acesso aos segredos de `keyStore` e `keyPasswords` no AWS Secrets Manager.

1. Crie o namespace do servidor do Livy.

   ```
   kubectl create namespace <livy-ns>
   ```

1. Configure a conta de serviço do Livy para ter acesso aos segredos no Secrets Manager. Para obter mais informações sobre como configurar o IRSA, consulte [Setting up IRSA while installing Apache Livy](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/job-runs-apache-livy-irsa.html#job-runs-apache-livy-irsa).

   ```
   aws ecr get-login-password \--region region-id | helm registry login \
   --username AWS \
   --password-stdin ECR-registry-account.dkr.ecr.region-id.amazonaws.com
   ```

1. Instale o Livy. Para o parâmetro de versão do chart do Helm, use o rótulo de lançamento do Amazon EMR, como `7.1.0`. Você também deve substituir o ID da conta de registro e o ID da região do Amazon ECR pelos seus IDs. Você pode encontrar o `ECR-registry-account` valor correspondente para suas [contas Região da AWS de registro do Amazon ECR por região](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/docker-custom-images-tag.html#docker-custom-images-ECR).

   ```
   helm install <livy-app-name> \
     oci://895885662937.dkr.ecr.region-id.amazonaws.com/livy \
     --version 7.12.0 \
     --namespace livy-namespace-name \
     --set image=<ECR-registry-account.dkr.ecr>.<region>.amazonaws.com/livy/emr-7.12.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
   ```

1. Continue a partir da etapa 5 em [Installing Apache Livy on Amazon EMR on EKS](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/job-runs-apache-livy-setup.html#job-runs-apache-livy-install).