快速入门:使用 JavaScript 创建管理组
管理组是一些容器,可以帮助跨多个订阅管理访问权限、策略和符合性。 可以创建这些容器来构建可以与 Azure Policy 和 Azure 基于角色的访问控制配合使用的有效且高效的层次结构。 若要详细了解管理组,请参阅使用 Azure 管理组整理资源。
在目录中创建的第一个管理组可能需要最多 15 分钟才能完成。 一些进程会首次运行以在 Azure 中为目录设置管理组服务。 在进程完成后将显示通知。 有关详细信息,请参阅管理组的初始设置。
先决条件
如果没有 Azure 订阅,请在开始前创建一个试用版订阅帐户。
在开始之前,请确保至少已安装 Node.js 的版本 12。
如果未启用层次结构保护,则租户中的任何 Microsoft Entra ID 用户都可在未分配有管理组写入权限的情况下创建管理组。 这个新的管理组将成为根管理组的子级或默认管理组,并将为创建者分配“所有者”角色。 管理组服务允许此功能,因此不需要在根级别分配角色。 创建根管理组时,用户没有访问权限。 为避免在查找 Microsoft Entra ID 全局管理员以开始使用管理组方面遇到阻碍,我们允许在根级别创建初始管理组。
应用程序设置
若要启用 JavaScript 以对管理组进行管理,必须设置环境。 此设置适用于可使用 JavaScript 的任何环境,包括 Bash on Windows 10。
运行以下命令,设置新的 Node.js 项目。
npm init -y
添加对 yargs 模块的引用。
npm install yargs
添加对 Azure Resource Graph 模块的引用。
npm install @azure/arm-managementgroups
添加对 Azure 身份验证库的引用。
npm install @azure/identity
注意
在 package.json 中验证
@azure/arm-managementgroups
是否为版本 2.0.1 或更高版本,并且@azure/identity
是否为版本 2.0.4 或更高版本。
创建管理组
创建一个名为 index.js 的文件,并输入以下代码。
const argv = require("yargs").argv; const { InteractiveBrowserCredential } = require("@azure/identity"); const { ManagementGroupsAPI } = require("@azure/arm-managementgroups"); if (argv.groupID && argv.displayName) { const createMG = async () => { const credentials = new InteractiveBrowserCredential(); const client = new ManagementGroupsAPI(credentials); const result = await client.managementGroups.beginCreateOrUpdateAndWait( argv.groupID, { displayName: argv.displayName } ); console.log(result); }; createMG(); }
在终端中输入以下命令:
node index.js --groupID "<NEW_MG_GROUP_ID>" --displayName "<NEW_MG_FRIENDLY_NAME>"
请确保将每个令牌
<>
占位符分别替换为管理组 ID 和管理组易记名称 。当脚本尝试进行身份验证时,会在终端中显示类似于以下所示的消息:
注意
若要登录,请使用 Web 浏览器打开页面 https://microsoft.com/deviceloginchina ,然后输入代码 FGB56WJUGK 进行身份验证。
在浏览器中进行身份验证后,该脚本将继续运行。
创建管理组的结果将输出到控制台。
清理资源
如果希望从应用程序中删除已安装的库,请运行以下命令。
npm uninstall @azure/arm-managementgroups @azure/identity yargs
后续步骤
在本快速入门中,你创建了一个管理组来整理资源层次结构。 管理组可以包含订阅或其他管理组。
要详细了解管理组以及如何管理资源层次结构,请继续执行以下操作: