是否可以使用 Pulumi 创建 Azure 服务主体?
Posted
技术标签:
【中文标题】是否可以使用 Pulumi 创建 Azure 服务主体?【英文标题】:Is it possible to create an Azure Service Principal with the Pulumi? 【发布时间】:2021-12-02 02:35:59 【问题描述】:我有一个创建一些 Azure 资源的 Pulumi Python 代码。安装了我的用户用户帐户来创建资源,我使用 Powershell 创建了一个 Azure 服务主体并使用以下方法进行身份验证:
pulumi config set azure-native:clientId <clientID>
pulumi config set azure-native:clientSecret <clientSecret> --secret
pulumi config set azure-native:tenantId <tenantID>
pulumi config set azure-native:subscriptionId <subscriptionID>
现在,我想知道是否可以使用 Pulumi 创建 Azure 服务主体,然后使用服务主体进行身份验证? 其他问题,是真道吗?
编辑: 作为这些文件Service Principal 我的代码是:
import pulumi
from pulumi.output import Output
import pulumi_azure_native as azure_native
import pulumi_azuread as azuread
current = azuread.get_client_config()
example_application = azuread.Application("exampleApplication",
display_name="example",
owners=[current.object_id])
example_service_principal = azuread.ServicePrincipal("exampleServicePrincipal",
application_id=example_application.application_id,
app_role_assignment_required=False,
owners=[current.object_id])
我收到了这个错误。我也安装了pip install pulumi-azuread
ModuleNotFoundError: No module named 'pulumi_azuread'
【问题讨论】:
您将需要使用此名称安装模块 -pip install pulumi_azuread
。注意下划线_
,而不是破折号。
@sushant 和 @Piers Karsenbarg 我都尝试了它们,但我收到了同样的错误。 Pip freeze
的输出是 pulumi-azuread==5.5.0
。另外,我卸载了pip install pulumi-azuread
,又重新安装了pip install pulumi_azuread
,但是问题还是没有解决。
【参考方案1】:
当然可以,将Service Principal resource 用作Azure Active Directory Provider 的一部分。
您需要先定义一个应用程序,但在打字稿中它看起来像:
import * as azuread from "@pulumi/azuread";
const application = new azuread.Application(`application`,
displayName: `application`,
);
const servicePrincipal = new azuread.ServicePrincipal(`servicePrincipal`,
applicationId: application.applicationId,
);
【讨论】:
我收到了这个错误。另外,我使用以下命令安装它。是 Azure 本机吗?pip install pulumi-azuread
错误:import pulumi_azuread as azuread
ModuleNotFoundError: No module named pulumi_azuread'
error:发生未处理的错误:程序以非零退出代码退出:1`
正如@sushant 在您的问题下的评论中所写,pip install pulumi_azuread
带有下划线而不是连字符以上是关于是否可以使用 Pulumi 创建 Azure 服务主体?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Pulumi Azure 资源迁移到 Azure-Nextgen?
使用 Pulumi 通过 C# 在 APIM 中创建后端资源时输入映射错误