【发布时间】:2019-09-20 15:07:23
【问题描述】:
我在 azure-powershell 中创建了 I 脚本,脚本包含 c cmd-let --> get-azureRMroleAssignment,这是主要问题,前段时间我遇到了类似的问题。我使用了 RunAsAccount,并提到 RunAsAccount 在 Azure AD 上没有读取权限,并且在使用 Get-AzureRmRoleAssignment 时此权限是必需的,因为它是必需的,因此您可以将存储在角色分配上的 ObjectID 转换为其相应的电子邮件/用户主体名称。我在 AzureAD 中授予了所需的权限,并且 id 解决了这个问题,那是我使用自动化帐户和 Runbook 的时候。现在我正在使用 Azure devops 管道,我正在连接到 AzureAD,请看下面的代码。我面临着类似的问题 --> ##[error]Exception of type 'Microsoft.Rest.Azure.CloudException' was thrown. 在 Azure AD 中,我添加了 Read.DuirectoryData 权限的应用程序注册,然后尝试在 Azure AD 中同意它 --> 企业应用程序 --> 权限,然后我单击“授予管理员同意...”按钮,并获得了具有我权限的窗口,我确认并获得了下一个窗口,再次确认应用程序权限并且窗口冻结。我尝试再次运行管道,但没有任何改变,得到相同的错误消息。
# Set urls for taking with MS graph
$AdTokenUrl = "https://login.microsoftonline.com/$TenantId/oauth2/token"
$Resource = "https://graph.windows.net/"
Write-Debug "AD url is: $AdTokenUrl"
# Set the body of the REST API call
$Body = @{
grant_type = "client_credentials"
client_id = $ClientId
client_secret = $ClientSecret
resource = $Resource
}
# Execute REST API call and capture token
$Response = Invoke-RestMethod -Method "Post" -Uri $AdTokenUrl -ContentType "application/x-www-form-urlencoded" -Body $Body
$Token = $Response.access_token
# Connect to AzureAD using -AadAccessToken parameter retrieved from graph API
Connect-AzureAD -AadAccessToken $Token -AccountId $ClientId -TenantId $TenantId
【问题讨论】:
-
嗨,最近怎么样?以下答案是否可以帮助您解决问题?如果您仍然遇到一些问题,请发表评论,以便我们仍然可以为您提供帮助。
标签: azure azure-devops azure-active-directory azure-powershell