powershell - 当我尝试使用多个 allowedMemberTypes 创建应用角色时,它会引发错误
问题描述
我正在尝试创建一个应用角色,其中我将拥有两个 allowedMemberTypes:Application和Users。但它会引发错误:为资源“AppRole”的属性“allowedMemberTypes”指定的值无效。
以下是 cmdlet:
$contributorRole = new-object Microsoft.Open.AzureAD.Model.AppRole -Property @{
IsEnabled = $true;
Description = "Read/write access";
DisplayName = "Contributor";
AllowedMemberTypes = @("User", "Application");
Id = [guid]::NewGuid().ToString();
Value = "bcc.contributor";
};
$myApp = New-AzureADApplication -Oauth2AllowImplicitFlow $true -Oauth2RequirePostResponse $true -DisplayName $displayName -AppRoles $contributorRole
这是 cmdlet 的结果
如果您从$contributorRole中删除应用程序,它将起作用。
解决方案
我尝试使用您的代码测试几个场景,并且能够执行您尝试执行的操作。
方案 1:创建具有 App 角色的新 Azure AD 应用程序
Connect-AzureAD
$displayname = "Test1"
$contributorRole = new-object Microsoft.Open.AzureAD.Model.AppRole -Property @{
IsEnabled = $true;
Description = "Read/write access";
DisplayName = "Contributor";
AllowedMemberTypes = @("User", "Application");
Id = [guid]::NewGuid().ToString();
Value = "bcc.contributor";
};
$myApp = New-AzureADApplication -Oauth2AllowImplicitFlow $true -Oauth2RequirePostResponse $true -DisplayName $displayName -AppRoles
方案 2:在现有 Azure AD 应用程序上创建应用角色(通过 Portal 创建的 AD 应用程序)
Connect-AzureAD
$contributorRole = new-object Microsoft.Open.AzureAD.Model.AppRole -Property @{
IsEnabled = $true;
Description = "Read/write access";
DisplayName = "Contributor";
AllowedMemberTypes = @("User", "Application");
Id = [guid]::NewGuid().ToString();
Value = "bcc.contributor";
};
$myApp = Get-AzureADApplication -Filter "DisplayName eq 'Test2'"
$change = Set-AzureADApplication -ObjectID $myApp.ObjectId -AppRoles $contributorRole
注意:使用订阅级别帐户失败会建议您使用 azure AD 的管理员帐户登录,即 admin@domainname.onmicrosoft.com
推荐阅读
- replace - 用记事本++替换动态字符串
- windows - Kubernetes windows hyper-v pod中没有网络
- postgresql - 使用 Postgres 多个模式有多安全?
- java - JAVA - 使用字符串创建 HashMap
- css - 逐字打断,如果没有空格就打断
- spring-boot - Master Slave configuration for Spring Boot Microservices
- sqlite - Is it possible to use RoomDatabase to convert a cursor into an object?
- javascript - Access github html file using JavaScript
- coldfusion - 如何将查询中的 DateTime 转换为字符串以便在 Google 可视化图表中使用它?
- firebase - How to filter users by email from my test database with firebase registered users?