добавить условие Принципала в политику на основе идентичности - PullRequest
0 голосов
/ 02 мая 2020

Мой ApiGateway + Lamdba function + Cognito authorizer работает, если в функцию Lamdba добавлено resource-based policy:

{
  "Version": "2012-10-17",
  "Id": "default",
  "Statement": [
    {
      "Sid": "xxx",
      "Effect": "Allow",
      "Principal": {
        "Service": "apigateway.amazonaws.com"
      },
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:us-east-1:xxx:function:lambda-1:dev",
      "Condition": {
        "ArnLike": {
          "AWS:SourceArn": "arn:aws:execute-api:us-east-1:xxx:qmxjy21e85/*/GET/"
        }
      }
    }
  ]
}

Я пытаюсь переместить эту политику на основе ресурсов в identity-based policy добавлено к роли, связывающей с группой пользователей. Ниже приведена моя политика на основе идентификаторов, основанная на этой ссылке :

{
    "Version": "2012-10-17",
    "Id": "default",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "lambda:InvokeFunction",
            "Resource": "arn:aws:lambda:us-east-1:xxx:function:lambda-1:dev",
            "Condition": {
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:execute-api:us-east-1:xxx:qmxjy21e85/*/GET/"
                },
                "StringEquals": {
                    "lambda:Principal": "apigateway.amazonaws.com"
                }
            }
        }
    ]
}

Ошибка: enter image description here

Любая идея, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...