CDK 部署失败并拒绝访问

时间:2021-03-12 12:18:15

标签: amazon-web-services aws-cdk

我正在尝试使用 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.

1 个答案:

答案 0 :(得分:1)

我遇到了完全相同的问题。我准备了一些 SCP 并暂时停用它们解决了问题。

最后,我获得了在我的 SCP 中缺少 KMS 的许可。在权限中添加以下语句解决了我的问题:

{
  "Sid": "AllowKMS",
  "Effect": "Allow",
  "Action": [
    "kms:*"
  ],
  "Resource": [
    "*"
  ]
}