Crear una conexión de fuente QuickSight de datos de Amazon a Snowflake con OAuth credenciales de cliente - Amazon QuickSight

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.

Crear una conexión de fuente QuickSight de datos de Amazon a Snowflake con OAuth credenciales de cliente

Puede utilizar las credenciales de OAuth cliente para conectar su QuickSight cuenta con Snowflake a través de. QuickSight APIs OAuthes un protocolo de autorización estándar que se utiliza a menudo para aplicaciones que tienen requisitos de seguridad avanzados. Cuando se conecta a Snowflake con credenciales de OAuth cliente, puede crear conjuntos de datos que contengan datos de Snowflake con y en la QuickSight APIs interfaz de usuario. QuickSight Para obtener más información sobre la configuración OAuth en Snowflake, consulte la descripción general. Snowflake OAuth

QuickSight admite el tipo de client credentials OAuth subvención. OAuthlas credenciales del cliente se utilizan para obtener un token de acceso para machine-to-machine la comunicación. Este método es adecuado para situaciones en las que un cliente necesita acceder a los recursos que están alojados en un servidor sin la participación de un usuario.

En el flujo de credenciales de cliente de la OAuth versión 2.0, hay varios mecanismos de autenticación de clientes que se pueden utilizar para autenticar la aplicación cliente con el servidor de autorización. QuickSight admite las credenciales de cliente basadas en OAuth Snowflake para los dos mecanismos siguientes:

  • Token (basado en los secretos del clienteOAuth): el mecanismo de autenticación del cliente basado en secretos se utiliza con las credenciales del cliente para conceder el flujo a fin de autenticarse con el servidor de autorización. Este esquema de autenticación requiere que la client_id y client_secret de la aplicación OAuth cliente se almacenen en Secrets Manager.

  • X509 (clave privada del cliente basada en JWTOAuth): la solución basada en el certificado X509 proporciona una capa de seguridad adicional al OAuth mecanismo con certificados de cliente que se utilizan para autenticar en lugar de secretos de cliente. Este método lo utilizan principalmente los clientes privados que lo utilizan para autenticarse en el servidor de autorización con una fuerte confianza entre los dos servicios.

QuickSight ha validado OAuth las conexiones con los siguientes proveedores de identidad:

  • OKTA

  • PingFederate

Almacenamiento de OAuth credenciales en Secrets Manager

OAuth las credenciales de cliente están pensadas para casos de machine-to-machine uso y no están diseñadas para ser interactivas. Para crear una conexión de fuente de datos entre QuickSight y Snowflake, cree un nuevo secreto en Secrets Manager que contenga sus credenciales para la aplicación cliente. OAuth El ARN secreto que se crea con el nuevo secreto se puede usar para crear conjuntos de datos que contengan datos de Snowflake. QuickSight Para obtener más información sobre el uso de las claves de Secrets Manager en QuickSight, consulteUsar AWS Secrets Manager secretos en lugar de credenciales de bases de datos en Amazon QuickSight.

Las credenciales que debe almacenar en Secrets Manager vienen determinadas por el OAuth mecanismo que utilice. Los siguientes key/value pares son necesarios para los secretos basados en el X509OAuth:

  • username: El nombre de usuario de la cuenta de Snowflake que se utilizará al conectarse a Snowflake

  • client_id: El ID del cliente OAuth

  • client_private_key: La clave privada del OAuth cliente

  • client_public_key: La clave pública del certificado del OAuth cliente y su algoritmo cifrado (por ejemplo,{"alg": "RS256", "kid", "cert_kid"})

Los siguientes key/value pares son necesarios para los secretos basados en tokensOAuth:

  • username: El nombre de usuario de la cuenta de Snowflake que se utilizará al conectarse a Snowflake

  • client_id: El ID del cliente OAuth

  • client_secret: el secreto OAuth del cliente

Crear una OAuth conexión de Snowflake con el QuickSight APIs

Tras crear un secreto en Secrets Manager que contenga tus OAuth credenciales de Snowflake y hayas conectado tu QuickSight cuenta a Secrets Manager, podrás establecer una conexión de fuente de datos entre Snowflake QuickSight y el SDK. QuickSight APIs En el siguiente ejemplo, se crea una conexión a una fuente de datos de Snowflake con credenciales de cliente simbólicas. OAuth

{ "AwsAccountId": "AWSACCOUNTID", "DataSourceId": "UNIQUEDATASOURCEID", "Name": "NAME", "Type": "SNOWFLAKE", "DataSourceParameters": { "SnowflakeParameters": { "Host": "HOSTNAME", "Database": "DATABASENAME", "Warehouse": "WAREHOUSENAME", "AuthenticationType": "TOKEN", "DatabaseAccessControlRole": "snowflake-db-access-role-name", "OAuthParameters": { "TokenProviderUrl": "oauth-access-token-endpoint", "OAuthScope": "oauth-scope", "IdentityProviderResourceUri" : "resource-uri", "IdentityProviderVpcConnectionProperties" : { "VpcConnectionArn": "IdP-VPC-connection-ARN" } } }, "VpcConnectionProperties": { "VpcConnectionArn": "VPC-connection-ARN-for-Snowflake" } "Credentials": { "SecretArn": "oauth-client-secret-ARN" } }

Para obtener más información sobre el funcionamiento de la CreateDatasource API, consulte. CreateDataSource

Una vez que se haya establecido la conexión entre QuickSight Snowflake y se haya creado una fuente de datos con el SDK QuickSight APIs o el SDK, se mostrará la nueva fuente de datos en. QuickSight QuickSight los autores pueden usar esta fuente de datos para crear conjuntos de datos que contengan datos de Snowflake. Las tablas se muestran en función del rol utilizado en el DatabaseAccessControlRole parámetro que se transfiere en una CreateDataSource llamada a la API. Si este parámetro no está definido al crear la conexión a la fuente de datos, se utiliza el rol predeterminado de Snowflake.

Una vez que haya creado correctamente una conexión de fuente de datos entre su cuenta QuickSight y la de Snowflake, puede empezar a crear QuickSight conjuntos de datos que contengan datos de Snowflake.