Amazon Quick ahora admite la autenticación de par de claves en la fuente de datos de Snowflake

Las empresas modernas enfrentan desafíos importantes al conectar plataformas de inteligencia empresarial con almacenes de datos en la nube mientras mantienen la automatización. La autenticación basada en contraseñas introduce vulnerabilidades de seguridad, fricciones operativas y brechas de cumplimiento, algo especialmente crítico ya que Snowflake está desaprobando la contraseña de nombre de usuario.

Amazon Quick Sight (una capacidad de Amazon Quick Suite) ahora admite la autenticación de pares de claves para integraciones de Snowflake, utilizando criptografía asimétrica donde los pares de claves RSA reemplazan las contraseñas tradicionales. Esta mejora aborda una necesidad crítica a medida que Snowflake avanza hacia la desaprobación de la autenticación basada en contraseña, que requiere métodos de autenticación más seguros. Con esta nueva capacidad, los usuarios de Amazon Quick Suite pueden establecer conexiones seguras y sin contraseña a fuentes de datos de Snowflake utilizando pares de claves RSA, brindando una experiencia de integración segura y fluida que cumple con los estándares de seguridad empresarial.

En esta publicación de blog, lo guiaremos a través del establecimiento de conectividad de fuentes de datos entre Amazon Quick Sight y Snowflake mediante una autenticación segura de par de claves.

Requisitos previos

Antes de configurar la autenticación del par de claves entre Amazon Quick y Snowflake, asegúrese de tener lo siguiente:

Una cuenta activa de Amazon Quick con los permisos adecuados: necesita acceso administrativo para crear y administrar fuentes de datos, configurar ajustes de autenticación y otorgar permisos a los usuarios. La licencia de Amazon Quick Enterprise o el rol de autor en Amazon Quick Enterprise Sight Edition suelen proporcionar acceso suficiente. Una cuenta de Snowflake con función ACCOUNTADMIN, SECURITYADMIN o USERADMIN: estos permisos elevados son esenciales para modificar cuentas de usuario, asignar claves públicas mediante comandos ALTER USER y otorgar permisos de almacén y base de datos. Si no tiene acceso a estos roles, comuníquese con su administrador de Snowflake para obtener ayuda. OpenSSL instalado (para generación de claves): este kit de herramientas criptográficas genera pares de claves RSA en formato PKCS#8. La mayoría de los sistemas Linux y macOS incluyen OpenSSL preinstalado. Los usuarios de Windows pueden utilizar el Subsistema de Windows Linux (WSL) o descargar OpenSSL por separado. (Opcional) Acceso a AWS Secrets Manager (para configuración basada en API): requerido para configuraciones programáticas, necesitará permisos de IAM para crear y administrar secretos, y acceso a la API de Amazon Quick Sight para implementaciones automatizadas e implementaciones de infraestructura como código (IaC).

Tutorial de la solución

Lo guiaremos a través de los siguientes pasos esenciales para establecer una autenticación segura de par de claves entre Amazon Quick Sight y Snowflake:

Genere un par de claves RSA: cree claves públicas y privadas utilizando OpenSSL con los estándares de cifrado adecuados. Configure el usuario de Snowflake: asigne la clave pública a su cuenta de usuario de Snowflake y verifique la configuración. Establezca la conectividad del origen de datos: cree su conexión a través de la interfaz de usuario rápida de Amazon para una configuración interactiva o la interfaz de línea de comandos de AWS (AWS CLI) para una implementación programática.

¡Exploremos cada paso en detalle y aseguremos su conexión Amazon Quick Sight-Snowflake con autenticación de par de claves!

Generar par de claves RSA:

Navegue a AWS CloudShell en AWS Management Console y ejecute el siguiente comando para generar la clave privada RSA. Se le pedirá que ingrese una frase de contraseña de cifrado. Elija una frase de contraseña segura y guárdela de forma segura; la necesitará más adelante cuando genere la clave pública.

openssl genrsa 2048 | openssl pkcs8 -topk8 -informar PEM -out rsa_key.p8

Ejecute los siguientes comandos para crear un par de claves públicas. Se le pedirá que ingrese la frase que utilizó en el paso anterior.

openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub

Extraiga el contenido de la clave privada (incluido el encabezado y el pie de página):

Esto muestra su clave privada en el formato:

—–COMENZAR CLAVE PRIVADA—–[key content]—–FIN DE CLAVE PRIVADA—–

