logo头像

博学广问,自律静思

【开源】Terraform实现在Team中分享Azure订阅

假设你属于组织中的某个团队,现在你们只有一份Azure subscription,而你是Azure订阅的所有者。那怎么怎么把一个subscription分享给其它人,同时实现:

  • 与您的团队共享Azure,每个人都可以在您的订阅中使用Azure资源。
  • 每个人的环境是隔离的,比如你操作不了或者至少看不见别人创建的资源
  • 每个人的私有资源组只能由其所有者管理。
  • 可以与所有团队成员共享一个公共资源组。
  • 当有人离开团队时,他的资源很容易被销毁避免收费。

文章 https://lennilobel.wordpress.com/2018/10/15/adding-a-user-to-your-azure-subscription-with-resource-group-access/ 介绍了在Azure后台UI上实现这一需求,主要是在Resource Group级别进行了IAM控制。 同时,极客人将其进行了代码化:https://github.com/tf-module/azure-user-resource-group ,它实现过程如下(详情请移步开源地址)

  • 创建一个Azure AD用户组,其中包含您的团队成员,也就是你提供的邮件地址
  • 分别为每个成员创建它以其姓名命名的私人资源组,利用role assignment,将自己配置为私人资源组的owner。
  • 一个给整个团队共享的公共资源组,每个成员都是其贡献者,利用role assignment,将用户组配置为该资源组的contributor。
@大河南融合公司
大河南融合公司 commented at 2019-12-15

可以的