Para obtener capacidades similares a las de Amazon Timestream, considere Amazon Timestream LiveAnalytics para InfluxDB. Ofrece una ingesta de datos simplificada y tiempos de respuesta a las consultas en milisegundos de un solo dígito para realizar análisis en tiempo real. Obtenga más información aquí.
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.
Cómo Amazon Timestream para InfluxDB utiliza los secretos
Timestream para InfluxDB admite la autenticación de nombres de usuario y contraseñas a través de la interfaz de usuario, además de las credenciales de token para las conexiones de clientes y aplicaciones con privilegio mínimo. Los usuarios de Timestream para InfluxDB tienen permisos allAccess dentro de su organización, mientras que los tokens pueden tener cualquier conjunto de permisos. Siguiendo las prácticas recomendadas para una administración segura de los tokens de API, los usuarios deberían estar creados de modo que puedan administrar los tokens y acceder a ellos de forma más precisa dentro de una organización. Puede encontrar información adicional sobre las prácticas recomendadas de administración con Timestream para InfluxDB en la documentación de InfluxData
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. A continuación, en el código puede reemplazar las credenciales codificadas con una llamada a la API de Secrets Manager. Esto ayuda a garantizar la integridad del secreto si alguien examina el código, dado que el secreto no está allí. Para obtener una descripción general de Secrets Manager, consulte Qué es AWS Secrets Manager.
Al crear una instancia de base de datos, Timestream para InfluxDB crea automáticamente un secreto de administrador para que lo utilice con la función de rotación multiusuario. AWS Lambda Para rotar los usuarios y los tokens de Timestream para InfluxDB, debe crear manualmente un nuevo secreto para cada usuario o token que desee rotar. Cada secreto se puede configurar para que se rote según un cronograma por medio de una función de Lambda. El proceso para configurar un nuevo secreto rotativo consiste en cargar el código de la función de Lambda, configurar el rol de Lambda, definir el nuevo secreto y configurar el cronograma de rotación del secreto.
Qué hay en el secreto
Cuando almacene las credenciales de usuario de Timestream para InfluxDB en el secreto, utilice el siguiente formato.
Usuario único:
{ "engine": "<required: must be set to 'timestream-influxdb'>", "username": "<required: username>", "password": "<required: password>", "dbIdentifier": "<required: DB identifier>" }
Al crear una instancia de Timestream para InfluxDB, se crea automáticamente un secreto de administrador almacenado en Secrets Manager con credenciales para que lo utilice con la función de Lambda multiusuario. Establezca el adminSecretArn en el valor Authentication Properties Secret Manager ARN que se encuentra en la página de resumen de la instancia de base de datos o en el ARN de un secreto de administrador. Para crear un nuevo secreto de administrador, debe disponer ya de las credenciales asociadas y estas deben tener privilegios de administrador.
Cuando almacene las credenciales de token de Timestream para InfluxDB en el secreto, utilice el siguiente formato.
Multiusuario:
{ "engine": "<required: must be set to 'timestream-influxdb'>", "org": "<required: organization to associate token with>", "adminSecretArn": "<required: ARN of the admin secret>", "type": "<required: allAccess or operator or custom>", "dbIdentifier": "<required: DB identifier>", "token": "<required unless generating a new token: token being rotated>", "writeBuckets": "<optional: list of bucketIDs for custom type token, must be input within plaintext panel, for example ['id1','id2']>", "readBuckets": "<optional: list of bucketIDs for custom type token, must be input within plaintext panel, for example ['id1','id2']>", "permissions": "<optional: list of permissions for custom type token, must be input within plaintext panel, for example ['write-tasks','read-tasks']>" }
Cuando almacene las credenciales de administrador de Timestream para InfluxDB en el secreto, utilice el siguiente formato:
Secreto de administrador:
{ "engine": "<required: must be set to 'timestream-influxdb'>", "username": "<required: username>", "password": "<required: password>", "dbIdentifier": "<required: DB identifier>", "organization": "<optional: initial organization>", "bucket": "<optional: initial bucket>" }
Para activar la rotación automática de un secreto, este debe tener la estructura JSON correcta. Consulte Rotación del secreto para descubrir cómo rotar secretos de Timestream para InfluxDB.
Modificación de un secreto
Las credenciales generadas durante el proceso de creación de una instancia de Timestream para InfluxDB se almacenan en un secreto de Secrets Manager en su cuenta. El objeto de GetDbInstancerespuesta contiene un influxAuthParametersSecretArn que mantiene el nombre del recurso de Amazon (ARN) en ese secreto. El secreto solo se completará cuando su instancia de Timestream para InfluxDB esté disponible. Se trata de una copia de solo lectura, ya que cualquier dato de este secreto no afecta updates/modifications/deletions a la instancia de base de datos creada. Si elimina este secreto, la respuesta de la API seguirá haciendo referencia al ARN del secreto eliminado.
Para crear un nuevo token en la instancia de Timestream para InfluxDB en lugar de almacenar las credenciales de token existentes, puede crear tokens que no sean de operador dejando el valor token en blanco en el secreto y utilizando la función de rotación multiusuario con la variable del entorno de Lambda AUTHENTICATION_CREATION_ENABLED establecida en true. Si crea un token nuevo, los permisos definidos en el secreto se asignan al token y no se pueden modificar una vez que la primera rotación se realiza correctamente. Para obtener más información sobre la rotación de secretos, consulte Rotating AWS Secrets Manager Secrets.
Si se elimina un secreto, el usuario o el token asociados en la instancia de Timestream para InfluxDB no se eliminarán.
Rotación del secreto
Utilice las funciones de Lambda de rotación de uno o multiusuario de Timestream para InfluxDB para rotar las credenciales de usuario y de token de Timestream para InfluxDB. Utilice la función de Lambda de usuario único para rotar las credenciales de usuario de su instancia de Timestream para InfluxDB y utilice la función de Lambda multiusuario para rotar las credenciales de token de su instancia de Timestream para InfluxDB.
La rotación de usuarios y tokens con las funciones de Lambda de usuario único y multiusuario es opcional. Las credenciales de Timestream para InfluxDB nunca caducan y cualquier credencial expuesta supone el riesgo de que se cometan acciones malintencionadas contra su instancia de base de datos. La ventaja de rotar las credenciales de Timestream para InfluxDB con Secrets Manager es que se dispone de una capa de seguridad adicional que limita el vector de ataque de las credenciales expuestas al período de tiempo hasta el siguiente ciclo de rotación. Si su instancia de base de datos no cuenta con un mecanismo de rotación, las credenciales expuestas serán válidas hasta que se eliminen manualmente.
Puede configurar Secrets Manager para rotar el secreto automáticamente de acuerdo con la programación que especifique. Esto le permite reemplazar secretos a largo plazo con secretos a corto plazo, lo que contribuye a reducir significativamente el riesgo de peligro. Para obtener más información sobre cómo rotar secretos con Secrets Manager, consulte Rotate AWS Secrets Manager Secrets.
Rotación de usuarios
Al rotar usuarios con la función de Lambda de usuario único, se asignará una nueva contraseña aleatoria al usuario después de cada rotación. Para obtener más información sobre cómo habilitar la rotación automática, consulte Configurar la rotación automática para secretos ajenos a las bases de datos AWS Secrets Manager.
Rotación de secretos de administrador
Para rotar un secreto de administrador, utilice la función de rotación de usuario único. Debe añadir los valores de engine y dbIdentifier al secreto, ya que esos valores no se completan automáticamente al inicializar la base de datos. Consulte Qué hay en el secreto para acceder a la plantilla completa del secreto.
Para localizar un secreto de administrador de una instancia de Timestream para InfluxDB, utilice el ARN del secreto de administrador de la página de resumen de la instancia de Timestream para InfluxDB. Se recomienda rotar todos los secretos de administrador de Timestream para InfluxDB, ya que los usuarios administradores tienen permisos elevados para la instancia de Timestream para InfluxDB.
Función de rotación de Lambda
Puede rotar un usuario de Timestream para InfluxDB con la función de rotación de usuario único utilizando Qué hay en el secreto con un nuevo secreto y añadiendo los campos obligatorios para el usuario de Timestream para InfluxDB. Para obtener más información sobre las funciones de Lambda de rotación de secretos, consulte Rotación por función de Lambda.
Puede rotar un usuario de Timestream para InfluxDB con la función de rotación de usuario único utilizando Qué hay en el secreto con un nuevo secreto y añadiendo los campos obligatorios para el usuario de Timestream para InfluxDB. Para obtener más información sobre las funciones de Lambda de rotación de secretos, consulte Rotación por función de Lambda.
La función de rotación de un solo usuario se autentica con la instancia de base de datos de Timestream para InfluxDB utilizando las credenciales definidas en el secreto. Luego, genera una nueva contraseña aleatoria y establece la nueva contraseña para el usuario. Para obtener más información sobre las funciones de Lambda de rotación de secretos, consulte Rotación por función de Lambda.
Permisos de rol de ejecución de la función de Lambda
Utilice la siguiente política de IAM como rol para la función de Lambda de usuario único. La política otorga a la función de Lambda los permisos necesarios para realizar una rotación del secreto de los usuarios de Timestream para InfluxDB.
Sustituya todos los elementos que figuran a continuación en la política de IAM por los valores de su AWS cuenta:
-
{rotating_secret_arn}: el ARN del secreto que se está rotando se encuentra en los detalles del secreto de Secrets Manager.
-
{db_instance_arn}: el ARN de la instancia de Timestream para InfluxDB se encuentra en la página de resumen de dicha instancia.
Rotación de tokens
Puede rotar un token de Timestream para InfluxDB con la función de rotación multiusuario utilizando Qué hay en el secreto con un nuevo secreto y añadiendo los campos obligatorios para el token de Timestream para InfluxDB. Para obtener más información sobre las funciones de Lambda de rotación de secretos, consulte Rotación por función de Lambda.
Puede rotar un token de Timestream para InfluxDB mediante la función de Lambda multiusuario de Timestream para InfluxDB. Defina la variable del entorno AUTHENTICATION_CREATION_ENABLED en true en la configuración de Lambda para habilitar la creación de tokens. Para crear un nuevo token, utilice Qué hay en el secreto como valor secreto. Omita el par de clave-valor token en el nuevo secreto y establezca el type en allAccess o defina los permisos específicos y establezca el tipo en custom. La función de rotación creará un nuevo token durante el primer ciclo de rotación. No puede cambiar los permisos del token editando el secreto después de la rotación. Además, en cualquier rotación posterior, se utilizarán los permisos establecidos en la instancia de base de datos.
Función de rotación de Lambda
La función de rotación multiusuario rota las credenciales del token al crear un nuevo token idéntico al permiso utilizando las credenciales del secreto de administrador. La función de Lambda valida el valor del token en el secreto antes de crear el token de reemplazo, almacena el nuevo valor del token en el secreto y elimina el token anterior. Si la función de Lambda está creando un nuevo token, primero validará que la variable del entorno AUTHENTICATION_CREATION_ENABLED esté establecida en true, que no haya ningún valor de token en el secreto y que el tipo de token no sea operador.
Permisos de rol de ejecución de la función de Lambda
Utilice la siguiente política de IAM como rol para la función de Lambda multiusuario. La política otorga a la función de Lambda los permisos necesarios para realizar una rotación del secreto de los tokens de Timestream para InfluxDB.
Sustituya todos los elementos que figuran a continuación en la política de IAM por los valores de su AWS cuenta:
-
{rotating_secret_arn}: el ARN del secreto que se está rotando se encuentra en los detalles del secreto de Secrets Manager.
-
{authentication_properties_admin_secret_arn}: el ARN del secreto de administrador de Timestream para InfluxDB se encuentra en la página de resumen de la instancia de Timestream para InfluxDB.
-
{db_instance_arn}: el ARN de la instancia de Timestream para InfluxDB se encuentra en la página de resumen de dicha instancia.