У меня есть вопрос, касающийся раскрытия моего API третьему лицу. Я развертываю свой API на AWS Lambda. Теперь другая третья сторона (над которой у меня нет контроля) хотела бы получить доступ к API. Я хотел бы предоставить им доступ (они платят за это). Поскольку они также используют AWS для своего развертывания, я подумал, что проще всего создать политику ресурсов для этой конкретной функции.
- Это безопасный и безопасный способ предоставления доступа?
API состоит только из POST-запроса, однако ему не нужно вызывать другие сервисы AWS (например, S3 и т. Д.). Как я могу для этого минимально установить разрешение просто вызывать функции?
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::{{otherAWSAccountID}}:user/{{otherAWSUserName}}",
"arn:aws:iam::{{otherAWSAccountID}}:role/{{otherAWSRoleName}}"
]
},
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:region:account-id-1:api-id/stage/POST/endpoint"
}
]
}
- Достаточно ли вышеуказанного?
- Является ли действие
lambda:InvokeFunction
правильным выбором или есть?
еще более ограничительная возможность?
- Существует ли какая-либо ориентировочная погода для использования
user
или role
или даже root
. В частности, с точки зрения безопасности
В общем, будет ли лучший вариант?