OpenSRE uses AWS S3 to read object metadata and content when an alert points at data in a bucket — inspecting the files a pipeline produced, sampling an object to spot a schema change, pulling an audit payload, or confirming a run finished by checking for a completion marker.All S3 access is read-only and routed through the shared AWS client, so the integration cannot mutate or delete your objects.
S3 has no credentials of its own — it uses the same AWS credentials as the rest of the AWS integration. The S3 tools build their client from the ambient AWS credential chain: environment keys, a shared credentials profile, or an attached instance/task role — plus the region.
AWS_ROLE_ARN is assumed only by opensre integrations verify aws — the S3 tools do not assume it. The credentials above must have S3 read access themselves.
The bucket, key, and prefix OpenSRE reads are not environment variables — they come from the alert’s resolved sources. Each S3 tool turns on for the planner only when the sources carry the fields it needs:
Attach this to the same IAM role or user the S3 tools actually use — the ambient credential chain (env keys or instance/task role), not only a role that the verifier assumes. If you already use the AWS managed ReadOnlyAccess policy, both actions are covered.
S3 shares the AWS integration’s verification. Verify credentials and region with:
opensre integrations verify aws
Expected output:
Service: awsStatus: passedDetail: Connected to AWS STS via static-creds in us-east-1; caller identity account=123456789012 arn=arn:aws:iam::123456789012:user/opensre.
This confirms the credentials S3 rides on. It does not test bucket-level access — that is exercised the first time a tool runs against a bucket.
The alert’s sources have no s3 entry, or it lacks the required field — object-level tools need both bucketandkey, not just bucket.
AccessDenied on GetObject / ListBucket
Attach the IAM policy above to the credentials the S3 tools actually use — the ambient credential chain (env keys or instance/task role), not only a role that the verifier assumes.
check_s3_marker reports no marker when the run finished
It only counts files whose key contains _SUCCESS or marker (case-insensitive). A completion file named anything else won’t be detected.
A binary object returns metadata but no readable text
The object isn’t UTF-8 (for example Parquet or gzip); you still get size, type, and ETag, but there is no text sample to read.