pulumi云中的细粒度ACL

时间:2018-08-13 09:38:26

标签: pulumi

似乎默认情况下,由Pulumi创建的lambda函数具有AWSLambdaFullAccess权限。这种类型的访问范围太广,我想用细粒度的ACL代替它。

例如,假设我正在index.js文件中创建一个cloud.Table,我想指定我正在创建的lambda端点(在同一文件中)仅对该特定表具有读取权限。

有没有办法自己编写IAM策略?

1 个答案:

答案 0 :(得分:3)

@pulumi/cloud库当前在AWS上使用一组统一的IAM策略运行所有计算(lambda和容器化服务)。

您可以通过运行以下命令来设置要使用的策略:

pulumi config set cloud-aws:computeIAMRolePolicyARNs "arn:aws:iam::aws:policy/AWSLambdaFullAccess,arn:aws:iam::aws:policy/AmazonEC2ContainerServiceFullAccess"

上面的值是默认值。参见https://github.com/pulumi/pulumi-cloud/blob/master/aws/config/index.ts#L52-L56

有计划直接从@pulumi/cloud中使用的资源中支持对权限和计算权限的更精细控制-例如,请参见https://github.com/pulumi/pulumi-cloud/issues/145https://github.com/pulumi/pulumi-cloud/issues/168

较低级的库(例如@pulumi/aws@pulumi/aws-serverless)可以完全控制应用于Function对象的角色和/或策略。