If you can enter your ddb table using the cognito identifier instead of the facebook id, you can call the api gateway with the cognito credentials. If you use credentials when calling lambda, you can access the cognito identifier through a token $context.identity.cognitoIdentityId. This ensures that the call has been made by the owner of this identifier. You can also check that $context.identity.cognitoAuthenticationProvider- graph.facebook.comto ensure that they complete through Facebook. Unfortunately, the facebook id is not passed in the credentials, so if you need it, you will need a lookup table matching the cognito identifier with the facebook id. For more information on the available tokens, see here .