我已经阅读了文档,它与我的用例非常相似,但我不能使用谷歌、Facebook或亚马逊作为我的身份提供者,但我已经拥有企业级OAuth 2.0访问令牌来验证用户。
我知道我可以可能使用AWS STS的企业联合支持获取临时凭证,并使用它们进一步访问AWS资源,但我不明白如何配置IAM策略以使用这些凭据实现水平信息隐藏。
我在DynamoDB中有某些表,在其中存储应用程序的所有用户的详细信息,我的应用程序支持多租户,因此我希望一个租户的用户无法访问其他租户的数据。我可以配置的IAM策略类型是:
现在我的用户不是通过亚马逊(或谷歌或Facebook)登录的,因此我不能使用诸如 "${www.amazon.com:user_id}" 等密钥。另外,我的某些表的哈希键是复合的。
所以我的问题是如何在数据库级别实现多租户,并能够根据租户分离或分隔数据,即隐藏某些表行使其对应用户无法访问。
在定义 IAM 策略时是否可以指定自定义策略变量,并指定运行时如何解析它们?还是有其他方法?
我的 Dynamo 表目前具有组合哈希键,这些哈希键是 Tenant_ID 和 User_ID 的组合,那么我是否可以在 IAM 策略中指定某种规则,以便能够实现水平信息隐藏?
如果需要更多关于我的用例的信息,请告知。
敬礼, Agraj
我知道我可以可能使用AWS STS的企业联合支持获取临时凭证,并使用它们进一步访问AWS资源,但我不明白如何配置IAM策略以使用这些凭据实现水平信息隐藏。
我在DynamoDB中有某些表,在其中存储应用程序的所有用户的详细信息,我的应用程序支持多租户,因此我希望一个租户的用户无法访问其他租户的数据。我可以配置的IAM策略类型是:
"Condition": {
"ForAllValues:StringEquals": {
"dynamodb:LeadingKeys": ["${www.amazon.com:user_id}"]
}
}
现在我的用户不是通过亚马逊(或谷歌或Facebook)登录的,因此我不能使用诸如 "${www.amazon.com:user_id}" 等密钥。另外,我的某些表的哈希键是复合的。
所以我的问题是如何在数据库级别实现多租户,并能够根据租户分离或分隔数据,即隐藏某些表行使其对应用户无法访问。
在定义 IAM 策略时是否可以指定自定义策略变量,并指定运行时如何解析它们?还是有其他方法?
我的 Dynamo 表目前具有组合哈希键,这些哈希键是 Tenant_ID 和 User_ID 的组合,那么我是否可以在 IAM 策略中指定某种规则,以便能够实现水平信息隐藏?
如果需要更多关于我的用例的信息,请告知。
敬礼, Agraj