Nota: Copie el resultado completo, incluidas las líneas —–BEGIN PRIVATE KEY—– y —–END PRIVATE KEY—–. Utilizará esta clave privada completa (con encabezados y pies de página) al crear su conexión de fuente de datos Snowflake.

Snowflake requiere la clave pública en un formato específico sin encabezados ni saltos de línea. Ejecute estos comandos para extraer y formatear la clave correctamente.

grep -v CLAVE rsa_key.pub | tr -d ‘\n’ | awk ‘{print $1}’ > pub.Clave cat pub.Clave

Esto mostrará su cadena de clave pública formateada. Copie este resultado; lo utilizará en el siguiente paso para configurar su cuenta de usuario de Snowflake.

Asigne una clave pública al usuario de Snowflake:

Inicie sesión en Snowflake y ejecute los siguientes comandos SQL para asignar la clave pública a su usuario:

ALTERAR CONFIGURACIÓN DE USUARIO RSA_PUBLIC_KEY=”;

Verifique la asignación de clave: busque la propiedad RSA_PUBLIC_KEY para confirmar si la clave pública está configurada.

Establezca su conexión Snowflake en Amazon Quick UI:

Navegue a Amazon Quick en AWS Management Console y seleccione Conjuntos de datos. Luego seleccione la pestaña Fuentes de datos y elija Crear fuente de datos.

En el panel Crear fuente de datos, ingrese “copo de nieve” en Buscar conjuntos de datos, seleccione Copo de nieve y luego elija Siguiente.

En el panel Nueva fuente de datos de Snowflake, ingrese el nombre de la fuente de datos, luego ingrese el tipo de conexión como Red pública o Conexión de VPC privada. Si necesita una conexión VPC, consulte configurar la conexión VPC en Rápido. Luego, ingrese el nombre de host del servidor de la base de datos, el nombre de la base de datos y el nombre del almacén. Seleccione Tipo de autenticación como Par de claves y luego ingrese el nombre de usuario del usuario de Snowflake. En el campo Clave privada, pegue el resultado completo de cat rsa_key.p8 (incluidos los encabezados BEGIN y END). Si ha configurado una frase de contraseña durante la generación de claves, proporciónela en el campo Frase de contraseña opcional. Después de ingresar todos los campos, seleccione el botón Validar conexión.

Una vez validada la conexión, seleccione el botón Crear fuente de datos. Luego, en la lista de Fuentes de datos, busque la fuente de datos del copo de nieve que creó. En el menú Acción, seleccione la opción Crear conjunto de datos.

Establezca su conexión Snowflake utilizando la API de Amazon Quick Sight:

Con AWS CLI, cree la conexión de origen de datos de Amazon Quick a Snowflake ejecutando el siguiente comando:

aws Quicksight create-data-source \ –aws-account-id 123456789 \ –data-source-id awsclikeypairtest \ –name “awsclikeypairtest” \ –type SNOWFLAKE \ –data-source-parameters ‘{ “SnowflakeParameters”: { “Host”: “hostname.snowflakecomputing.com”, “Database”: “DB_NAME”, “Warehouse”: “WH_NAME”, “AuthenticationType”: “KEYPAIR” } }’ \ –credentials ‘{ “KeyPairCredentials”: { “KeyPairUsername”: “SNOWFLAKE_USERNAME”, “PrivateKey”: “—–COMENZAR LA CLAVE PRIVADA CIFRADA—–\nPRIVATE_KEY\n—–TERMINAR LA CLAVE PRIVADA CIFRADA—–“, “PrivateKeyPassphrase”: “******” } }’ \ –permissions ‘[
{
“Principal”: “arn:aws:quicksight:us-east-1: 123456789:user/default/Admin/username,
“Actions”: [
“quicksight:DescribeDataSource”,
“quicksight:DescribeDataSourcePermissions”,
“quicksight:PassDataSource”,
“quicksight:UpdateDataSource”,
“quicksight:DeleteDataSource”,
“quicksight:UpdateDataSourcePermissions”
]
} ]’ \ –region us-east-1

Utilice el siguiente comando para verificar el estado de la creación:

aws Quicksight describe-fuente-de-datos –region us-east-1 –aws-account-id 123456789 –data-source-id awsclikeypairtest

Inicialmente, el estado devuelto por el comando describe-data-source será CREATION_IN_PROGRESS. El estado cambiará a CREATION_SUCCESSFUL si la nueva fuente de datos está lista para su uso.

Alternativamente, al crear la fuente de datos mediante programación a través de CreateDataSource, puede almacenar el nombre de usuario, la clave y la frase de contraseña en AWS Secrets Manager y hacer referencia a ellos mediante el ARN secreto.

Una vez creada correctamente la fuente de datos, puede navegar a la consola rápida. En la página Crear un conjunto de datos, puede ver la conexión de origen de datos recién creada awsclikeypairtest en la lista de orígenes de datos. Luego puede continuar creando los conjuntos de datos.

Limpieza

Para limpiar sus recursos y evitar incurrir en cargos adicionales, siga estos pasos:

Elimine el secreto creado en la consola de AWS Secrets Manager. Elimine la conexión de origen de datos creada en Amazon Quick.

Conclusión

La autenticación de par de claves representa un avance transformador en la protección de la conectividad de datos entre Amazon Quick y Snowflake. Al eliminar las vulnerabilidades basadas en contraseñas y adoptar la autenticación criptográfica, las organizaciones pueden lograr una postura de seguridad superior mientras mantienen flujos de trabajo automatizados sin interrupciones. Esta implementación aborda requisitos empresariales críticos, como seguridad mejorada a través de cifrado asimétrico, administración optimizada de cuentas de servicio y cumplimiento de estándares de autenticación en evolución a medida que Snowflake se aleja de los métodos de contraseña tradicionales.

Ya sea que se implemente a través de la intuitiva interfaz de usuario rápida de Amazon o que se utilice AWS CLI para implementaciones de infraestructura como código, la autenticación de par de claves brinda flexibilidad sin comprometer la seguridad. La integración con AWS Secrets Manager ayuda a proteger las claves privadas, mientras que el sencillo proceso de configuración permite una implementación rápida en entornos de desarrollo, ensayo y producción.

A medida que la seguridad de los datos continúa evolucionando, la adopción de la autenticación de par de claves posiciona a su organización a la vanguardia de las mejores prácticas. Los equipos de inteligencia empresarial ahora pueden centrarse en extraer información útil de los datos de Snowflake en lugar de gestionar las complejidades de la autenticación, lo que en última instancia acelera el tiempo de obtención de información y mejora la eficiencia operativa.

Para obtener más información, consulte Autenticación de par de claves de Snowflake.

Sobre los autores

Vignessh Baskaran

Vignessh Baskaran es gerente técnico senior de productos en el dominio de DATOS estructurados en Amazon Quick que impulsa las iniciativas de BI y GenAI. Tiene más de 9 años de experiencia en el desarrollo de soluciones de análisis y datos a gran escala. Antes de ocupar este puesto, trabajó como líder sénior de análisis en AWS creando soluciones integrales de BI utilizando Quick, que fueron adoptadas globalmente por los equipos de ventas especializadas de AWS en todo el mundo. Fuera del trabajo, le gusta ver Cricket, jugar Racquetball y explorar diferentes cocinas en Seattle.

Chinnakanu Sai Janakiram

Chinnakanu Sai Janakiram es ingeniero de desarrollo de software en Amazon Quick y trabaja en la automatización de la infraestructura de la nube y el desarrollo de funciones utilizando tecnologías de AWS. Tiene más de 2 años de experiencia en la creación de sistemas escalables en AWS, canalizaciones de CI/CD, CloudFormation, React y Spring Boot. Antes de ocupar este puesto, contribuyó a soluciones de análisis y datos en AWS, mejorando la confiabilidad y escalabilidad de la implementación en todas las regiones. Fuera del trabajo, le gusta seguir la Fórmula 1 y mantenerse al día con las tecnologías emergentes.

Nithyashree Alwarsamy

Nithyashree Alwarsamy es arquitecto de soluciones asociadas en Amazon Web Services y se especializa en soluciones de análisis y datos con un enfoque en transmisión y arquitectura basada en eventos. Aprovechando su profunda experiencia en arquitecturas de datos modernas, Nithyashree ayuda a las organizaciones a desbloquear todo el potencial de sus datos integrando la plataforma de datos nativa de la nube de Snowflake con la variedad de servicios de AWS.

Andrés Engelbrecht

Andries Engelbrecht es ingeniero de soluciones de socio principal en Snowflake y trabaja con AWS. Apoya las integraciones de productos y servicios, así como el desarrollo de soluciones conjuntas con AWS. Andries tiene más de 25 años de experiencia en el campo de datos y análisis.