AWS managed secrets carry extra structure because Alter computes the full AWS Signature Version 4 (SigV4) signature per outgoing request. One stored AWS access key works against every AWS service — S3, Lambda, DynamoDB, Bedrock, CloudWatch — without any per-service configuration.Documentation Index
Fetch the complete documentation index at: https://docs.alterauth.com/llms.txt
Use this file to discover all available pages before exploring further.
| Property | Value |
|---|---|
| Provider slug | aws |
| Credential type | SigV4 |
| Required credentials | Access Key ID + Secret Access Key |
| Region / service | Auto-detected from the request URL |
Storing the credential
- In AWS IAM, create or pick a user with least-privilege permissions and generate an access key.
- In the developer portal: Managed Secrets → Add Provider → AWS.
- Paste Access Key ID and Secret Access Key. No region or service configuration is needed.
- Save. A
grant_idis returned.
Calling AWS — app.request() (Python and TypeScript)
The default path. Pass the standard AWS hostname; Alter parses region and service from the URL and signs the request.
Calling AWS — boto3_client() (Python only)
For applications that prefer the native boto3 API (response parsing, pagination, botocore.exceptions.ClientError):
boto3_client() parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
service_name | str | — | AWS service (s3, dynamodb, bedrock-runtime, …). |
grant_id | str | — | The AWS grant. |
region_name | str | us-east-1 | AWS region. |
timeout | float | client timeout | Per-request timeout (seconds). |
reason | str | — | Audit reason applied to every call from this client. |
context | dict | — | Per-client audit context. |
botocore.exceptions.ClientError for AWS errors like NoSuchBucket, AccessDenied; AlterSDKError for Alter-side issues).
For multi-GB responses (e.g., s3.get_object on large files), use app.request() with httpx streaming instead — boto3_client() buffers responses in memory.
Supported URL patterns
Alter auto-detects region and service from these AWS hostname formats:| Pattern | Example | Detected |
|---|---|---|
| Standard | s3.us-east-1.amazonaws.com | service s3, region us-east-1 |
| Hyphenated service | bedrock-runtime.us-west-2.amazonaws.com | service bedrock-runtime, region us-west-2 |
| S3 virtual-hosted | my-bucket.s3.us-west-2.amazonaws.com | service s3, region us-west-2 |
| PrivateLink (regional) | vpce-xxx.monitoring.us-east-2.vpce.amazonaws.com | service monitoring, region us-east-2 |
| PrivateLink (zonal) | vpce-xxx-us-east-2c.monitoring.us-east-2.vpce.amazonaws.com | service monitoring, region us-east-2 |
| GovCloud | s3.us-gov-west-1.amazonaws.com | service s3, region us-gov-west-1 |
Rotation
When the AWS access key rotates: regenerate in IAM, then update the stored value in the portal under Managed Secrets → AWS → Update credential. Every existinggrant_id keeps working with the new key.
What’s next
Provision secrets for backend services
General managed-secret flow.
Managed secret providers
Other catalog entries.
Python SDK
boto3_client() and request() reference.