Skip to content

Commit c13b0da

Browse files
committed
update iam permissions for sqs
1 parent a668222 commit c13b0da

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

servers/fai-lambda-deploy/scripts/fai-scribe-stack.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import * as apigateway from "aws-cdk-lib/aws-apigateway";
44
import { Certificate } from "aws-cdk-lib/aws-certificatemanager";
55
import * as ec2 from "aws-cdk-lib/aws-ec2";
66
import * as efs from "aws-cdk-lib/aws-efs";
7+
import * as iam from "aws-cdk-lib/aws-iam";
78
import * as lambda from "aws-cdk-lib/aws-lambda";
89
import { LogGroup, RetentionDays } from "aws-cdk-lib/aws-logs";
910
import { ARecord, HostedZone, RecordTarget } from "aws-cdk-lib/aws-route53";
@@ -125,6 +126,25 @@ export class FaiScribeStack extends Stack {
125126
filesystem: lambda.FileSystem.fromEfsAccessPoint(accessPoint, "/mnt/efs")
126127
});
127128

129+
// Grant SQS permissions for editing session queues
130+
// These queues are created dynamically by the FAI server per editing session
131+
lambdaFunction.addToRolePolicy(
132+
new iam.PolicyStatement({
133+
effect: iam.Effect.ALLOW,
134+
actions: [
135+
"sqs:ReceiveMessage",
136+
"sqs:DeleteMessage",
137+
"sqs:GetQueueAttributes",
138+
"sqs:GetQueueUrl",
139+
"sqs:ChangeMessageVisibility"
140+
],
141+
resources: [
142+
// Allow access to all editing-session queues in this region
143+
`arn:aws:sqs:${this.region}:${this.account}:editing-session-*.fifo`
144+
]
145+
})
146+
);
147+
128148
const apiName = `${lambdaName}-${environmentType.toLowerCase()}`;
129149

130150
const api = new apigateway.RestApi(this, `${lambdaName}-api`, {

0 commit comments

Comments
 (0)