Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

186
Visualizações
AWS: lambda no puede asumir el rol definido para la función

Soy nuevo en AWS CDK y me encontré con un problema al configurar mi Lambda. Aquí está mi código:

 import { ManagedPolicy, Role, Group, User } from 'aws-cdk-lib/aws-iam'; import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs'; import { LambdaIntegration } from 'aws-cdk-lib/aws-apigateway'; const group1 = new Group(this, 'group-1', { managedPolicies: [ ManagedPolicy.fromAwsManagedPolicyName('AdministratorAccess'), ManagedPolicy.fromAwsManagedPolicyName('AmazonEC2FullAccess'), ManagedPolicy.fromAwsManagedPolicyName('SecretsManagerReadWrite'), ManagedPolicy.fromAwsManagedPolicyName('IAMFullAccess'), ManagedPolicy.fromAwsManagedPolicyName('AmazonS3FullAccess'), ManagedPolicy.fromAwsManagedPolicyName('AmazonAPIGatewayAdministrator'), ManagedPolicy.fromAwsManagedPolicyName( 'AmazonEC2ContainerRegistryFullAccess' ), ManagedPolicy.fromAwsManagedPolicyName('AmazonRDSFullAccess'), ManagedPolicy.fromAwsManagedPolicyName('AmazonSSMFullAccess'), ManagedPolicy.fromAwsManagedPolicyName('AmazonCognitoPowerUser') ] }); const group2 = new Group(this, 'group-2', { managedPolicies: [ ManagedPolicy.fromAwsManagedPolicyName('AWSCloudFormationFullAccess'), ManagedPolicy.fromAwsManagedPolicyName('AWSLambda_FullAccess') ] }); const user = new User(this, 'root', {}); group1.addUser(user); group2.addUser(user); const lambdaRole = new Role(this, 'lambdaRole', { roleName: 'lambdaRole', assumedBy: user }); const lambda = new LambdaIntegration( new NodejsFunction(this, 'statusFunction', { entry: 'lambda.js', functionName: 'lambda', role: lambdaRole, }) );

Creé algunos grupos que contienen una variedad de políticas y adjunté un usuario a esos dos grupos. Ahora quiero usar ese usuario con todos estos permisos para ejecutar una función lambda. Tengo entendido que para poder hacerlo, primero tengo que crear un rol para la lambda que he hecho. Luego configuro el assumedBy por el nuevo rol para que sea el usuario que acabo de crear con todos los permisos; tengo entendido que esto debería pasar todos los permisos del usuario al rol que ejecutará la lambda...

Cuando intento implementar (a través cdk deploy ), aparece el siguiente error:

el rol definido para la función no puede ser asumido por lambda

¿Por qué sería esto?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

El rol de su Lambda debe ser asumido por la entidad principal del servicio de Lambda, no por el usuario.

Puede que le resulte más fácil no crear Lambda directamente y, en su lugar, dejar que la construcción NodejsFunction cree el rol por usted. Agregue cualquier permiso que necesite su función de Lambda llamando al . función addToRolePolicy .

Si está tratando de permitir que su usuario invoque la función, entonces necesita algo como:

 const lambdaFunction = new NodejsFunction(this, 'statusFunction', { entry: 'lambda.js', functionName: 'lambda', role: lambdaRole, }); const lambda = new LambdaIntegration( lambdaFunction ); group1.grantInvoke(lambdaFunction);
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda