使用第三方代付的企业管理资源最佳实践

代付模式下如何采用多账户策略

目的是实现以下效果:

  1. 客户保持对 AWS 组织的完全访问权,并能够执行除访问账单数据之外的所有关键安全相关任务。

  2. 未经客户批准,合作伙伴只能控制账单信息,而不能在根账户(主付款人账户)中执行任何其他任务。

  3. 如果出现违约/终止合同的情况,客户可重新获得对包括主账户在内的所有账户的完全控制权。

可以参考的博客:https://aws.amazon.com/cn/blogs/architecture/field-notes-building-a-shared-account-structure-using-aws-organizations/ 但是博客中介绍的方法比较复杂,建议可以简化为三步实现:

任务1: 保护Root User

因为后面配置的权限只有root user可以更改,如果代付依然保留root用户的管理权限,则完全可以实现在客户不知情的情况下修改彼此的权限,扩大自己的能力,执行所有操作。

  • 客户:掌握MFA

  • 代理商:掌握根用户的用户名和密码

实现客户和合作伙伴都不能在没有对方参与的情况下使用根用户。

任务2: 在IAM Identity Center中创建彼此的权限

创建2个IAM 角色,分别允许客户人和代理商的人访问管理账户或者也称为payer account。

  • 客户:授予以下权限

    • “FullOrganizationAccess”

      “S3”

      “CloudTrail”

      “CloudWatch”

      更多权限但是除了Billing和IAM, IAM Identity Center的权限

  • 代理商:Billing full access

客户可以完全访问AWS组织并执行所有关键的安全相关任务(除了访问计费数据),合作伙伴只能控制计费信息而不能在未经客户批准的情况下执行管理账户(主付款账户)中的任何其他任务。

任务3: 创建root user使用告警

由于代理商掌握根用户的用户名和密码,可以通过申诉的方式找回管理账户,绕过绑定MFA的设计。

因此,建议创建root user的使用告警,一旦代理商申诉的方式找回,客户依然能够及时得知。

最后更新于