我已经通过documentation远去又密切反映我的使用情况不同的是,我不能使用谷歌,Facebook或亚马逊作为我的身份提供者,但我已经有为经过身份验证的用户提供企业级OAuth 2.0访问令牌。细粒度的访问控制与亚马逊迪纳摩DB与卧式信息隐藏
我知道我可以使用AWS STS提供的Enterprise Federated支持获取临时凭证并使用它们来进一步访问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
谢谢Stu回复。然而,我目前无法接受它作为正确的答案,因为我现在无法尝试。两年前我已经从这个项目中走了出来。如果其他人可以验证这个答案是正确的,我会很高兴接受这是正确的答案。 – Agraj