我已經通過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