Pulumi:如何创建ApplicationPassword并让Azure设置值
Pulumi: how to create an ApplicationPassword and let Azure set the value
我希望能够做到以下几点:
- 生成一个
ApplicationPassword
而不生成实际的 value
密码(让 Azure 来做,类似于 Azure 在 UI 中为您生成秘密值的方式,或者secretText
是来自这个 azure api 方法的 return 值:https://docs.microsoft.com/en-us/graph/api/application-addpassword?view=graph-rest-1.0&tabs=http)
- 将该机密放入 Azure 密钥库
- 重新部署堆栈,而不是让它每次都生成新的秘密
这可能吗?
我不想指定秘密值的原因是我需要将秘密值提交给代码,而我不想这样做。
我能想到的唯一解决方法是在代码中生成秘密值,将其存储在 keyvault 中,从 keyvault 中检索它并使用它来创建 ApplicationPassword
,但这会导致 Pulumi 创建一个每次我部署堆栈时,keyvault 中的新秘密(然后是新的 ApplicationPassword
)。
您可以使用 RandomPassword
资源生成在同一堆栈的多次运行之间稳定的密码。它生成一次,然后存储在状态文件中。
const password = new random.RandomPassword("password", {
length: 16,
special: true,
});
// use password.result somewhere
我希望能够做到以下几点:
- 生成一个
ApplicationPassword
而不生成实际的value
密码(让 Azure 来做,类似于 Azure 在 UI 中为您生成秘密值的方式,或者secretText
是来自这个 azure api 方法的 return 值:https://docs.microsoft.com/en-us/graph/api/application-addpassword?view=graph-rest-1.0&tabs=http) - 将该机密放入 Azure 密钥库
- 重新部署堆栈,而不是让它每次都生成新的秘密
这可能吗?
我不想指定秘密值的原因是我需要将秘密值提交给代码,而我不想这样做。
我能想到的唯一解决方法是在代码中生成秘密值,将其存储在 keyvault 中,从 keyvault 中检索它并使用它来创建 ApplicationPassword
,但这会导致 Pulumi 创建一个每次我部署堆栈时,keyvault 中的新秘密(然后是新的 ApplicationPassword
)。
您可以使用 RandomPassword
资源生成在同一堆栈的多次运行之间稳定的密码。它生成一次,然后存储在状态文件中。
const password = new random.RandomPassword("password", {
length: 16,
special: true,
});
// use password.result somewhere