У нас есть два лазурных ресурса в одном каталоге. Набор API-интерфейсов webAPI для управления API Azure и функции Azure. Мы хотим, чтобы функция azure могла вызывать API. Мы включили MSI для функции azure, как описано в Как использовать управляемые удостоверения для службы приложений и функций Azure. Мы создали регистрацию приложения в AAD для API, создали разрешение роли для доступа. После Вызов ваших API с помощью идентификатора управляемой службы Azure AD используя разрешения приложения, мы сталкиваемся с ошибками при попытке назначить разрешение / роль для функции azure: в PowerShell:
New-AzureADServiceAppRoleAssignment -ObjectId 8XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX -Id 3XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX -PrincipalId 8XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX -ResourceId 9XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
New-AzureADServiceAppRoleAssignment : Error occurred while executing NewServicePrincipalAppRoleAssignment
Code: Authorization_RequestDenied
Message: Insufficient privileges to complete the operation.
HttpStatusCode: Forbidden
HttpStatusDescription: Forbidden
HttpResponseStatus: Completed
At line:1 char:1
+ New-AzureADServiceAppRoleAssignment -ObjectId 8XXXXXX-XXXX-XXXX-XXXX ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-AzureADServiceAppRoleAssignment], ApiException
+ FullyQualifiedErrorId : Microsoft.Open.AzureAD16.Client.ApiException,Microsoft.Open.AzureAD16.PowerShell.NewServ
icePrincipalAppRoleAssignment
выдает нам ошибку разрешения, даже когда администратор AAD (я думаю, член AAD DC Administrators) запускает его. Кто-нибудь сталкивался с этим раньше? Почему это вызывает ошибку разрешений? Мы проверили правильность идентификаторов у 3 разных людей.