从 Azure Active Directory Graph 迁移到 Microsoft Graph
Posted
技术标签:
【中文标题】从 Azure Active Directory Graph 迁移到 Microsoft Graph【英文标题】:Migration from Azure Active Directory Graph to Microsoft Graph 【发布时间】:2022-01-09 16:14:54 【问题描述】:我有一个用于监视服务主体到期日期的 powershell 脚本。该脚本正在由 Azure 自动化执行(Runbook + 以帐户身份运行)。“以帐户身份运行”需要 Application.Read.Azure Active Directory Graph 中的所有权限如下图所示:
问题是 Microsoft 停用了 AAD Graph,它不再作为选项可用,如下所示:
这对我来说意味着我不能再运行脚本,尤其是因为缺少权限我不能运行这些 cmdlet
get-azad应用程序 获取 azadcredentials我得到错误:
30 | get-azadserviceprincipal
| ~~~~~~~~~~~~~~~~~~~~~~~~
| Insufficient privileges to complete the operation
我在 Microsoft Graph 中授予了相同的权限(见下文),但似乎不起作用:
据微软在 12 月开始迁移 https://docs.microsoft.com/en-us/powershell/azure/azps-msgraph-migration-changes?view=azps-6.6.0
这是否意味着在使用 Graph API 中的给定权限迁移后,使用的 cmdlet 将像以前一样工作?你们(powershell 脚本编写者)是否因从 AAD Graph 迁移到 Microsoft Graph 有类似的问题?
【问题讨论】:
不幸的是,即使使用 directory.readwrite.all 也没有成功 我可以知道在帐户运行中必须有 2 种类型 1 作为帐户运行,其他将是经典的。你用的是哪一个? Azure Run As Account,也不是经典的 让我在我的环境中测试一下,然后回到这里 【参考方案1】:我在我的环境中测试了相同的错误,即使添加了所需的 API 权限,错误也类似于下面的错误:
至于解决方案,根据要求,您还必须在 PIM 中为 AzureAD 分配 Roles And Administrators
。
第 1 步:您可以转到 Azure Active Directory 概述页面 >> 角色和管理员 刀片并单击 Global Reader,它将提供对 Azure Active Directory 中所有内容的读取访问权限。
第 2 步: 在 Global Reader 页面 >> 活动分配 Blade >> 点击添加作业。
第 3 步: 在添加分配页面 >> 选择成员 >> 搜索自动化帐户运行为帐户名 >> 选择 >> 下一步 >> 添加说明 >> 分配
步骤 4: 成功完成上述操作后,您可以在自动化运行手册中运行以下内容并获得所需的输出。
$Conn = Get-AutomationConnection -Name AzureRunAsConnection
$account = Connect-AzAccount -ServicePrincipal `
-TenantId $Conn.TenantID `
-ApplicationId $Conn.ApplicationID `
-CertificateThumbprint $Conn.CertificateThumbprint
Get-AzADApplication
【讨论】:
这似乎是解决方案,运行帐户也需要一个 Azure AD 角色。但是这样我就可以访问整个租户(读者权限),所以我可以阅读所有 AZSubsriptions 和这违反了 IT 合规性。他们创建了一个子组,其中包含我(作为 DEVOPS 团队)应该访问和检查的订阅。有什么方法可以仅将“全局读者”权限分配给该子组而不是所有租户?跨度> @olti ,全局阅读器不适用于订阅,它对 azure 广告的读取权限,即使他们将您限制为少数订阅,但所有订阅的租户都是相同的。但仍然让我检查它是否可以仅限于组。以上是关于从 Azure Active Directory Graph 迁移到 Microsoft Graph的主要内容,如果未能解决你的问题,请参考以下文章
从 Azure Active Directory 验证 JWT
从 Powershell 获取 Azure Active Directory 访问令牌
从 Azure Active Directory Graph 迁移到 Microsoft Graph
从 Azure Active Directory 获取个人资料图片
您如何从 Azure Active Directory 中获取搭建的 Weather Forecast Api 将接受的访问令牌?