簡體   English   中英

DynamoDB 的動態 IAM 策略

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM