LogPush for Amazon S3 (AWS)

Overview

Our services will periodically push audit logs to customer-managed AWS S3 bucket. Authentication and authorization are securely handled by AWS Security Token Service with an explicit trust relationship between Sourcegraph-owned GCP identity (GCP Service Account) and the customer-managed AWS S3 bucket.

Steps

To enable this feature, please contact your assigned Customer Engineer (CE) or support team to obtain the specific instruction. Below is a high level overview of the steps.

  • Sourcegraph provides below information to customer:
    • GCP identity (GCP Service Account)
    • a unique file to prove bucket ownership
  • Customer to perform the following:
    • creates a S3 bucket
    • configures the trust relationship with AWS IAM
    • uploads the ownership file to prove bucket ownership
  • Customer to inform Sourcegraph of the S3 bucket ARN and the AWS IAM role ARN

Once completed, Sourcegraph will complete the LogPush configuration and start sending logs to the customer-managed S3 bucket.

FAQ

How does the authentication work?

Sourcegraph will provide instructions on how to configure the trust relationship between the Sourcegraph-owned GCP identity (GCP Service Account) and the customer-managed AWS S3 bucket. We will also provide the example configuration in Terraform. At a high level:

  • Customer creates a AWS IAM role:
    • with a policy to permit such role to access the S3 bucket
    • with a policy to permit the Sourcegraph-owned GSA to assume such role
  • Sourcegraph assumes the provisioned AWS IAM role to access the bucket