似乎默认情况下,由 Pulumi 创建的 lambda 函数具有AWSLambdaFullAccess
权限。这种类型的访问范围太广,我想用细粒度的 ACL 替换它。
例如,假设我cloud.Table
在我的 index.js 文件中创建一个,我想指定我正在创建的 lambda 端点(在同一个文件中)只有对该特定表的读取访问权限。
有没有办法在不自己编写 IAM 政策的情况下做到这一点?
似乎默认情况下,由 Pulumi 创建的 lambda 函数具有AWSLambdaFullAccess
权限。这种类型的访问范围太广,我想用细粒度的 ACL 替换它。
例如,假设我cloud.Table
在我的 index.js 文件中创建一个,我想指定我正在创建的 lambda 端点(在同一个文件中)只有对该特定表的读取访问权限。
有没有办法在不自己编写 IAM 政策的情况下做到这一点?
该@pulumi/cloud
库目前在 AWS 上使用一组统一的 IAM 策略运行所有计算(lambdas 和容器化服务)。
您可以通过运行设置要使用的策略:
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/145和https://github.com/ pulumi/pulumi-cloud/issues/168。
较低级别的库(如@pulumi/aws
和@pulumi/aws-serverless
)提供对应用于Function
对象的角色和/或策略的完全控制。