Configurar OAuth para conexiones de Snowflake
Hay varias formas de configurar OAuth para conexiones Snowflake, según la versión de Tableau que esté utilizando y cuántos sitios esté actualizando. Este tema cubre la configuración de cada opción disponible.
- Para todas las versiones de Tableau hasta la versión 2024.1 (incluida), el conector de Tableau Snowflake utiliza de forma predeterminada un proxy OAuth alojado en AWS (GALOP), que utiliza un ID de cliente y un secreto comunes.
- A partir de Tableau 2020.4, opcionalmente puede configurar Tableau Server para utilizar un nuevo servicio OAuth que se ejecute en la misma ubicación que esa instancia de Tableau. Esto requiere proporcionar su propio ID de cliente y secreto, lo que se conoce como OAuth personalizado.
- A partir de 2024.2, el proxy GALOP quedará obsoleto y las instrucciones siguientes para configurar OAuth personalizado serán obligatorias, ya que ahora utilizará el servicio OAuth local para la autenticación.
- Para Tableau Desktop y Tableau Cloud 2024.3 y versiones posteriores, puede configurar un IdP de terceros (OAuth externo) para Snowflake. Para obtener más información, consulte OAuth externo para Snowflake.
Los beneficios proporcionados por OAuth personalizado incluyen:
Seguridad mejorada
Puede utilizar OAuth en entornos aislados que no pueden conectarse al proxy OAuth (GALOP).
No es necesario incluir las direcciones GALOP IP en la lista de admisión para ejecutar el flujo de OAuth en VPC de AWS PrivateLink o Azure Private Link.
Registrar un cliente de OAuth con Snowflake
Para utilizar una configuración de OAuth personalizado en Tableau Server, primero debe registrar su cliente de OAuth y obtener un ID y un secreto de cliente para completar la configuración. Para las versiones 2024.2 y posteriores de Tableau Server, este paso es necesario, independientemente de la opción de configuración que esté utilizando. Para registrar un cliente de OAuth personalizado con Snowflake, siga los pasos descritos en Configurar OAuth de Snowflake para clientes personalizados(El enlace se abre en una ventana nueva).
Después de registrarse, utilizará los siguientes parámetros de Snowflake para configurar Tableau Server:
- URL de instancia de cuenta
- Client ID (Identificador del cliente)
- Client secret (Secreto del cliente)
- URL de redireccionamiento
Nota: La URL de redireccionamiento es la misma cuando se usa tanto en Snowflake como en Tableau. El formato es:
https://your_server_url.com/auth/add_oauth_token
Por ejemplo, https://example.com/auth/add_oauth_token
Opción 1: configurar OAuth para conexiones Snowflake mediante TSM
Recomendamos utilizar esta opción cuando necesite actualizar varios sitios a la vez.
Nota: Esta opción de configuración no se puede usar en Tableau Cloud.
(Versión 2024.1 y anteriores) En el equipo de Tableau Server, ejecute el siguiente comando para habilitar el servicio OAuth de Snowflake:
tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true
Nota: Para las versiones 2024.2 y posteriores, omita el paso 1 independientemente de si se utiliza o no una conexión privada de Snowflake.
Copie, pegue y personalice el siguiente comando en un editor de texto:
Nota: Si está realizando estos cambios de configuración en Tableau Server 2021.1 y versiones posteriores, tenga en cuenta que el formato del valor oauth.snowflake.clients ha cambiado.
tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\", \"oauth.snowflake.client_id\":\"client_id_string\", \"oauth.snowflake.client_secret\":\"client_secret_string\", \"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"
La clave
oauth.snowflake.clients
toma una matriz de pares de claves. Cada elemento del par de claves debe enmarcarse entre comillas dobles. Las comillas dobles deben cerrarse de esta forma:\"
.Para especificar varias URL de instancia de cuenta, separe cada cliente de OAuth adicional entre llaves ({}) con una coma (,), como en este ejemplo:
tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string1\",\"oauth.snowflake.client_secret\":\"client_secret_string1\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" },{\"oauth.snowflake.instance_url\":\"https://account2.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string2\",\"oauth.snowflake.client_secret\":\"client_secret_string2\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"
Reemplace los valores de cada clave:
- URL de instancia de cuenta:
oauth.snowflake.instance_url
- ID del cliente:
oauth.snowflake.client_id
- Secreto del cliente:
oauth.snowflake.client_secret
- URL de redireccionamiento:
oauth.snowflake.redirect_uri
Nota: Antes de ejecutar el comando, compruebe la sintaxis cuidadosamente. TSM no validará esta entrada.
Copie el comando en la interfaz de línea de comandos de TSM y ejecute el comando.
- URL de instancia de cuenta:
Ejecute el siguiente comando para aplicar los cambios:
tsm pending-changes apply
Si los cambios pendientes requieren un reinicio del servidor, el comando
pending-changes apply
mostrará un mensaje para informarle de que se producirá un reinicio. Este mensaje aparece aunque el servidor esté detenido, pero en ese caso no se reiniciará. Puede suprimir el mensaje con la opción--ignore-prompt
, pero no se modificará el comportamiento de reinicio. Si los cambios no requieren un reinicio, se aplicarán sin ningún mensaje. Para obtener más información, consulte tsm pending-changes apply.
Opción 2: configurar OAuth para conexiones Snowflake por sitio
Nota: Esta opción también está disponible para Tableau Cloud a partir de la versión 2024.2.
Puede configurar un cliente Snowflake OAuth personalizado a nivel de sitio mediante la interfaz de usuario de Tableau Server.
Considere la posibilidad de configurar un cliente OAuth personalizado para 1) anular un cliente OAuth si está configurado para el servidor o 2) habilitar la compatibilidad para conectarse de forma segura a los datos que requieren clientes OAuth únicos.
Cuando se configura un cliente OAuth personalizado, la configuración a nivel de sitio tiene prioridad sobre cualquier configuración del lado del servidor y todas las nuevas credenciales de OAuth creadas utilizan el cliente OAuth a nivel de sitio de forma predeterminada. No es necesario reiniciar Tableau Server para que las configuraciones surtan efecto.
Importante: Las credenciales de OAuth existentes establecidas antes de que se configure el cliente OAuth personalizado se pueden utilizar temporalmente, pero tanto los administradores del servidor como los usuarios deben actualizar sus credenciales guardadas para ayudar a garantizar el acceso ininterrumpido a los datos.
1: preparar el ID de cliente de OAuth, el secreto del cliente y la URL de redireccionamiento
Antes de que pueda configurar el cliente OAuth personalizado, necesita la información que se indica a continuación. Una vez preparada esta información, puede registrar el cliente OAuth personalizado para el sitio. Para obtener más información, consulte la sección Registrar cliente OAuth con Snowflake, arriba.
ID de cliente de OAuth y secreto de cliente: primero registre el cliente de OAuth con el proveedor de datos (conector) para recuperar el ID de cliente y el secreto generado para Tableau Server.
URL de redireccionamiento: tenga en cuenta la URL de redireccionamiento correcta. Lo necesitará durante el proceso de registro en el Paso 2 a continuación.
https://<nombre_del_servidor>.com/auth/add_oauth_token
Por ejemplo, https://example.com/auth/add_oauth_token
2: registrar el ID de cliente de OAuth y el secreto del cliente
Siga el procedimiento que se describe a continuación para registrar el cliente OAuth personalizado en el sitio.
(Versión 2024.1 y anteriores) En el equipo de Tableau Server, ejecute el siguiente comando para habilitar el servicio OAuth de Snowflake:
tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true
Nota: Para las versiones 2024.2 y posteriores, omita el paso 1 independientemente de si se utiliza o no una conexión privada de Snowflake.
Inicie sesión en el sitio Tableau Server con las credenciales de administrador de su sitio y vaya a la página Configuración.
En Registro de clientes OAuth, haga clic en el botón Agregar cliente OAuth.
Escriba la información requerida, incluida la información del Paso 1 anterior:
En Tipo de conexión, seleccione uno de los conectores cuyo cliente OAuth personalizado desee configurar:
Se necesita una URL de instancia de OAuth si se registran varios clientes OAuth. De lo contrario, es opcional.
Para ID de cliente, Secreto de cliente y URL de redireccionamiento, escriba la información que preparó en el Paso 1 anterior.
Haga clic en el botón Agregar cliente OAuth para completar el proceso de registro.
(Opcional) Repita el paso 3 para todos los conectores compatibles.
- Haga clic en el botón Guardar en la parte inferior o superior de la página Configuración para guardar los cambios.
3: validar y actualizar las credenciales guardadas
Para ayudar a garantizar el acceso ininterrumpido a los datos, usted (y los usuarios de su sitio) deben eliminar las credenciales guardadas anteriormente y agregarlas nuevamente para usar el cliente OAuth personalizado para el sitio.
Vaya a la página Configuración de la cuenta.
En Credenciales guardadas para fuentes de datos, haga lo siguiente:
Haga clic en Eliminar junto a las credenciales guardadas existentes para el conector cuyo cliente OAuth personalizado configuró en el Paso 2 anterior.
Junto al nombre del conector, haga clic en Agregar y siga las instrucciones para 1) conectarse al cliente OAuth personalizado configurado en el Paso 2 anterior y 2) guardar las últimas credenciales.
4: notificar a los usuarios para que actualicen sus credenciales guardadas
Asegúrese de notificar a los usuarios de su sitio que actualicen sus credenciales guardadas para el conector cuyo cliente OAuth personalizado configuró en el Paso 2 anterior. Los usuarios del sitio pueden utilizar el procedimiento descrito en Actualizar credenciales guardadas para actualizar sus credenciales guardadas.