[英]Dynamic IAM Policy for DynamoDB
我正在探索對我們正在構建的 API 的細粒度訪問。 API 托管在帶有 lambda 處理程序的 API 網關上,數據存儲是 DynamoDB。 我需要對查詢應用行級和屬性級限制,具體取決於調用 API 的用戶。
DynamoDB 通過 Policies 支持水平(行)和垂直(屬性)限制。 這個aws doc涵蓋了它。 假設我在單獨的數據庫中定義了訪問控制,而我的 lambda 處理程序具有當前用戶的訪問定義。 我想要做的是能夠使用一些自定義屬性來定義我的條件。 例如
"Condition": {
"ForAllValues:StringEquals": {
"dynamodb:LeadingKeys": ["${customcontext:customerId}"],
"dynamodb:Attributes": [${customcontext:ListOfVisibleAttributes}]
},
"StringEqualsIfExists": {
"dynamodb:Select": "SPECIFIC_ATTRIBUTES"
}
}
此外,此策略是否可用於限制基於動態條件返回的行? 例如,我想根據排序鍵上的自定義值列表進一步過濾。
最后,是否值得使用策略而不是具有動態查詢的 Lambda 來處理這個問題?
您將無法根據請求動態創建策略。 它不可擴展,因為您無法創建無限數量的 IAM 策略,更不用說會引入增加的延遲。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.