Я хочу вызывать лямбда-функцию с пользовательской ролью из другой функции, используя безсерверный фреймворк. Что мне делать, я дал разрешения на вызов, но, похоже, этого недостаточно, поскольку другая функция является еще одним разрешением, которое дано ролью
Ошибка, которую я получаю,
ocr-solution-dev-routes is not authorized to perform:textract:StartDocumentAnalysis",
"errorType":"AccessDeniedException"
Мой безсерверный yml
iamRoleStatements:
- Effect: "Allow"
Action:
- "s3:*"
Resource: { "Fn::Join": ["", ["arn:aws:s3:::${self:custom.secrets.IMAGE_BUCKET_NAME}", "/*" ] ] }
- Effect: "Allow"
Action:
- lambda:InvokeFunction
- lambda:InvokeAsync
Resource: "*"
functions:
routes:
handler: src/functions/routes/handler.run
events:
- s3:
bucket: ${self:custom.secrets.IMAGE_BUCKET_NAME}
event: s3:ObjectCreated:*
startTextract:
role: QvaliaTextractRole
handler: src/functions/routes/handler.startTextAnalysis
getTextract:
role: QvaliaTextractRole
handler: src/functions/routes/handler.detectTextAnalysis
resources:
Resources:
QvaliaTextractRole:
Type: AWS::IAM::Role
Properties:
RoleName: QvaliaTextractRole
AssumeRolePolicyDocument:
Statement:
- Effect: Allow
Principal:
Service:
- textract.amazonaws.com
- lambda.amazonaws.com
Action:
- sts:AssumeRole
Policies:
- PolicyName: TextractPolicy
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- lambda:*
- sns:*
- sqs:*
- s3:*
Resource: "*"
- Effect: "Allow"
Action:
- "s3:*"
Resource: { "Fn::Join": ["", ["arn:aws:s3:::${self:custom.secrets.IMAGE_BUCKET_NAME}", "/*" ] ] }