Sto lavorando a uno script PowerShell che creerà un gruppo di risorse, registrare l'applicazione inclusa (in questo esempio, un API Web) all'AAD associato. Tuttavia, quando si chiama cercando di assegnare i diritti Reader
, continua a non riuscire.AzureAD PowerShell New-AzureRmRoleAssignment continua a non riuscire
Ho iniziato dal file di distribuzione di base * .ps1 fornito con il modello AzureResourceGroup in Visual Studio (2015).
sto correndo il seguente codice:
#Requires -Version 3.0
#Requires -Module AzureRM.Resources
#Requires -Module Azure.Storage
Import-Module Azure -ErrorAction SilentlyContinue
Set-StrictMode -Version 3
Login-AzureRmAccount
$tenantWebSite = New-AzureRmADApplication -DisplayName "TheSiteName" -HomePage "http://MySignOnUrl" -IdentifierUris "http://MyIdentifierUrl" -Password "MyClientSecret"
$tenantWebSiteServicePrincipal = New-AzureRmADServicePrincipal -ApplicationId $tenantWebSite.ApplicationId
New-AzureRmRoleAssignment -RoleDefinitionName Reader -ServicePrincipalName $tenantWebSite.ApplicationId
Questo ultimo comando (New-AzureRmRoleAssignment
) continua a non aver con il seguente errore:
09:58:26 - [ERROR] New-AzureRmRoleAssignment : PrincipalNotFound: Principal
09:58:26 - [ERROR] 50f3d430c68b485b8c11a63552171550 does not exist in the directory
09:58:26 - [ERROR] <MyTenantId>.
09:58:26 - [ERROR] At D:\dev_new_2010\cto\src\dev\d.tom.0\deploy\calidos.maat.deploy.azureresource
09:58:26 - [ERROR] group\Scripts\Deploy-AzureResourceGroup.ps1:115 char:1
09:58:26 - [ERROR] + New-AzureRmRoleAssignment -RoleDefinitionName Reader -ServicePrincipa ...
09:58:26 - [ERROR] + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
09:58:26 - [ERROR] + CategoryInfo : CloseError: (:) [New-AzureRmRoleAssignment], Clo
09:58:26 - [ERROR] udException
09:58:26 - [ERROR] + FullyQualifiedErrorId : Microsoft.Azure.Commands.Resources.NewAzureRoleA
09:58:26 - [ERROR] ssignmentCommand
Normalmente, eseguire questo script utilizzando l'implementazione opzione in studio visivo. Quando eseguo questo script da una finestra di comando Microsoft Azure PowerShell
, ottengo lo stesso errore.
MA, quando eseguo il comando esatto nella stessa finestra di PowerShell, funziona!
New-AzureRmRoleAssignment -RoleDefinitionName Reader -ServicePrincipalName <ApplicationId>
Qualcuno ha un'idea sul motivo per cui ciò non riuscirebbe all'interno del file ps1? Ho anche provato a definire esplicitamente l'ambito, ma non ha funzionato.
Ho scoperto che avevo bisogno di aggiungere la logica di riprova. A volte ci sono voluti 30 secondi per completare la creazione, così da poter aggiungere un ruolo –