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
O Trino (anteriormente PrestoSQL) é um mecanismo de SQL consulta que você pode usar para executar consultas em fontes de dados como armazenamento de objetosHDFS, bancos de dados relacionais e nenhum banco de dados. SQL Ele elimina a necessidade de migrar dados para um local central e permite que você consulte os dados de onde quer que estejam. EMRA Amazon fornece um plug-in Apache Ranger para fornecer 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.
Tópicos
Atributos compatíveis
O plug-in Apache Ranger para Trino na Amazon EMR oferece suporte a todas as funcionalidades 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 instalação da definição de serviço Trino requer que o servidor Ranger Admin esteja configurado. Para configurar o servidor Ranger Admin, consulte Configurar o servidor do Ranger Admin.
Siga estas etapas para instalar a definição de serviço do Trino.
-
SSHno servidor Apache Ranger Admin.
ssh ec2-user@ip-xxx-xxx-xxx-xxx.ec2.internal
-
Desinstale o plug-in do servidor Presto, se houver. Execute o seguinte comando . 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'
-
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
-
Registre a definição do serviço Apache Trino para a 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. -
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 EMR segurança da Amazon.Nome de exibição: o nome a ser exibido para a instância. O valor sugerido é
amazonemrtrino
.jdbc. driver. ClassName: O nome da JDBC classe para conectividade Trino. Você pode usar o valor padrão.
jdbc.url: A string de JDBC conexão 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 em seu TLS certificado que foi criado para o plug-in.
Observe que o TLS certificado desse plug-in deveria ter sido registrado no armazenamento confiável do servidor Ranger Admin. Para obter mais informações, consulte TLScertificados.
Criar políticas do Trino
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 “*” representa todos os catálogos.
Esquema: os esquemas aos quais a política se aplica. O curinga “*” representa todos os esquemas.
Tabela: as tabelas às quais a política se aplica. O caractere curinga “*” representa todas as tabelas.
Coluna: as colunas às quais a política se aplica. O caractere curinga “*” representa todas as colunas.
Descrição: uma descrição da política.
Existem 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 URL(para conceder acesso de leitura/gravação ao mecanismo em locais de dados).
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.
Após especificar as condições de permitir e negar, escolha Salvar.
Considerações
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 está configurado para se autenticar usando o Kerberos conforme configurado na configuração de segurança da Amazon. EMR
A criptografia em trânsito é obrigatória
O plug-in Trino exige que você tenha a criptografia em trânsito ativada na configuração de EMR segurança da Amazon. Para ativar a criptografia, consulte Criptografia em trânsito.
Limitações
Estas são as limitações atuais do plug-in Trino:
-
O servidor Ranger Admin não oferece suporte ao preenchimento automático.