【发布时间】:2017-01-06 12:54:14
【问题描述】:
我目前有 SAML 集成设置,并且在我的身份验证提供程序 (auth0) 和 AWS/AWS API Gateway 之间按预期工作。 但是,使用 ${saml:sub} 变量定义 AWS 策略时会出现复杂情况。
这是我的配置示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"execute-api:*"
],
"Resource": [
"arn:aws:execute-api:us-west-2:[removed]/*/GET/customers/${saml:sub}"
]
}
]
}
基本上,我想确保此端点只能由当前经过身份验证的用户访问(基于他们的 saml:sub)。当前经过身份验证的用户应该无法访问其他客户记录。看起来这应该是一个潜在的常见用例。
Auth0 自动分配 saml:sub 并且 id 的格式是这样的
auth0|429
我假设问题目前在于管道字符存在,并且当通过浏览器向 API Gateway URL 发出请求时,它将它与自动转义的值进行比较。因此,我假设对资源的访问被拒绝,因为
auth0|429 != auth0%7C429。
IAM 策略中是否有解决此问题的方法? Auth0 端是否有潜在的解决方法来为 ${saml:sub} 分配不同的值?
【问题讨论】:
标签: saml amazon-iam aws-api-gateway auth0