Мой случай:
- Я использую CloudFormation для предоставления aws ресурсов (бессерверное состояние c веб-приложение).
- Я создаю шлюз amazon api и IAM пользователь только из шаблона CloudFormation (он содержит разрешения для вызова только шлюза api)
- Я использую AuthorizationType: AWS_IAM в методе шлюза api.
IamUser:
Type: 'AWS::IAM::User'
Properties:
Policies:
- PolicyName: api-invoke-policy
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- 'execute-api:Invoke'
- 'execute-api:ManageConnections'
Resource:
- 'arn:aws:execute-api:*:account-id:*'
чтобы вызвать этот метод api, мы должны передать ключ доступа и пароль Я хочу использовать этот URL-адрес api для вызова лямбда-функции из раздела ajax (во внешней части)
пример:
alert("subjet area going to add to db");
$.ajax({
url: 'https://****.execute-api.us-east-1.amazonaws.com/test/*******',
type: 'GET',
data:{subjectAreaId: "$('#subjectAreaId').val()"
},
dataType:'json',
contentType: 'application/json',
crossDomain: true,
success:function(response){
alert("you are able to invoke lambda function using api url");
},
error: function (jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
alert("error ");
}
})
Мой вопрос
- как передать этот ключ доступа и пароль (которые собирается получить из пользовательской консоли iam) из вызова ajax для вызова лямбда.
пробовал: я могу вызвать этот URL-адрес из приложения почтальона (где я ввел эти ключ и пароль в разделе авторизации)
есть предложения?
спасибо!