在CDK中为Lambda函数添加DynamoDB访问权限。

0

【以下的问题经过翻译处理】 我有一个Lambda函数,可以将数据写入DynamoDB并从中读取。我想要向Lambda函数添加基于资源的策略。但是我在CDK中找不到相关的方法。虽然我找到了function.addPermission方法,但是它只提供了允许其他AWS服务调用此Lambda的权限。

profile picture
专家
已提问 8 个月前48 查看次数
1 回答
0

【以下的回答经过翻译处理】 这可以使用add_role_to_policy函数实现:

from aws_cdk import aws_lambda as _lambda
from aws_cdk.aws_lambda_python import PythonFunction
from aws_cdk import aws_iam as iam

my_function = PythonFunction(
    #function logic
)
  
my_function.add_to_role_policy(iam.PolicyStatement(
    effect=iam.Effect.ALLOW,
    actions=[
        'dynamodb:GetItem',
    ],
    resources=[
        'TABLE_ARN',
    ],
))

上述策略使用Python,并授予Lambda在提供DynamoDB表ARN的情况下获得GetItem权限。

更多信息请参见此处

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则