tutorial pricing management cloudformation aws application and amazon-web-services amazon-iam amazon-cloudformation

amazon-web-services - pricing - cloudformation templates



El usuario no está autorizado para realizar: formación en la nube: CreateStack (10)

Con las actualizaciones recientes en AWS, la siguiente política en línea también funcionará.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "cloudformation:DeleteStack" ], "Resource": "*" } ] }

Estoy probando Serverless para crear AWS Lambdas y al crear un proyecto usando el comando serverless project create obtengo el siguiente error.

AccessDenied: User: arn:aws:iam::XXXXXXXXX:user/XXXXXXXXX is not authorized to perform: cloudformation:CreateStack on resource: arn:aws:cloudformation:us-east-1:XXXXXXXXX:stack/XXXXXXXXX-development-r/*

He creado un usuario y le he otorgado los siguientes permisos.

  1. AWSLambdaFullAccess
  2. AmazonS3FullAccess
  3. CloudFrontFullAccess
  4. AWSCloudFormationReadOnlyAccess (No había AWSCloudFormationFullAccess para otorgar)

¿Cómo puedo proceder? ¿Qué más permisos tengo que otorgar?


Cree la siguiente política:

  1. Haga clic en Política -> Crear política
  2. En Seleccionar servicio: escriba EKS y seleccione ''EKS''
  3. En Acciones: seleccione ''Todas las acciones de EKS''
  4. En Recursos: seleccione ''Todos los recursos'' o Agregar ARN
  5. Haga clic en Política de revisión
  6. Escriba el nombre de la política y cree la política.

Ahora, asocie esta política a la cuenta de usuario. Esto debería resolver el problema y debería poder crear la pila.


El más cercano que ha mencionado es AWSCloudFormationReadOnlyAccess , pero obviamente es solo de lectura y necesita información en la cloudformation:CreateStack . Agregue lo siguiente como política de usuario .

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1449904348000", "Effect": "Allow", "Action": [ "cloudformation:CreateStack" ], "Resource": [ "*" ] } ] }

Es completamente posible que necesite más permisos, por ejemplo, para lanzar una instancia EC2, para (re) configurar grupos de seguridad, etc.


En mi experiencia reciente, la política requerida era

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1449904348000", "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:CreateChangeSet", "cloudformation:ListStacks", "cloudformation:UpdateStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackEvents", "cloudformation:ValidateTemplate", "cloudformation:DescribeChangeSet", "cloudformation:ExecuteChangeSet" ], "Resource": [ "*" ] } ] }


Estos 2 me ayudaron a cruzar la línea ...

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "apigateway:*", "Resource": "*" } ] }

y

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "cloudformation:ListStacks", "cloudformation:DescribeStackEvents", "cloudformation:CreateStack", "cloudformation:UpdateStack", "cloudformation:DescribeStackResource", "cloudformation:CreateChangeSet", "cloudformation:DescribeChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:ValidateTemplate" ], "Resource": "*" } ] }



Lo que @ tedder42 dijo, pero también tuve que agregar lo siguiente a mi política de grupo antes de poder implementarlo en lambda desde dentro de Visual Studio.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1449904348000", "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:CreateChangeSet", "cloudformation:ListStacks", "cloudformation:UpdateStack", "cloudformation:DescribeChangeSet", "cloudformation:ExecuteChangeSet" ], "Resource": [ "*" ] } ] }


No pude hacer funcionar las versiones más cortas que se muestran arriba; lo que arregló las cosas para mí fue extender ligeramente la respuesta de @mancvso:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1449904348000", "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:CreateChangeSet", "cloudformation:ListStacks", "cloudformation:UpdateStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackEvents", "cloudformation:ValidateTemplate", "cloudformation:DescribeChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:GetTemplateSummary" ], "Resource": [ "*" ] } ] }


Otorgue acceso de "administrador" al usuario que creó


Si tiene varios perfiles de AWS, intente explícitamente

export AWS_ACCESS_KEY_ID=<value> export AWS_SECRET_ACCESS_KEY=<value>

antes de intentar

serverless deploy