CDK部署报错:IAM策略存在语法错误的排查求助
问题解决:AWS CDK部署时IAM策略语法错误
错误根源
你的代码存在两处语法错误,直接导致IAM策略生成异常:
- Deploy步骤的commands数组未闭合:在
'du -b tarball.tgz',之后缺少闭合的],破坏了CodeBuildStep的参数结构。 - S3拷贝命令的变量语法错误:
${tarballBucket.bucketName}}多了一个右大括号,正确写法是${tarballBucket.bucketName}。
修正后的Deploy步骤代码
const deployStep = new CodeBuildStep('Deploy', { buildEnvironment: { environmentVariables: { JWT: { type: BuildEnvironmentVariableType.SECRETS_MANAGER, value: jwtValue, } } }, commands: [ `aws s3 cp s3://${tarballBucket.bucketName}/tarball.tgz tarball.tgz`, 'echo "Deploying to CMS"', // print the tarball size in bytes 'du -b tarball.tgz' ] });
错误解析
JavaScript语法错误会导致CDK在解析CodeBuildStep配置时出现异常,生成的IAM策略文档结构损坏,最终触发AWS IAM返回的"Syntax errors in policy"错误。修复这两处语法问题后,CDK就能正确生成符合规范的IAM策略,部署即可正常进行。
内容的提问来源于stack exchange,提问作者phuwin
相关产品推荐
相关产品推荐

