AWS CodeBuild由于UNAUTHORIZED_OPERATION_DELETE_NETWORK_INTERFACE错误而失败

问题描述 投票:0回答:1

我有一个CodeBuild服务出现此错误

UNAUTHORIZED_OPERATION_DELETE_NETWORK_INTERFACE:该服务角色无权执行ec2:DeleteNetworkInterface

我正在使用的服务角色具有ec2:DeleteNetworkInterface的必要权限,但是被全局拒绝策略阻止-一直很好,因为最近CodeBuild一直使用DeleteNetworkInterface标志运行--dry-run。它只是在检查我是否具有权限,而不是实际执行它。这是理想的行为,因为它不应删除任何网络接口。这已经工作了几个月了。

但是,由于不再设置--dry-run标志,因此现在失败了。我真的为为什么而感到困惑,因为管道还没有更新,并且到目前为止工作正常。

我们还检测了正常和失败的命令序列之间的这些差异:

** Working sequence: "DescribeVpcs" is presented
DescribeSubnets
DescribeVpcs
DescribeNetworkInterfaces
DeleteNetworkInterface (Client.DryRunOperation)

** Failed sequence: DescribeVpcs is missed
DescribeSubnets
DescribeNetworkInterfaces
DeleteNetworkInterface (Client.UnauthorizedOperation)

我已检查我的服务角色是否具有上述所有权限。

有人可以指出我的可能原因吗?我真的很感激。谢谢。

amazon-web-services amazon-iam aws-codebuild
1个回答
0
投票

这是所需的行为,因为它不应删除任何网络接口。

这是一个错误的假设。如果您的构建项目使用VPC配置,则CodeBuild将在您的帐户中创建一个网络接口并将其附加到构建容器,以便该构建容器可以访问VPC资源(例如数据库)。构建完成后,CodeBuild将删除此网络接口。 CodeBuild文档中明确记录了“ ec2:DeleteNetworkInterface”的要求:

我同意试运行的行为可能已经改变,但是并不能改变您的项目每次使用VPC配置都需要'DeleteNetworkInterface'权限的事实。

© www.soinside.com 2019 - 2024. All rights reserved.