Setup a custom AWS S3 bucket

Creating a custom S3 bucket to store report data in your own infrastructure

In PushMetrics, you can configure your own connection to an AWS S3 bucket where your generated report data will be stored.

To set this up in PushMetrics, you need to provide the following information:

  • User Access Key ID
  • Access secret
  • S3 bucket name
  • Region

Create a IAM role in AWS

First, create a new IAM role with “programmatic access” and “AmazonS3FullAccess” permission.

Note down the users Access Key ID and Secret.

Configure the bucket in AWS

  • Create an AWS S3 bucket in a region of your choice.
  • Enable AES256 encryption
  • Assign the following permission to the previously created user:
  • Objects: Read/Write permission
  • Object permission: Read/Write permission
  • Add the following information to your S3 bucket policy (replace “your_bucket_name” with your actual bucket name):

For Email only use:

{
    "Statement": [
        {
            "Sid": "Stmt1510190147724",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::your_bucket_name/*.png",
            "Condition": {
                "StringNotLike": {
                    "aws:Referer": [
                        "http://app.pushmetrics.io/*",
                        "https://app.pushmetrics.io/*"
                    ],
                },
                "NotIpAddress": {
                    "aws:SourceIp": [18.156.113.81/32]
                }
            }
        }
    ]
}

For Email and Slack use:

 {
    "Statement": [
        {
            "Sid": "Stmt1510190147724",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::your_bucket_name/*.png",
            "Condition": {
                "StringNotLike": {
                    "aws:Referer": [
                        "http://app.pushmetrics.io/*",
                        "https://app.pushmetrics.io/*"
                    ],
                    "aws:UserAgent": [
                        "*slack*",
                        "Slack*",
                        "*nodemailer*"
                    ]
                },
                "NotIpAddress": {
                    "aws:SourceIp": ["18.156.113.81/32"]
                }
            }
        }
    ]
}

Finally, add your S3 Bucket in the App under Settings > Destinations > S3 buckets.


Error "Sign in with Slack"