Usar AWS Secrets Manager secretos en lugar de credenciales de bases de datos en Amazon QuickSight - 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.

Usar AWS Secrets Manager secretos en lugar de credenciales de bases de datos en Amazon QuickSight

   Público objetivo: QuickSight administradores de Amazon y QuickSight desarrolladores de Amazon 

AWS Secrets Manager es un servicio de almacenamiento secreto que puede utilizar para proteger las credenciales de la base de datos, las claves de API y otra información secreta. Usar una clave permite garantizar la integridad del secreto si alguien examina el código, dado que el secreto no está almacenado en el código. Para obtener información general, consulte la Guía del usuario de AWS Secrets Manager.

QuickSight Los administradores de Amazon pueden conceder acceso QuickSight de solo lectura a los secretos que creen en Secrets Manager. Estos secretos se pueden usar en lugar de las credenciales de la base de datos al crear y editar fuentes de datos mediante la QuickSight API.

QuickSight admite el uso de secretos con tipos de fuentes de datos que admiten la autenticación de pares de credenciales. Jira y no ServiceNow son compatibles actualmente.

nota

Si lo utilizas AWS Secrets Manager con Amazon QuickSight, se te facturará el acceso y el mantenimiento tal y como se describe en la página de AWS Secrets Manager precios. En su estado de cuenta, los costos se detallan en Secrets Manager y no en. QuickSight

Utilice los siguientes procedimientos descritos en las siguientes secciones para integrar Secrets Manager con Amazon QuickSight.

Otorgar QuickSight acceso a Secrets Manager y a secretos seleccionados

Si eres administrador y tienes secretos en Secrets Manager, puedes conceder a Amazon acceso de QuickSight solo lectura a determinados secretos.

Para conceder QuickSight acceso a Secrets Manager y a secretos seleccionados
  1. En QuickSight, elige tu icono de usuario en la esquina superior derecha y, a continuación, selecciona Administrar QuickSight.

    QuickSight Menú Administrar.
  2. Seleccione Seguridad y permisos a la izquierda.

  3. Seleccione Administrar para QuickSight acceder a AWS los recursos.

    Administre la seguridad y los permisos.
  4. En Permitir el acceso y la detección automática de estos recursos, elija AWS Secrets Manager, Seleccionar secretos.

    Se abre la página Secretos de AWS Secrets Manager .

  5. Selecciona los secretos a los que deseas conceder acceso de QuickSight solo lectura.

    Los secretos de tu región QuickSight de registro se muestran automáticamente. Para seleccionar secretos fuera de su región de origen, elija Secretos en otras regiones de AWS y, a continuación, ingrese los nombres de recursos de Amazon (ARN) correspondientes a esos secretos.

  6. Cuando haya terminado, seleccione Finalizar.

    QuickSight crea un rol de IAM llamado aws-quicksight-secretsmanager-role-v0 en tu cuenta. Otorga a los usuarios de la cuenta acceso de solo lectura a los secretos especificados y tiene un aspecto similar al siguiente:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:region:accountId:secret:secret_name" ] } ] }

    Cuando QuickSight los usuarios crean análisis o ven paneles de control que utilizan una fuente de datos con secretos, QuickSight asume la función de Secrets Manager (IAM). Para obtener más información sobre las políticas de permisos secretos, consulte Autenticación y control de acceso de AWS Secrets Manager en la Guía del usuario de AWS Secrets Manager .

    El secreto especificado en la función de QuickSight IAM puede tener una política de recursos adicional que deniegue el acceso. Para obtener más información, consulte Adición de una política de permisos a un secreto en la Guía del usuario de AWS Secrets Manager .

    Si utilizas una AWS KMS clave AWS gestionada para cifrar tu secreto, QuickSight no es necesario configurar permisos adicionales en Secrets Manager.

    Si utilizas una clave gestionada por el cliente para cifrar tu secreto, asegúrate de que el rol de QuickSight IAM tenga permisos. aws-quicksight-secretsmanager-role-v0 kms:Decrypt Para obtener más información, consulte Permisos para la clave de KMS en la Guía del usuario de AWS Secrets Manager .

    Para obtener más información sobre los tipos de claves que se utilizan en el Servicio de administración de AWS claves, consulte Claves y AWS claves del cliente en la guía del Servicio de administración de AWS claves.

