

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á.

# Plug-in Trino para integração do Ranger com o Amazon EMR
<a name="emr-ranger-trino"></a>

O Trino (antes chamado PrestoSQL) é um mecanismo de consulta SQL que pode ser usado para executar consultas em fontes de dados como HDFS, armazenamento de objetos, bancos de dados relacionais e bancos de dados NoSQL. Ele elimina a necessidade de migrar dados para um local central e permite a consulta de dados de qualquer lugar. O Amazon EMR fornece um plug-in Apache Ranger para proporcionar controles de acesso refinados para o Trino. O plug-in é compatível com o servidor Apache Ranger Admin de código aberto versão 2.0 e posteriores.

**Topics**
+ [Recursos compatíveis](#emr-ranger-trino-features)
+ [Instalação da configuração de serviço](#emr-ranger-trino-service-config)
+ [Criar políticas do Trino](#emr-ranger-trino-create-policies)
+ [Considerações](#emr-ranger-trino-considerations)
+ [Limitações](#emr-ranger-trino-limitations)

## Recursos compatíveis
<a name="emr-ranger-trino-features"></a>

O plug-in Apache Ranger para Trino no Amazon EMR oferece suporte a todos os recursos do mecanismo de consulta Trino, que é protegido por um controle de acesso refinado. Isso inclui controles de acesso em nível de banco de dados, de tabela e de coluna, filtragem de linhas e mascaramento de dados. As políticas do Apache Ranger podem incluir políticas de concessão e políticas de negação para usuários e grupos. Os eventos de auditoria também são enviados aos CloudWatch registros.

## Instalação da configuração de serviço
<a name="emr-ranger-trino-service-config"></a>

A instalação da definição de serviço Trino requer que o servidor Ranger Admin esteja configurado. Para configurar o servidor Ranger Admin, consulte [Configure um servidor Ranger Admin para integração com o Amazon EMR](emr-ranger-admin.md).

Siga estas etapas para instalar a definição de serviço do Trino.

1. SSH no servidor Apache Ranger Admin.

   ```
   ssh ec2-user@ip-xxx-xxx-xxx-xxx.ec2.internal
   ```

   

1. Desinstale o plug-in do servidor Presto, se houver. Execute o comando a seguir. Se isso ocorrer com o erro “Serviço não encontrado”, significa que o plug-in do servidor Presto não foi instalado no servidor. Prossiga para a próxima etapa.

   ```
   curl -f -u *<admin users login>*:*_<_**_password_ **_for_** _ranger admin user_**_>_* -X DELETE -k 'https://*<RANGER SERVER ADDRESS>*:6182/service/public/v2/api/servicedef/name/presto'
   ```

1. Baixe a definição de serviço e o plug-in do servidor Apache Ranger Admin. Em um diretório temporário, baixe a definição de serviço. Essa definição de serviço é compatível com as versões Ranger 2.x.

   ```
   wget https://s3.amazonaws.com/elasticmapreduce/ranger/service-definitions/version-2.0/ranger-servicedef-amazon-emr-trino.json
   ```

1. Registre a definição de serviço do Apache Trino para o Amazon EMR.

   ```
   curl -u *<admin users login>*:*_<_**_password_ **_for_** _ranger admin user_**_>_* -X POST -d @ranger-servicedef-amazon-emr-trino.json \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -k 'https://*<RANGER SERVER ADDRESS>*:6182/service/public/v2/api/servicedef'
   ```

   Se esse comando for executado com êxito, você verá um novo serviço na IU do Ranger Admin chamado `TRINO`, conforme mostrado na imagem.  
![\[O Ranger Admin cria o serviço.\]](http://docs.aws.amazon.com/pt_br/emr/latest/ManagementGuide/images/ranger-create-service-trino.png)

1. Crie uma instância da aplicação `TRINO`, inserindo as informações a seguir.

   **Nome do serviço**: o nome do serviço que você usará. O valor sugerido é `amazonemrtrino`. Anote esse nome de serviço, pois ele será necessário ao criar uma configuração de segurança do Amazon EMR.

   **Nome de exibição**: o nome a ser exibido para a instância. O valor sugerido é `amazonemrtrino`.  
![\[Nome de exibição do Ranger Admin.\]](http://docs.aws.amazon.com/pt_br/emr/latest/ManagementGuide/images/ranger-display-name-trino.png)

   **jdbc. driver. ClassName**: O nome da classe JDBC para conectividade Trino. Você pode usar o valor padrão.

   **jdbc.url**: a string de conexão JDBC a ser usada ao se conectar ao coordenador Trino.

   **Nome comum para certificado:** o campo CN dentro do certificado usado para se conectar ao servidor de administração com base em um plug-in cliente. Esse valor deve corresponder ao campo CN do certificado TLS que foi criado para o plug-in.  
![\[Nome comum do Ranger Admin.\]](http://docs.aws.amazon.com/pt_br/emr/latest/ManagementGuide/images/ranger-common-name-trino.png)

   Observe que o certificado TLS para o plug-in deveria ter sido registrado no armazenamento confiável do servidor Ranger Admin. Para obter mais informações, consulte [TLS certificates](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ranger-admin-tls.html).

## Criar políticas do Trino
<a name="emr-ranger-trino-create-policies"></a>

Ao criar uma nova política, preencha os campos a seguir.

**Nome da política**: o nome da política.

**Rótulo de política**: um rótulo que você pode colocar na política.

**Catálogo**: o catálogo ao qual a política se aplica. O curinga “\$1” representa todos os catálogos.

**Esquema**: os esquemas aos quais a política se aplica. O curinga “\$1” representa todos os esquemas.

**Tabela**: as tabelas às quais a política se aplica. O caractere curinga “\$1” representa todas as tabelas.

**Coluna**: as colunas às quais a política se aplica. O caractere curinga “\$1” representa todas as colunas.

**Descrição**: uma descrição da política.

Há outros tipos de políticas para o **usuário Trino** (para acesso à representação do usuário), a **propriedade do sistema/sessão Trino** (para alterar o sistema do mecanismo ou as propriedades da sessão), **funções/procedimentos** (para permitir chamadas de função ou procedimento) e o **URL** (para conceder acesso de leitura/gravação ao mecanismo em locais de dados).

![\[O Ranger Admin cria detalhes da política.\]](http://docs.aws.amazon.com/pt_br/emr/latest/ManagementGuide/images/ranger-create-policy-details-trino.png)


Para conceder permissões a usuários e grupos específicos, insira os usuários e grupos. Também é possível especificar exclusões para condições de **permissão** e **negação**.

![\[Os detalhes da política do Ranger Admin permitem condições de negação.\]](http://docs.aws.amazon.com/pt_br/emr/latest/ManagementGuide/images/ranger-create-policy-allow-conditions-trino.png)


Após especificar as condições de permitir e negar, escolha **Salvar**.

## Considerações
<a name="emr-ranger-trino-considerations"></a>

Ao criar políticas do Trino no Apache Ranger, atente para algumas considerações sobre o uso.

**Servidor de metadados Hive**

O servidor de metadados Hive só pode ser acessado por mecanismos confiáveis, especificamente o mecanismo Trino, para proteção contra acesso não autorizado. O servidor de metadados Hive também é acessado por todos os nós do cluster. A porta 9083 necessária fornece acesso de todos os nós ao nó principal.

**Autenticação**

Por padrão, o Trino é configurado para se autenticar usando Kerberos conforme definido na configuração de segurança do Amazon EMR.

**A criptografia em trânsito é obrigatória**

O plug-in Trino exige que a criptografia em trânsito esteja habilitada na configuração de segurança do Amazon EMR. Para ativar a criptografia, consulte [Criptografia em trânsito](emr-data-encryption-options.md#emr-encryption-intransit).

## Limitações
<a name="emr-ranger-trino-limitations"></a>

Estas são as limitações atuais do plug-in Trino:
+ O servidor Ranger Admin não oferece suporte ao preenchimento automático.