sparse-intern-71089
05/17/2021, 10:45 AMproud-spoon-58287
05/17/2021, 10:47 AMproud-spoon-58287
05/17/2021, 10:47 AMconsole.log(' - creating global IAM Role for data feed Lambda functions')
const lambdaRole = new aws.iam.Role('iamr-data-feed-lambda', {
assumeRolePolicy: `{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "<http://lambda.amazonaws.com|lambda.amazonaws.com>"
},
"Effect": "Allow"
}
]
}`
})
console.log(' - attaching AWSLambda_FullAccess managed policy to Lambda role')
// eslint-disable-next-line no-new
new aws.iam.RolePolicyAttachment('iamrpa-data-feed-lambda-role-lambda-access-policy', {
role: lambdaRole.name,
policyArn: 'arn:aws:iam::aws:policy/AWSLambda_FullAccess'
})
console.log(' - attaching AWSLambdaVPCAccessExecutionRole managed policy to Lambda role')
// eslint-disable-next-line no-new
new aws.iam.RolePolicyAttachment('iamrpa-data-feed-lambda-role-vpc-access-policy', {
role: lambdaRole.name,
policyArn: 'arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole'
})
console.log(' - attaching AWSLambdaSQSQueueExecutionRole managed policy to Lambda role')
// eslint-disable-next-line no-new
new aws.iam.RolePolicyAttachment('iamrpa-data-feed-lambda-role-sqs-queue-policy', {
role: lambdaRole.name,
policyArn: 'arn:aws:iam::aws:policy/service-role/AWSLambdaSQSQueueExecutionRole'
})
proud-spoon-58287
05/17/2021, 10:47 AMproud-spoon-58287
05/17/2021, 10:47 AMproud-spoon-58287
05/17/2021, 11:13 AMproud-spoon-58287
05/17/2021, 11:13 AMproud-spoon-58287
05/17/2021, 11:43 AMgorgeous-country-43026
05/17/2021, 12:30 PMAWSLambdaSQSQueueExecutionRole – Permission to read a message from an Amazon Simple Queue Service (Amazon SQS) queue.
gorgeous-country-43026
05/17/2021, 12:30 PMgorgeous-country-43026
05/17/2021, 12:30 PMgorgeous-country-43026
05/17/2021, 12:31 PMgorgeous-country-43026
05/17/2021, 12:32 PMgorgeous-country-43026
05/17/2021, 12:33 PMproud-spoon-58287
05/17/2021, 12:42 PMproud-spoon-58287
05/17/2021, 1:05 PMproud-spoon-58287
05/17/2021, 1:43 PMconst sqsLambdaRole = new aws.iam.Policy('policy', {
path: '/',
description: 'SQSLambdaRole',
policy: JSON.stringify({
Version: '2012-10-17',
Statement: [
{
Effect: 'Allow',
Action: [
'sqs:DeleteMessage',
'logs:CreateLogStream',
'sqs:ReceiveMessage',
'sqs:SendMessage',
'sqs:SendMessageBatch',
'sqs:GetQueueAttributes',
'logs:CreateLogGroup',
'logs:PutLogEvents'
],
Resource: '*'
}
]
})
})
proud-spoon-58287
05/17/2021, 1:43 PMproud-spoon-58287
05/17/2021, 1:43 PMgorgeous-country-43026
05/18/2021, 5:15 AM'sqs:*'
and see if it works after that. AWS IAM permissions are pain in the ass in general.proud-spoon-58287
05/18/2021, 7:00 AMproud-spoon-58287
05/18/2021, 9:36 AM