对于初识 Azure 的同学,管理工具和管理命令模块众多如何选择适合自己的管理工具,并且熟悉这些管理工具是很有意义的事情。下面分别介绍Azure CLI、AAD、AzPowerShell、Azure Active Directory Graph PowerShell、Microsoft Graph。
名称 |
替代对象 |
管理对象 |
对象 |
Azure CLI |
Azure |
Linux/MAC 习惯 |
|
Az PowerShell |
AzureRM PowerShell |
PowerShell 模块 |
|
Azure Active Directory Graph PowerShell |
Azure AD Powershell |
PowerShell 模块 |
|
Microsoft Graph |
M 365/Azure |
REST API/SDK |
图中,Az.开头的PowerShell 模块是Az PowerShell;AzureAD 是Azure Active Directory Graph PowerShell 模块。
目录
什么是 Azure?
什么是 Azure Active Directory?
Azure AD 面向对象
Azure AD 许可证
Azure AD 功能
什么是 Azure CLI?
Azure CLI 示例
Azure Az PowerShell 模块
Azure Active Directory Graph PowerShell
Azure Active Directory (MSOnline)
什么是 Microsoft Graph?
Microsoft Graph 服务
什么是 Azure?
Azure 云平台汇集的产品和云服务超过 200 种,旨在帮助你将新解决方案付诸实践,以便解决当今的难题。利用所选的工具和框架,在多个云中、在本地以及在边缘生成、运行和管理应用程序。
Azure 解决方案提供相关产品、服务和第三方应用程序,满足各种需求。从 DevOps 到业务分析再到物联网,通过与现有技术相契合且具有成本效益的可缩放解决方案,快速稳定运行。
什么是 Azure Active Directory?
Azure Active Directory (Azure AD) 是基于云的标识和访问管理服务。 Azure AD 可帮助员工访问外部资源,例如 Microsoft 365、Azure 门户和数以千计的其他 SaaS 应用程序。 Azure Active Directory 还可帮助他们访问内部资源,如企业内网上的应用,以及组织开发的任何应用。
Active Directory 与 Azure Active Directory 对比
概念 |
Active Directory (AD) |
Azure Active Directory |
用户 |
||
预配:用户 |
组织手动创建内部用户,或者使用内部或自动化预配系统(例如 Microsoft Identity Manager)来与 HR 系统集成。 |
现有 AD 组织使用 Azure AD Connect 将标识同步到云。 Azure AD 现支持从云 HR 系统自动创建用户。 Azure AD 可在已启用 SCIM |
预配:外部标识 |
组织在专用的外部 AD 林中作为一般用户手动创建外部用户,导致产生管理外部标识(来宾用户)生命周期的管理开销 |
Azure AD 提供了特殊的标识类来支持外部标识。 Azure AD B2B |
权利管理和组 |
管理员使用户成为组的成员。 然后,应用和资源所有者向组授予对应用或资源的访问权限。 |
Azure AD 中也提供了组,管理员也可以使用组来授予对资源的权限。 在 Azure AD 中,管理员可以手动将成员身份分配到组,也可以使用查询动态地将用户包括到组中。 管理员可以使用 Azure AD 中的权利管理,以使用户能够使用工作流以及基于时间的条件(如有必要)访问应用和资源的集合。 |
管理员管理 |
组织将在 AD 中使用域、组织单位和组的组合来委派管理权限,以管理其控制的目录和资源。 |
Azure AD 使用 Azure 基于角色的访问控制 (Azure AD RBAC) 系统提供内置角色,并对创建自定义角色提供有限支持,以将特权访问权限委托给标识系统、应用和其控制的资源。 通过 Privileged Identity Management (PIM) |
凭据管理 |
Active Directory 中的凭据基于密码、证书身份验证和智能卡身份验证。 密码是使用基于密码长度、有效期和复杂性的密码策略管理的。 |
Azure AD 对云和本地都使用智能密码保护。 保护包括智能锁定,以及阻止通用和自定义密码短语和替换。 Azure AD 通过多重身份验证和无密码技术(例如 FIDO2)显著提高了安全性。 Azure AD 通过向用户提供自助式密码重置系统来降低支持成本。 |
应用 |
||
基础结构应用 |
Active Directory 构成了许多基础结构本地组件的基础,例如 DNS、DHCP、IPSec、WiFi、NPS 和 VPN 访问 |
在新的云环境中,Azure AD 是用于访问应用的新控制平面,而不是依赖于网络控制。 当用户进行身份验证时,条件访问 (CA) |
传统应用和旧式应用 |
大多数本地应用都使用 LDAP、Windows 集成身份验证(NTLM 和 Kerberos)或基于标头的身份验证来控制对用户的访问。 |
Azure AD 可使用在本地运行的 Azure AD 应用程序代理程序来访问这些类型的本地应用。 通过此方法,Azure AD 可在你进行迁移或需要与旧式应用共存时,在本地使用 Kerberos 对 Active Directory 用户进行身份验证。 |
SaaS 应用 |
Active Directory 不提供对 SaaS 应用的本机支持,而且需要联合系统(例如 AD FS)。 |
可集成支持 OAuth2、SAML 和 WS-* 身份验证的 SaaS 应用来使用 Azure AD 进行身份验证。 |
采用新式身份验证的业务线 (LOB) 应用 |
组织可以将 AD FS 与 Active Directory 配合使用来支持需要新式身份验证的 LOB 应用。 |
需要新式身份验证的 LOB 应用可以配置为使用 Azure AD 进行身份验证。 |
中间层级/守护程序服务 |
在本地环境中运行的服务通常使用 AD 服务帐户或组托管服务帐户 (gMSA) 来运行。 然后,这些应用将继承服务帐户的权限。 |
Azure AD 提供托管标识,以在云中运行其他工作负荷。 这些标识的生命周期由 Azure AD 管理,并绑定到资源提供程序,但无法用于其他目的以获得后门访问权限。 |
设备 |
||
移动型 |
在没有第三方解决方案的情况下,Active Directory 本身不支持移动设备。 |
Microsoft 的移动设备管理解决方案 Microsoft Intune 集成了 Azure AD。 Microsoft Intune 向标识系统提供在身份验证期间要评估的设备状态信息。 |
Windows 桌面 |
通过 Active Directory,可在域中加入 Windows 设备来使用组策略、System Center Configuration Manager 或其他第三方解决方案管理这些设备。 |
Windows 设备可加入到 Azure AD。 条件访问可检查设备是否是在身份验证过程中加入 Azure AD 的。 还可通过 Microsoft Intune |
Windows 服务器 |
Active Directory 为使用组策略或其他管理解决方案的本地 Windows 服务器提供了强大的管理功能。 |
可以通过 Azure AD 域服务来管理 Azure 中的 Windows 服务器虚拟机。 当 VM 需要访问标识系统目录或资源时,可以使用托管标识。 |
Linux/Unix 工作负荷 |
尽管 Linux 计算机可以配置为向 Active Directory(作为 Kerberos 领域)进行身份验证,但 Active Directory 在没有第三方解决方案的情况下本身不支持非 Windows。 |
Linux/Unix VM 可以使用托管标识来访问标识系统或资源。 某些组织将这些工作负荷迁移到云容器技术,这些技术也可以使用托管标识。 |
Azure AD 面向对象
Azure AD 根据组织成员的角色为组织成员提供不同的权限:
IT 管理员可以根据业务要求,使用 Azure AD 来控制用户对应用和应用资源的访问。 例如,IT 管理员可以使用 Azure AD 要求用户在访问重要的组织资源时进行多重身份验证。 还可以使用 Azure AD 在现有 Windows Server AD 和云应用(包括 Microsoft 365)之间自动完成用户预配。 最终可以利用 Azure AD 提供的强大工具自动保护用户标识和凭据,实现访问管理要求。
应用开发人员可以将 Azure AD 用作基于标准的身份验证提供程序,将单一登录 (SSO) 添加到使用用户现有凭据的应用。 开发人员还可以使用 Azure AD API 利用组织数据构建个性化体验。
每个 Microsoft 365、Office 365、Azure 和 Dynamics CRM Online 租户都会自动成为 Azure AD 租户。 可以管理用户对集成云应用的访问。
Azure AD 许可
Microsoft Online 业务服务(例如 Microsoft 365 或 Microsoft Azure)使用 Azure AD 来完成登录活动并进行标识保护。 订阅任何 Microsoft Online 服务,则会自动获得对 Azure AD 免费版的访问权限。
Azure AD 功能
Azure AD 许可授权后,即可访问下面这些部分或所有功能:
类别 |
说明 |
应用程序管理 |
使用应用程序代理、单一登录、“我的应用”门户和软件即服务 (SaaS) 应用来管理云应用和本地应用。有关详细信息,请参阅如何提供对本地应用程序的安全远程访问和应用程序管理文档。 |
身份验证 |
管理 Azure Active Directory 自助密码重置、多重身份验证、自定义禁止密码列表和智能锁定。有关详细信息,请参阅 Azure AD 身份验证文档。 |
针对开发人员的 Azure Active Directory |
生成应用,以便进行所有 Microsoft 标识的登录,以及获取令牌来调用 Microsoft Graph、其他 Microsoft API 或自定义 API。有关详细信息,请参阅 Microsoft 标识平台(针对开发人员的 Azure Active Directory)。 |
企业对企业 (B2B) |
管理来宾用户和外部合作伙伴,同时保持对自己公司数据的控制。有关详细信息,请参阅 Azure Active Directory B2B 文档。 |
企业对客户 (B2C) |
自定义并控制用户在使用应用时如何注册、登录并管理其配置文件。有关详细信息,请参阅 Azure Active Directory B2C 文档。 |
条件性访问 |
管理对云应用进行的访问。有关详细信息,请参阅 Azure AD 条件访问文档。 |
设备管理 |
管理云设备或本地设备访问企业数据的方式。有关详细信息,请参阅 Azure AD 设备管理文档。 |
域服务 |
在不使用域控制器的情况下将 Azure 虚拟机加入域。有关详细信息,请参阅 Azure AD 域服务文档。 |
企业用户 |
使用组和管理员角色管理许可证分配、应用访问以及设置委托。有关详细信息,请参阅 Azure Active Directory 用户管理文档。 |
混合标识 |
使用 Azure Active Directory Connect 和 Connect Health 提供单一用户标识,以便针对所有资源进行身份验证和授权,而不考虑位置(云或本地)。有关详细信息,请参阅混合标识文档。 |
标识治理 |
通过员工、业务合作伙伴、供应商、服务和应用访问控制管理组织的标识。还可执行访问评审。有关详细信息,请参阅 Azure AD 标识治理文档和 Azure AD 访问评审。 |
标识保护 |
检测影响组织标识的潜在漏洞,配置用于响应可疑操作的策略,然后采取相应的解决措施。有关详细信息,请参阅 Azure AD 标识保护。 |
Azure 资源的托管标识 |
在 Azure AD 中为 Azure 服务提供可以对任何 Azure AD 支持的身份验证服务(包括 Key Vault)进行身份验证的自动托管标识。有关详细信息,请参阅什么是 Azure 资源的托管标识?。 |
Privileged Identity Management (PIM) |
管理、控制和监视组织内的访问。此功能包括访问 Azure AD、Azure 和其他 Microsoft Online Services(例如 Microsoft 365 或 Intune)中的资源。有关详细信息,请参阅 Azure AD Privileged Identity Management。 |
报表和监视 |
了解环境中的安全性和使用模式。有关详细信息,请参阅 Azure Active Directory 报表和监视。 |
工作负载标识 |
为软件工作负载(例如应用程序、服务、脚本或容器)赋予标识,以进行身份验证和访问其他服务及资源。有关详细信息,请参阅工作负载标识常见问题解答。 |
什么是 Azure CLI?
Azure 命令行接口 (CLI) 是一个跨平台的命令行工具,可连接到 Azure 并对 Azure 资源执行管理命令。 允许使用交互式命令行提示符或脚本通过终端执行命令。
以交互方式使用,在 Windows 上启动 cmd.exe 或在 Linux 或 macOS 上启动 Bash,然后在 shell 提示符处发出命令。 自动执行重复性任务,执行脚本等操作。
可以在 Linux、Mac 或 Windows 计算机上本地安装 Azure CLI。 可以通过 Azure Cloud Shell 在浏览器中使用,或者从 Docker 内部运行。
Azure CLI 示例
订阅语法示例
Azure CLI 语法遵循简单的 reference name – command – parameter – parameter value 模式。 例如,在订阅之间进行切换, 示例:
az account set --subscription "my subscription name"
Azure CLI 管理角色分配,示例:
az role assignment create --assignee servicePrincipalName --role Reader --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
az role assignment delete --assignee userSign-inName --role Contributor
Azure CLI与PowerShell 语法比较 ,示例:
命令 |
Azure CLI |
Azure PowerShell |
创建资源组 |
az group create –name |
New-AzResourceGroup -Name |
创建 Azure 存储帐户 |
az storage account create –name |
New-AzStorageAccount -Name |
Azure Az PowerShell 模块
Az PowerShell 模块是一组 cmdlet,用于直接从 PowerShell 管理 Azure 资源。 PowerShell 提供强大的自动化功能,可利用这些功能管理 Azure 资源,例如 CI/CD 。
Az PowerShell 模块是 AzureRM 的替代方案,推荐用于与 Azure 交互管理。
# 由于 Az PowerShell 模块现在已具有 AzureRM PowerShell 模块的所有功能及更多功能,将于 2024 年 2 月 29 日停用 AzureRM PowerShell 模块。
Az PowerShell 模块具有以下优点:
- 安全与稳定;
- 令牌缓存加密;
- 防止中间人攻击;
- 支持向 ADFS 2019 进行身份验证;
- PowerShell 7 中的用户名和密码身份验证;
- 支持连续访问评估等功能;
- 支持所有 Azure 服务;
- 所有正式发布的 Azure 服务都有相应受支持的 PowerShell 模块;
- Cloud Shell 中以及跨平台的支持;
- 可以获取和使用访问令牌来访问 Azure 资源;
- 可用于对 Azure 资源执行高级 REST 操作的 cmdlet;
迁移参考从 AzureRM 迁移到 AzPowerShell
Azure Active Directory Graph PowerShell
Azure AD Powershell 计划于 2023 年 6 月 30 日弃用。 可以使用 Microsoft Graph PowerShell 与 Azure AD 交互,像 Azure AD PowerShell 一样。 另外,Microsoft Graph PowerShell 允许访问所有 Microsoft Graph API,在 PowerShell 7 上提供。
Azure Active Directory PowerShell for Graph (Azure AD PowerShell) 是 IT 人员用于管理 Azure Active Directory 的模块。 使用 Azure AD PowerShell 模块中的 cmdlet 可以从目录中检索数据、在目录中创建新对象、更新现有对象、删除对象以及配置目录及其功能。
Azure Active Directory (MSOnline)
MSOnline 计划弃用。可以使用 Microsoft Graph PowerShell 与 Azure AD 交互,就像在 MSOnline 中一样。 另外,Microsoft Graph PowerShell 允许访问所有 Microsoft Graph API,并在 PowerShell 7 上可用。
对于 Azure AD 管理任务(例如用户管理、域管理和配置单一登录),可以使用 Azure Active Directory 模块Windows PowerShell cmdlet。
对于 Azure AD 管理任务(例如用户管理、域管理和配置单一登录),可以使用 Azure Active Directory 模块Windows PowerShell cmdlet。PowerShell Gallery | MSOnline 1.1.183.66
连接到 Azure AD
$Msolcred = Get-credential
Connect-MsolService -Credential $MsolCred
第一个命令提示输入凭据,并将凭据存储为 $Msolcred。 下一个命令使用这些凭据作为 $Msolcred 连接到服务。
连接到 Azure Active Directory 的特定环境,可用 AzureEnvironment 参数,如下所示:
Connect-MsolService -AzureEnvironment "AzureGermanyCloud"
此示例将 PowerShell 会话连接到德语 AzureAD 环境。
什么是 Microsoft Graph?
Microsoft Graph 提供对存储在各个 Microsoft 365 服务中的数据的访问权限。 自定义应用程序可以使用 Microsoft Graph API 连接到数据,并在自定义应用程序中使用它来增强组织工作效率。
例如,如果销售人员正在设置与客户的会议,他们能否轻松访问文件以及以前的会议和笔记? 销售人员和客户之间的电子邮件和聊天易于查找吗? 组织内哪些人员可以联系客户以获得支持?
通过使用 Microsoft Graph,可以利用安全的统一 API 连接到位于各种 Microsoft 365 服务中的数据。 获取此数据的访问权限将为用户提供及时做出决策所需的信息,并为公司提供竞争优势。 开发人员可以快速开始 Microsoft Graph 并访问整个组织中的数据,而无需了解各个 Microsoft 365 服务的工作原理。
可通过 Microsoft Graph REST API 和客户端库访问类似以下类型的数据和智能:
- 用户和组
- Teams 数据
- 任务
- 文件
- 邮件
- 会议和日历
- 组织图表
编辑
在应用程序中使用 Microsoft Graph 的优势:
- 获取销售人员与客户之间的交互历史记录
- 查看销售人员发送给客户的消息(Microsoft Teams 聊天或电子邮件)
- 访问有关以前的会议和笔记的信息
- 确定组织中可帮助处理客户问题的关键人员
- 查看与客户相关的文件
如果开发团队的成员未使用 Microsoft Graph,则他们需要了解用于邮件、日历和会议的 Outlook 邮件 API。 若要访问文件,他们需要了解 OneDrive 和 SharePoint API。 最后,他们需要 Active Directory 查询才能访问组织中的人员、组织结构图和个人技能。 这是一些要学习的 API,随着时间推移,当你将应用程序的管理和维护考虑在内时,这会变得更加复杂。
通过使用 Microsoft Graph,开发团队可以使用单个终结点和统一 API 来获取应用程序所需的所有客户交互数据。 此数据检索范围从访问不同销售人员发送的客户消息到查看相关文件。 开发人员可以使用 Microsoft Graph REST API 安全地访问此信息。 客户端库也适用于多种语言。
随着销售人员应用程序的增长,它可以包括来自其他服务的数据:
Microsoft 365 服务:Delve、Excel、Microsoft Bookings、Microsoft Teams、OneDrive、OneNote、Outlook/Exchange、Planner、SharePoint 和工作区分析
企业移动性 + 安全性服务:高级威胁分析、高级威胁防护、Azure Active Directory、标识管理器、Intune
Windows 10 服务:活动、设备和通知
Dynamics 365 Business Central
Microsoft Graph 服务
Microsoft Graph 服务以用户和组为中心。
用户数据是 Microsoft 365 云服务的核心。 假设销售人员计划与客户一起创建日历事件。 销售人员可以通过将用户的受保护标识与销售人员选择的任何设备或平台配合使用来安排会议邀请。 安排会议后,日历事件可跨所有平台和应用程序进行访问,以便根据需要进行操作
下图用户可以通过 Microsoft Graph 访问的信息类型。
编辑
组是用户在 Microsoft 365 中协作和团队合作的基础环境。 可以使用 Microsoft 365 服务与其同事协作、进行对话以及共享文件、日历事件和笔记。
访问该类型的功能是销售应用程序方案的关键,因为随着时间的推移,可能有很多销售人员已与客户取得联系。 有权访问组信息可让整个组织中的销售人员做出更好的决策。
编辑
Microsoft Graph 服务支持与标识、安全性、生产力、协作、工作区智能等相关的场景。 例如,若要访问特定用户的个人资料,应用程序可以使用以下 Microsoft Graph REST API 调用:
GET /users/michellec@M365x214355.OnMicrosoft.com
该 REST API 调用返回可在应用程序中显示的有关 Michelle 的个人资料信息。
{
…
“displayName”: “Michelle Caruana”,
“givenName”: “Michelle”,
“jobTitle”: “Development Manager”,
“mail”: “michellec@M365x214355.OnMicrosoft.com”,
“mobilePhone”: “425-555-0132”,
“officeLocation”: null,
“preferredLanguage”: “en-US”,
“surname”: “Caruana”,
“userPrincipalName”: “michellec@M365x214355.OnMicrosoft.com”,
“id”: “4cdd269d-559f-4360-a12a-92525f712d8c”
}
该应用程序可以使用以下 REST API 调用信息:
GET /users/michellec@M365x214355.OnMicrosoft.com/directReports
除直接调用 Microsoft Graph REST API 之外,还可以使用 Microsoft Graph SDK(软件开发工具包)和客户端库来简化调用 API 的过程。
通过 Microsoft Graph 调用服务:
标识和访问管理
假设一家拥有数百名员工大型销售公司,公司中的每个人都需要访问许多应用、设备和服务。 该公司需要在整个组织中建立安全的标识和访问流。
Microsoft Graph API for Azure Active Directory (Azure AD) 可帮助组织构建安全标识和访问基础。 开发人员可以使用 Microsoft Graph 连接到 Azure AD 标识管理服务并自动执行管理工作流。 通过 Microsoft Graph 自动执行配置文件维护、入职登记/终止或跟踪分配等流程,可为管理员节省时间。
生产力和协作
在销售人员应用程序方案中,销售人员需要解决方案来提高他们全天的工作效率。
开发人员可以通过添加聊天机器人来增强应用体验,该聊天机器人可以安排同事和客户之间的会议、检查日历可用性,以及提醒销售人员当天的待办事项列表。
可以构建一个聊天机器人,该聊天机器人使用 Microsoft Graph Outlook 日历 API 和待办事项 API 作为生产力解决方案。
编辑
与聊天机器人相同的思路可用于协作目的。 销售团队可以将其文件存储在 SharePoint 网站上,并将其任务添加到组中的 Microsoft Planner。 如果团队需要访问任何文件或任务,聊天机器人可以使用 SharePoint 和 Planner 的 Microsoft Graph API 获取所需数据。
Microsoft Graph 协作 API 也可用于自动化。 如,每次雇用新销售人员时,都可以在 Azure AD 中生成新的销售人员个人资料。 然后,可以将新的销售人员添加到 Microsoft Teams 中的相关团队。 可以通过 Microsoft Graph Teams API 自动执行以下方案。
编辑
人员和工作区智能
Microsoft Graph 人员和工作区智能服务可帮助你在 Microsoft 365 中访问有关用户和组的许多见解。 例如,销售人员在普通工作日通过不同渠道参与会议、阅读电子邮件以及通过不同渠道与同事和客户协作。 协作期间可以共享数百个文档,销售人员需要快速找到这些文件才能做出有效的决策。
使用 Microsoft Graph API 获取见解,可以获取整个组织中的热门、共享和常用文件。 API 可提高工作效率,使用户更轻松地访问相关内容。
编
【The End】