所有开发人员和测试人员都在开发帐户(帐户d)中。生产和测试环境是另一个帐户(帐户x),但是在两个不同的VPC中——VPC-P和VPC-T。如何限制测试人员访问VPC-P,而开发人员只能访问VPC-P。账户X中还有其他VPC。开发者/测试人员不需要访问账户X中的其他内容。
您的情况似乎是:
Account-D包含:
- 适用于开发人员和测试人员的IAM用户
Account-X包含:
- VPC-P
- VPC-T
您希望允许Account-D中的"测试人员"修改VPC-T上的设置。
您希望允许Account-D中的"开发人员"修改VPC-p上的设置。
这似乎是不可能的。根据亚马逊EC2-AWS身份和访问管理的操作、资源和条件密钥,只有一些操作可以接受VPC作为条件,例如:
ec2:CreateVpcPeeringConnection
ec2:CreateNetworkInterfacePermission
ec2:CreateRoute
像CreateSubnet
和DeleteSubnet
这样的命令不允许任何条件。
因此,不可能限制许多与专有网络相关的权限仅在特定的专有网络上操作。
考虑到您正在与测试人员和开发人员打交道,我强烈建议您为每个环境使用单独的AWS帐户。拥有一个开发者账户,定义IAM用户和VPCs。为测试人员提供一个单独的AWS帐户,以确保他们无法访问开发者帐户。这将创建一个干净的环境分离。