Crear o actualizar una fuente de datos con credenciales secretas mediante la QuickSight API

Una vez que el QuickSight administrador haya concedido acceso de QuickSight solo lectura a Secrets Manager, puedes crear y actualizar las fuentes de datos en la API utilizando un secreto que el administrador haya seleccionado como credenciales.

A continuación se muestra un ejemplo de llamada a la API para crear una fuente de datos. QuickSight En este ejemplo, se utiliza la operación de la API create-data-source. También puede utilizar la operación update-data-source. Para obtener más información, consulta CreateDataSourcey consulta UpdateDataSourcela Amazon QuickSight API Reference.

El usuario especificado en los permisos del siguiente ejemplo de llamada a la API puede eliminar, ver y editar las fuentes de datos de la fuente de datos MySQL especificada en QuickSight. También puede ver y actualizar los permisos del origen de datos. En lugar de un QuickSight nombre de usuario y una contraseña, se utiliza un ARN secreto como credenciales para la fuente de datos.

aws quicksight create-data-source --aws-account-id AWSACCOUNTID \ --data-source-id DATASOURCEID \ --name NAME \ --type MYSQL \ --permissions '[{"Principal": "arn:aws:quicksight:region:accountID:user/namespace/username", "Actions": ["quicksight:DeleteDataSource", "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", "quicksight:PassDataSource", "quicksight:UpdateDataSource", "quicksight:UpdateDataSourcePermissions"]}]' \ --data-source-parameters='{"MySQLParameters":{"Database": "database", "Host":"hostURL", "Port":"port"}}' \ --credentials='{"SecretArn":"arn:aws:secretsmanager:region:accountID:secret:secretname"}' \ --region us-west-2

En esta llamada, QuickSight autoriza el secretsmanager:GetSecretValue acceso al secreto en función de la política de IAM de la persona que llama a la API, no de la política del rol de servicio de IAM. El rol de servicio de IAM actúa en el ámbito de cuenta y se utiliza cuando un usuario consulta un análisis o un panel. No se puede utilizar para autorizar el acceso al secreto cuando un usuario crea o actualiza el origen de datos.

Al editar una fuente de datos en la QuickSight interfaz de usuario, los usuarios pueden ver el ARN secreto de las fuentes de datos que se utilizan AWS Secrets Manager como tipo de credencial. Sin embargo, no pueden editar el secreto ni seleccionar otro secreto. Si necesitan realizar cambios, por ejemplo, en el puerto o el servidor de la base de datos, los usuarios primero tienen que elegir el par de credenciales e introducir el nombre de usuario y la contraseña de su QuickSight cuenta.

Los secretos se eliminan automáticamente de un origen de datos cuando el origen de datos se modifica en la interfaz de usuario. Para restaurar el secreto en el origen de datos, utilice la operación de la API update-data-source.

Qué hay en el secreto

QuickSight requiere el siguiente formato JSON para acceder a tu secreto:

{ "username": "username", "password": "password" }

Los password campos username y son obligatorios para acceder QuickSight a los secretos. Todos los demás campos son opcionales y son ignorados por QuickSight.

El formato JSON puede variar en función del tipo de base de datos. Para obtener más información, consulte la estructura JSON de los secretos de las credenciales de la AWS Secrets Manager base de datos en la Guía del AWS Secrets Manager usuario.

Modificación de un secreto

Para modificar un secreto, se utiliza Secrets Manager. Tras realizar cambios en un secreto, las actualizaciones estarán disponibles la próxima vez que QuickSight las solicitudes accedan al secreto.