web-dev-qa-db-fra.com

AWS API Gateway: utilisateur anonyme n'est pas autorisé à exécuter l'API

Tentative de publication sur une API que j'ai créée dans une passerelle API: 

{
    "Message": "User: anonymous is not authorized to perform: execute-api:Invoke on resource: arn:aws:execute-api:us-west-2:***********:jrr7u1ekrr/v0/POST/user"
}

Comment puis-je mettre à jour la stratégie dans CloudFormation pour rendre public le noeud final POST? Je déclare l'API avec le type de ressource AWS::ApiGateway::RestApi

la propriété de stratégie d'API est: 

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "execute-api:/*/POST/user"
        }
    ]
} 
2
tgk

La question est probablement sur la partie de déclaration de méthode. authorizationType doit être défini sur NONE dans votre déclaration AWS::ApiGateway::Method.

1
roxxypoxxy

Quelque chose m'a pris de court: "Si l'API a déjà été déployée dans la console API Gateway, vous devrez le redéployer pour que la stratégie de ressources prenne effet."

https://docs.aws.Amazon.com/apigateway/latest/developerguide/apigateway-resource-policies-create-attach.html

0
Travis Bear