В настоящее время у меня есть настройка интеграции SAML и работает как ожидалось между моим провайдером аутентификации (auth0) и AWS/AWS API Gateway. Однако возникают сложности при определении политики AWS с переменной $ {saml: sub}.Эквивалентная переменная политики AWS IAM для разрешений шлюза API
Вот пример моей конфигурации:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"execute-api:*"
],
"Resource": [
"arn:aws:execute-api:us-west-2:[removed]/*/GET/customers/${saml:sub}"
]
}
]
}
В основном я хочу, чтобы эта конечная точка доступна только в настоящее время auth'd в пользователя (на основе их SAML: суб) , В настоящее время пользователь auth'd не должен иметь доступ к другой записи клиентов. Похоже, это должно быть потенциально распространенным случаем использования.
Auth0 автоматически назначает SAML: к югу и формат идентификатора что-то вроде этого
auth0|429
Я предполагаю, что этот вопрос в настоящее время лежит характер трубы будучи там и сравнивая его с автоматическим спасся значение когда запрос направляется на URL-адрес шлюза API через браузер. Из-за этого я предполагаю, что доступ запрещен ресурсу, потому что auth0|429 != auth0%7C429
.
Есть ли способ в рамках политики IAM обойти это? Существует ли потенциальное обходное решение на стороне Auth0 для присвоения другого значения $ {saml: sub}?
В какой конечной точке вы используете: '/ customers/{id}' или '/ customers/me'? Похоже, что если вы используете '/ me' с идентификатором в своем запросе интеграции, вам не понадобится конечная точка'/{id} ', правильно? –
Извините за путаницу. Да - мы используем/customers/me, а не клиенты/{id} как ресурс. Я обновил ответ, чтобы это отразить. –