如题, Azure Automation account现在已经可以支持managed identity作为底层的身份验证方式,如果熟悉Azure并且是做operation的朋友,应该会比较高兴能听到这个消息,这意味着不再需要花时间维护run as account对应的client certificate了,换成managed identity之后,所有的这些维护工作都会转为由Microsoft完成

这里花时间来解释下automation背后浅层的一些机制,automation account本身是用来做一些针对Azure的自动化任务存在的,所以automation本身在执行这些任务的时候,是需要有权限的,而过去这个权限是由run as account或者classic run as account赋予的

在 Azure 中创建automation account时,还会自动创建以下帐户:

  • 运行方式帐户(用于在 Azure Active Directory 中创建新的服务主体)、证书以及分配参与者基于角色的访问控制 (RBAC)(用于使用 Runbook 管理 Resource Manager 资源)。
  • 经典运行方式帐户(通过上传管理证书),用于使用 Runbook 管理经典资源。

所以在创建automation account的时候,你会发现除了account本身之外,还会在Azure AD中自动创建一个application以及对应的service principal,并且自动为这个service principal分配sub级别的contributor角色(也可能是owner,具体记不太清楚了)

这样automation account就可以有权限操作Azure中的资源了

但是问题是这个service principal使用的是自签名证书,并且只有2年的有效期,两年过后,证书就会过期,automation account也就失去对应的权限了

在Azure Portal中看到的界面大概会是这样

Azure新知识科普 - Automation account now support managed identity_automation


所以以前的时候,运维的一项工作就是要检查automation account的certificate过期时间,然后即时的renew证书

而现在这项工作就不再需要了,因为现在automation account用的已经是managed identity了,这个东西可以理解为由微软维护的service principal,用户不需要管理managed identity的certificate或者secret的过期问题,managed identity的生命周期维护也完全由Microsoft负责,在此之前,service principal的维护其实是个很繁琐的工作,尤其是在环境变得越来越复杂之后

​https://docs.microsoft.com/zh-cn/azure/active-directory/managed-identities-azure-resources/overview?WT.mc_id=AZ-MVP-5001235​

借助于Managed identity,新创建的automation account已经可以享受这项新功能了