Lambda-Fehler beim Versuch, Parameter zu entfernen

Oct 01 2020

Ich habe diesen Artikel verwendet, um meinen Stapel zu erstellen.

https://aws.amazon.com/blogs/infrastructure-and-automation/scheduling-automatic-deletion-of-aws-cloudformation-stacks/

Aber einen Fehler bekommen:

Benutzer: arn: aws: sts :: xxx: angenommene Rolle / deleteCurrent-DeleteAfter-DeleteCFNLambdaExecution-T1WHQG2UTLWM / DeleteCFNLambda-deleteCurrent ist nicht berechtigt auszuführen: ssm: DeleteParameter für Ressource: arn: aws: ssm: us-east-1: xxx: parameter / CFN-DemoParameter-plOl5Hg4QuI5 (Dienst: AmazonSSM; Statuscode: 400; Fehlercode: AccessDeniedException;

Die Vorlage kann hier eingesehen werden ...

https://datameetgeobk.s3.amazonaws.com/cftemplates/delete_after_5m.template

Jeder Vorschlag zur Behebung des Fehlers wird geschätzt.

Antworten

1 Marcin Oct 01 2020 at 12:36

Der Fehler besagt, dass Ihre Lambda-Ausführungsrolle keine Berechtigungen zum Ausführen der ssm:DeleteParameterRolle hat. So können Sie der Lambda-Rolle die fehlende Berechtigung hinzufügen:

Resources:
  DeleteCFNLambdaExecutionRole:
    Type: "AWS::IAM::Role"
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
        - Effect: "Allow"
          Principal:
            Service: ["lambda.amazonaws.com"]
          Action: "sts:AssumeRole"
      Path: "/"
      Policies:
      - PolicyName: "lambda_policy"
        PolicyDocument:
          Version: "2012-10-17"
          Statement:
          - Effect: "Allow"
            Action:
            - "logs:CreateLogGroup"
            - "logs:CreateLogStream"
            - "logs:PutLogEvents"
            Resource: "arn:aws:logs:*:*:*"
          - Effect: "Allow"
            Action:
            - "cloudformation:DeleteStack"
            Resource: !Sub "arn:aws:cloudformation:${AWS::Region}:${AWS::AccountId}:stack/${StackName}/*"
          - Effect: "Allow"
            Action:
            - "ssm:DeleteParameter"
            Resource: "*"