Help Center
How can we help? ๐Ÿ‘‹

How to Send Reports via AWS S3

Podscribe lets you choose how and where your reports are delivered โ€” whether to your inbox or directly to your AWS S3 bucket for secure, automated access.

Overview

When generating a report in Podscribe, youโ€™ll see a new option, โ€œSend via AWS S3.โ€

Selecting this allows you to define your own S3 bucket where Podscribe will upload your report files.

This is useful if:

  • You want all your reports stored in one secure, cloud-accessible folder for easy retrieval and sharing.
  • You need automated delivery of reports for integration with analytics tools.
  • You value advanced security and access controls.

Once configured, every report you generate will automatically be delivered to your S3 bucket.


Configuration Options

There are two ways to authorize Podscribe to send reports to your S3 bucket:

  1. Option 1: IAM Role (Recommended) โ€“ Secure and uses no static credentials.
  1. Option 2: IAM User + Access Keys โ€“ Easier, but less secure. Use only if you canโ€™t create roles.
ย 

Option 1: IAM Role (Recommended)

Step 1: Create an S3 Bucket

If you donโ€™t already have one:

aws s3api create-bucket --bucket <your-bucket-name> --region <region> \
  --create-bucket-configuration LocationConstraint=<region>

Step 2: Enable Bucket Ownership Enforcement

Prevents ownership and ACL issues.

aws s3api put-bucket-ownership-controls --bucket <your-bucket-name> \
  --ownership-controls 'Rules=[{ObjectOwnership=BucketOwnerEnforced}]'

Step 3: Create an IAM Role for Podscribe

Important: For security reasons, the IAM role name must match this pattern:

arn:aws:iam::*:role/podscribe-report-upload-*

Save this as trust-policy.json.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::484618524793:role/podscribe-s3-uploader" },
      "Action": "sts:AssumeRole"
    }
  ]
}

Create the role:

aws iam create-role \
  --role-name podscribe-report-upload-my-role \
  --assume-role-policy-document file://trust-policy.json

Step 4: Attach a Permissions Policy to the Role

Replace <your-bucket-name> below with your bucket name:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::<your-bucket-name>",
        "arn:aws:s3:::<your-bucket-name>/*"
      ]
    }
  ]
}

Attach it:

aws iam put-role-policy \
  --role-name podscribe-report-upload-my-role \
  --policy-name PodscribeS3UploadPolicy \
  --policy-document file://s3-upload-policy.json

Step 5: Specify the following in โ€œSend via AWS S3โ€ of โ€œGenerate Reportโ€ modal

  • Bucket Name: <your-bucket-name>
  • Role ARN: arn:aws:iam::<your-account-id>:role/podscribe-report-upload-my-role
Notion image

๐Ÿ‘‰ Thatโ€™s it! Podscribe will securely assume this role and upload reports directly to your S3.


Option 2: IAM User + Access Keys

Use this only if you cannot create a role.

  1. Create an IAM User (named e.g. PodscribeUploader):
    1. aws iam create-user --user-name PodscribeUploader
      
      
  1. Attach a permissions policy to the user (replace <your-bucket-name>):
    1. Save as s3-user-policy.json:

      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "s3:PutObject"
            ],
            "Resource": [
              "arn:aws:s3:::<your-bucket-name>",
              "arn:aws:s3:::<your-bucket-name>/*"
            ]
          }
        ]
      }
      
      

      Attach it:

      aws iam put-user-policy \
        --user-name PodscribeUploader \
        --policy-name PodscribeS3UploadPolicy \
        --policy-document file://s3-user-policy.json
      
      
  1. Create access keys for the IAM user:
    1. aws iam create-access-key --user-name PodscribeUploader
      
      

      This will return:

      {
        "AccessKey": {
          "AccessKeyId": "AKIA...",
          "SecretAccessKey": "abcd..."
        }
      }
      
      
  1. Specify the following in โ€œSend via AWS S3โ€ of โ€œGenerate Reportโ€ modal
      • Access Key ID
      • Secret Access Key
      • Bucket name
      Notion image

๐Ÿ‘‰ Weโ€™ll configure our uploader with these credentials.

โš ๏ธ Remember: Rotate and revoke these keys periodically to keep them secure.

ย 
ย 

Which Option Should I Choose?

Option
Security
Complexity
Recommended Use
IAM Role
โœ… Highest
Moderate
Default / Preferred
IAM User + Keys
โš ๏ธ Lower
Easier
Only if you canโ€™t create roles

Where to Configure in Podscribe?

Once your bucket or keys are set up:

  1. Go to Generate Report.
  1. Click โ€œSend via AWS S3.โ€
  1. Enter your Role ARN or Access Keys and Bucket Name.
  1. Save your settings.
  1. Generate your report โ€” it will automatically be uploaded to your S3 bucket.
ย 

Need help?

If you have any questions or need assistance setting up your S3 connection, reach out to us anytime at adops@podscribe.com.

ย 
Did this answer your question?
๐Ÿ˜ž
๐Ÿ˜
๐Ÿคฉ