Complemento Trino - Amazon EMR

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Complemento Trino

Trino (anteriormente PrestoSQL) es un motor de SQL consultas que se puede utilizar para ejecutar consultas en fuentes de datosHDFS, como el almacenamiento de objetos, las bases de datos relacionales y las bases de datos No. SQL Elimina la necesidad de migrar los datos a una ubicación central y permite consultarlos desde cualquier ubicación. Amazon EMR proporciona un complemento Apache Ranger para proporcionar controles de acceso detallados para Trino. El complemento es compatible con la versión 2.0 y posteriores del servidor de Apache Ranger Admin de código abierto.

Características admitidas

El complemento Apache Ranger para Trino en Amazon EMR es compatible con todas las funciones del motor de consultas de Trino, que están protegidas por un control de acceso detallado. Esto incluye controles de acceso a bases de datos, tablas y columnas, así como el filtrado de filas y el enmascaramiento de datos. Las políticas de Apache Ranger pueden incluir políticas de concesión y de denegación a usuarios y grupos. Los eventos de auditoría también se envían a los registros. CloudWatch

Instalación de la configuración del servicio

La instalación de la definición de servicio de Trino requiere la configuración del servidor de Ranger Admin. Para configurar el servidor de Ranger Admin, consulte Configuración del servidor de Ranger Admin.

Siga estos pasos para instalar la definición de servicio de Trino.

  1. SSHal servidor Apache Ranger Admin.

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

  2. Desinstale el complemento del servidor Presto, si existe. Ejecute el siguiente comando de la . Si se produce un error “Servicio no encontrado”, significa que el complemento del servidor Presto no estaba instalado en su servidor. Continúe con el siguiente paso.

    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'
  3. Descargue la definición de servicio y el complemento del servidor de Apache Ranger Admin. En un directorio temporal, descargue la definición de servicio. Esta definición de servicio es compatible con las versiones 2.x de Ranger.

    wget https://s3.amazonaws.com/elasticmapreduce/ranger/service-definitions/version-2.0/ranger-servicedef-amazon-emr-trino.json
  4. Registre la definición del servicio Apache Trino para AmazonEMR.

    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'

    Si este comando se ejecuta correctamente, verá un nuevo servicio en la IU de Ranger Admin denominado TRINO, como se muestra en la siguiente imagen.

    Servicio de creación de Ranger Admin.
  5. Cree una instancia de la aplicación TRINO e ingrese la siguiente información.

    Nombre del servicio: el nombre del servicio que utilizará. El valor sugerido es amazonemrtrino. Anote el nombre de este servicio, ya que será necesario al crear una configuración de EMR seguridad de Amazon.

    Nombre público: el nombre que se mostrará para esta instancia. El valor sugerido es amazonemrtrino.

    Nombre público de Ranger Admin.

    jdbc.driver. ClassName: El nombre de clase de la JDBC clase para la conectividad de Trino. Puede utilizar el valor predeterminado.

    jdbc.url: la cadena de JDBC conexión que se utilizará al conectarse al coordinador de Trino.

    Nombre común del certificado: el campo CN (Nombre común) del certificado que se utiliza para conectarse al servidor de administración desde un complemento cliente. Este valor debe coincidir con el campo CN del TLS certificado que se creó para el complemento.

    Nombre común de Ranger Admin.

    Ten en cuenta que el TLS certificado de este complemento debería haberse registrado en el almacén de confianza del servidor Ranger Admin. Para obtener más información, consulta TLSlos certificados.

Creación de políticas de Trino

Cuando cree una nueva política, rellena los siguientes campos.

Nombre de la política: el nombre de la política.

Etiqueta de la política: una etiqueta que puede poner en esta política.

Catálogo: el catálogo al que se aplica esta política. El comodín “*” representa todos los catálogos.

Esquema: los esquemas a los que se aplica esta política. El comodín “*” representa todos los esquemas.

Tabla: las tablas a las que se aplica esta política. El comodín “*” representa todas las tablas.

Columna: las columnas a las que se aplica esta política. El comodín “*” representa todas las columnas.

Descripción: una descripción de esta política.

Existen otros tipos de políticas para el usuario de Trino (para el acceso mediante suplantación de identidad de usuario), para la propiedad del sistema/sesión de Trino (para modificar las propiedades del sistema o de la sesión del motor), para las funciones/procedimientos (para permitir las llamadas a funciones o procedimientos) y para URL(para conceder el acceso de lectura/escritura al motor en las ubicaciones de los datos).

Ranger Admin crea los detalles de la política.

Para conceder permisos a usuarios y grupos específicos, ingrese los usuarios y grupos. También puede especificar exclusiones para las condiciones de autorización y denegación.

Los detalles de la política de Ranger Admin permiten condiciones de denegación.

Tras especificar las condiciones de autorización y denegación, elija Guardar.

Consideraciones

Al crear políticas de Trino en Apache Ranger, hay que tener en cuenta algunas consideraciones de uso.

Servidor de metadatos de Hive

Solo motores fiables, específicamente el motor Trino, pueden acceder al servidor de metadatos de Hive para proteger al usuario del acceso no autorizado. Todos los nodos del clúster también acceden al servidor de metadatos de Hive. El puerto 9083 requerido proporciona a todos los nodos acceso al nodo principal.

Autenticación

De forma predeterminada, Trino está configurado para autenticarse mediante Kerberos tal y como está configurado en la configuración de seguridad de AmazonEMR.

Cifrado en tránsito obligatorio

El complemento Trino requiere que tengas activado el cifrado en tránsito en la configuración de EMR seguridad de Amazon. Para habilitar el cifrado, consulte Cifrado en tránsito.

Limitaciones

Las siguientes son las limitaciones actuales del complemento Trino:

  • El servidor de Ranger Admin no admite la característica de autocompletar.