使用 ARM 模板创建 Azure AD 用户

问题描述 投票:0回答:1

有没有办法让自动化中使用的 ARM 模板创建一个 Azure AD 用户帐户,供人类使用密码登录 Azure 门户?

如果是这样,您能否展示 ARM 模板的最少代码来完成此任务?

AWS 使用 CloudFormation 使这一切变得简单。但到目前为止,我关于如何使用 ARM 模板执行此操作的研究尚未产生任何结果。

azure azure-active-directory azure-resource-manager azure-rm-template
1个回答
0
投票

Azure 资源管理器(即 ARM 的代表)仅用于管理(顾名思义)Azure 资源。然而,微软决定,每种类型的用户帐户(托管身份除外,但让我们忽略它们)仅由 Azure AD(或 Entra ID)完全管理,这是另一种产品。最终,它们耦合在一起,并且在 Azure AD 中管理的用户可以在 Azure (ARM) 中使用,但仍驻留在 Azure AD 中。不幸的是,恕我直言,命名相当混乱。如果您想了解更多有关 ARM 领域内容的信息,请参阅此处

因此,您正在寻找一种在代码中管理 Azure AD 资源的方法,这是由 Graph API 提供的。如果您需要更多详细信息,请在here描述创建用户的正确 API,但最终的查询是:

POST https://graph.microsoft.com/v1.0/users
Body:
{
    "accountEnabled": true,
    "city": "Seattle",
    "country": "United States",
    "department": "Sales & Marketing",
    "displayName": "Melissa Darrow",
    "givenName": "Melissa",
    "jobTitle": "Marketing Director",
    "mailNickname": "MelissaD",
    "passwordPolicies": "DisablePasswordExpiration",
    "passwordProfile": {
        "password": "76734553-24af-87e1-d3c5-a1fb1ecdb305",
        "forceChangePasswordNextSignIn": false
    },
    "officeLocation": "131/1105",
    "postalCode": "98052",
    "preferredLanguage": "en-US",
    "state": "WA",
    "streetAddress": "9256 Towne Center Dr., Suite 400",
    "surname": "Darrow",
    "mobilePhone": "+1 206 555 0110",
    "usageLocation": "US",
    "userPrincipalName": "MelissaD@{domain}"
}
Request Header:
Authentication (bearer)
Content-type application/json

此外,Microsoft 还提供了 Graph Explorer,您可以在其中使用这些适用于 Azure AD 的 API。

P.S.:另一个常见的困惑点是角色管理。由于Azure AD和Azure(ARM)是两种产品,它们具有不同的角色管理和不同的权限。为了避免陷入常见问题,您可能会喜欢这篇文章

© www.soinside.com 2019 - 2024. All rights reserved.