telemetry / error reporting for public Desktop application

0

I develop and distribute a Desktop application that (potentially untrusted) users run on their own computers. I would like to add some basic telemetry to this app. I mainly have a need for things like automatic error log upload (if the user gives consent). The data should be sent to a cloud service from where I can gather it for analytics, etc.

What's the best way to achieve this with AWS?

Please note that my focus really is on an application that does NOT run on my own infrastructure (like in my own EC2 instances). The app from which I want to receive the telemetry/logs is really running on untrusted systems. Making sure the cloud service receives the data is secure is a priority, even though it needs to receive data from untrusted sources. Ideally it would like to avoid building my own backend (i.e. a web service / REST API in front of an S3 bucket) and only use managed services, but I'm open to any suggestion.

Many thanks in advance for your help!

1 Answer
0

How about collecting data with "Amazon Kinesis Data Streams" and sending the data to S3 with "Amazon Kinesis Data Firehose"?
This would make it possible to collect logs through a managed service.
One concern is that you will need to embed the authentication information (access key and secret access key) in the application you create.
Be aware that passing access and secret access keys to untrusted users should be designed to be the minimum privileges necessary.
https://docs.aws.amazon.com/streams/latest/dev/introduction.html
https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html

If you have a requirement that you do not want to pass authentication information such as access keys and secret access keys, it is best to create your own logging API.

profile picture
EXPERT
answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions