pulumi 云中的细粒度 ACL
fine grained ACLs in pulumi cloud
Pulumi 创建的 lambda 函数似乎默认具有 AWSLambdaFullAccess
权限。这种类型的访问范围太广,我想用细粒度的 ACL 替换它。
例如,假设我在我的 index.js 文件中创建一个 cloud.Table
,我想指定我正在创建的 lambda 端点(在同一文件中)仅具有读取权限具体 table.
有没有不用自己编写 IAM 策略的方法?
@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/145 and https://github.com/pulumi/pulumi-cloud/issues/168.
较低级别的库(如 @pulumi/aws
和 @pulumi/aws-serverless
)提供对应用于 Function
对象的角色 and/or 策略的完全控制。
Pulumi 创建的 lambda 函数似乎默认具有 AWSLambdaFullAccess
权限。这种类型的访问范围太广,我想用细粒度的 ACL 替换它。
例如,假设我在我的 index.js 文件中创建一个 cloud.Table
,我想指定我正在创建的 lambda 端点(在同一文件中)仅具有读取权限具体 table.
有没有不用自己编写 IAM 策略的方法?
@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/145 and https://github.com/pulumi/pulumi-cloud/issues/168.
较低级别的库(如 @pulumi/aws
和 @pulumi/aws-serverless
)提供对应用于 Function
对象的角色 and/or 策略的完全控制。