Aze*_*ter 2 amazon-web-services aws-lambda aws-cdk
我对 AWS CDK 还很陌生,对 AWS 没有太多经验。在我正在编写的 CDK 堆栈中,我必须授予使用其他 CDK 模板构建并且已经在 aws 中的资源的权限。
假设我的堆栈 A 包含一个 lambda,该 lambda 将从另一个服务 X 调用。服务 X 需要具有 lambda 的调用权限。我可以从堆栈 A 代码中授予服务 X 权限,还是需要修改服务 X 堆栈?
一般来说,答案是肯定的,您可以为堆栈外创建的资源添加权限。但是,您需要确保资源是可导入的。
拉姆达用法:
为 lambda 角色添加策略:
更多信息在这里。
const importedLambda = lambda.Function.fromFunctionArn(scope,`${name}-lambda`,${LAMBDA_ARN});
importedLambda.addToRolePolicy(new iam.PolicyStatement({
effect: iam.Effect.ALLOW, // ... and so on defining the policy
}));
Run Code Online (Sandbox Code Playgroud)
为 lambda 添加权限:
更多信息在这里。
const importedLambda = lambda.Function.fromFunctionArn(scope,`${name}-lambda`,${LAMBDA_ARN});
importedLambda.addPermission('allowInvocation',{
principal: new ServicePrincipal('events.amazonaws.com'), // ... and so on defining the permission
sourceArn: ...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3192 次 |
| 最近记录: |