AWS cloud connection
AWS connections use cross-account IAM role assumption. Ductape's integrations service calls sts:AssumeRole on your customer role using credentials configured on the server.
Setup checklist
- Create IAM user credentials on the Ductape integrations server (not in client SDK scripts).
- Grant that user
sts:AssumeRoleon your customer role ARN. - Create IAM role
DuctapeAccess(name must match Workbench docs) with trust policy allowing Ductape's AWS account + your external ID (shown in Workbench after create). - Attach managed policies for features you use: S3, SQS, RDS, Neptune, OpenSearch.
- Workbench → Cloud → Add AWS connection with tag e.g.
prod_aws.
SDK lifecycle
- TypeScript
- Java
- Go
- .NET
await ductape.cloud.connections.create({
provider: 'aws',
name: 'prod_aws',
scopes: ['storage', 'database', 'broker'],
});
await ductape.cloud.connections.complete('prod_aws', {
role_arn: 'arn:aws:iam::480358138685:role/DuctapeAccess',
});
await ductape.cloud.connections.validate('prod_aws');
ductape.cloud.connections.create(Map.of(
"provider", "aws",
"name", "prod_aws",
scopes: ['storage', 'database', 'broker'],
));
ductape.cloud.connections.complete('prod_aws', Map.of(
"role_arn", "arn:aws:iam::480358138685:role/DuctapeAccess",
));
ductape.cloud.connections.validate('prod_aws');
client.cloud.connections.create({
"provider": "aws",
"name": "prod_aws",
scopes: ['storage', 'database', 'broker'],
});
client.cloud.connections.complete('prod_aws', {
"role_arn": "arn:aws:iam::480358138685:role/DuctapeAccess",
});
client.cloud.connections.validate('prod_aws');
await ductape.cloud.connections.create({
["provider"] = "aws",
["name"] = "prod_aws",
scopes: ['storage', 'database', 'broker'],
});
await ductape.cloud.connections.complete('prod_aws', {
["role_arn"] = "arn:aws:iam::480358138685:role/DuctapeAccess",
});
await ductape.cloud.connections.validate('prod_aws');
Go
_, _ = client.Cloud.Connections.Create(ctx, map[string]any{
"provider": "aws", "name": "prod_aws", "scopes": []string{"storage", "database"},
})
_, _ = client.Cloud.Connections.Complete(ctx, "prod_aws", map[string]any{
"role_arn": "arn:aws:iam::480358138685:role/DuctapeAccess",
})
_, _ = client.Cloud.Connections.Validate(ctx, "prod_aws")
Networking (RDS / Neptune)
RDS and Neptune require VPC security group access. See AWS networking.
Linked services
service | Component type |
|---|---|
s3 | Storage |
sqs | Message brokers |
rds | Databases (PostgreSQL) |
neptune | Graphs |
opensearch | Vectors |