我希望我的 terraform 脚本能够使用多个服务主体对多个 azure 订阅进行身份验证。
这是我的想法:
- 创建服务主体(应用注册)。
- 在 azure 容器实例中部署 terraform 脚本
- 将“贡献者”角色分配给我的订阅服务主体 (x)
- 当我想在此订阅中创建资源时,使用环境变量配置 terraform 脚本以选择正确的凭据。
$ export ARM_SUBSCRIPTION_ID=159f2485-xxxx-xxxx-xxxx-xxxxxxxxxxxx # Client subscription $ export ARM_CLIENT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx # client_id of the service principal $ export ARM_CLIENT_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx $ export ARM_TENANT_ID=72f988bf-xxxx-xxxx-xxxx-xxxxxxxxxxxx # the same tenant for all clients
这个对吗?
使用 terraform cloud 时,您是否有更安全的方式对多个订阅进行身份验证?(理想情况下没有client_secret)