我正在阅读有关Secretager的CDK文档,我不确定我是否误解了,但我认为从他们的例子中可以工作的东西似乎并没有授予我预期的许可。从本质上讲,我有一个包含一些Lambdas的堆栈,我希望它们都能够从秘密管理器中读取两个秘密。
class CdkStack extends cdk.Stack {
/**
*
* @param {cdk.Construct} scope
* @param {string} id
* @param {cdk.StackProps=} props
*/
constructor(scope, id, props) {
super(scope, id, props);
// eslint-disable-next-line no-new
new APIServices(this, "APIServices");
const role = new iam.Role(this, "SecretsManagerRead", {
assumedBy: new iam.AccountRootPrincipal(),
});
const dbReadSecret = new secretsmanager.Secret(this, "databaseReader");
const dbWriteSecret = new secretsmanager.Secret(this, "databaseWriter");
dbReadSecret.grantRead(role);
dbWriteSecret.grantRead(role);
}
}
如果我理解正确,我应该简单地创建这个角色并授予它访问机密的权限?然而,当我试图运行它们时,我的Lambda仍然失败了。我是否需要执行我正在阅读的文档中未提及的任何其他操作,以明确将该角色分配给 Lambdas?
长风秋雁
相关分类