这是我如何做到的:
- 创建可访问您的 AppConfig 的托管策略
- 将该托管策略附加到您的 lambda 配置为使用的角色
这是使用 CDK 的代码(CDK 是创建 AWS 资源的最新最好的工具,我强烈推荐使用它!)。
如果您不想使用 CDK,您可以手动手动设置相同的托管策略。
详细示例如下:
创建可访问您的 AppConfig 的托管策略
const resourceArn = `arn:aws:appconfig:${props.region}:${props.accountId}:application/${this.appConfigApplication.ref}*`
this.appConfigReaderManagedPolicy = new ManagedPolicy(this, `AppConfigReader-${id}`, {
managedPolicyName: `AppConfigReader-${id}`,
description: `Readonly access to ${id}`,
statements: [
new PolicyStatement({
resources: [resourceArn],
actions: [
'appconfig:GetConfiguration',
'appconfig:GetApplication',
]
})
]
})
将该托管策略附加到您的 lambda 配置为使用的角色
//assuming your lambda is already configured somewhere
this.lambdaFunction.role.addManagedPolicy(this.appConfigReaderManagedPolicy)