我正在尝试使用 CDK 部署 aws cfn 堆栈,但访问被拒绝。堆栈包含一些带有 code.fromAsset()
的 lambda 应用程序,错误似乎是由资产发布引起的。
bucket 是 KMS 加密的,引导程序如下:
cdk bootstrap <acc_id>/<region> \
--public-access-block-configuration false \
--bootstrap-kms-key-id <key_arn> \
--app "python app.py"
引导程序成功完成,但由于上述错误导致部署失败。
非常感谢您的关注,
[0%] start: Publishing 87acds2ad323asd23e6e42374b49601d6c6858c4ad21asfasd213eddd18f6bd:current
[100%] fail: Access Denied
❌ stack failed: Error: Failed to publish one or more assets. See the error messages above for more information.
at Object.publishAssets (...\Roaming\npm\node_modules\aws-cdk\lib\util\asset-publishing.ts:25:11)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at Object.deployStack (...\Roaming\npm\node_modules\aws-cdk\lib\api\deploy-stack.ts:223:3)
at CdkToolkit.deploy (...\Roaming\npm\node_modules\aws-cdk\lib\cdk-toolkit.ts:181:24)
at main (...\Roaming\npm\node_modules\aws-cdk\bin\cdk.ts:268:16)
at initCommandLine (...\AppData\Roaming\npm\node_modules\aws-cdk\bin\cdk.ts:188:9)
Failed to publish one or more assets. See the error messages above for more information.
答案 0 :(得分:1)
我遇到了完全相同的问题。我准备了一些 SCP 并暂时停用它们解决了问题。
最后,我获得了在我的 SCP 中缺少 KMS 的许可。在权限中添加以下语句解决了我的问题:
{
"Sid": "AllowKMS",
"Effect": "Allow",
"Action": [
"kms:*"
],
"Resource": [
"*"
]
}