我正在使用Azure CLI 2.0并尝试查找与以下Powershell命令等效的命令:
DATE IDKEY EVENT
10/17/2016 300328 'EVENT1 | EVENT3 | EVENT4'
10/17/2016 300440 'EVENT1 | EVENT2 | EVENT5'
我正在使用此命令将Azure AD应用程序主体添加到“用户帐户管理员”角色。
我使用此链接安装MSOL Powershell libraries,其中包含“Add-MsolRoleMember”命令。
因为我需要在Mac,Linux等上运行的命令,所以我尝试使用最新版本的“Azure CLI”,尽管我对其他代码示例(例如Python)持开放态度。
以下是我到目前为止尝试过的cli命令:
Add-MsolRoleMember -RoleObjectID $roleID -RoleMemberType ServicePrincipal -RoleMemberObjectId $appObjectId
所以我的问题是:如何使用CLI或在Mac,Linux等上运行的其他库向app主体添加角色?
答案 0 :(得分:0)
不幸的是,据我所知,Linux上有没有库,我们可以将成员添加到Azure组织角色。
目前,我们可以使用Azure CLI 2.0管理Azure AD 用户,应用,组和服务主体< / strong>,但我们无法使用CLI 2.0将成员添加到azure组织角色。
az role assignment create --assignee <my app id> --role <role id>
此命令az role assignment
用于管理资源组角色。例如,我们要授予用户所有者权限。我们可以在此屏幕截图中通过Azure门户找到此角色:
关于组织角色,我们可以在此官方article中找到它们,例如结算管理员,合规管理员。与资源组权限不同。
您可以向link提供反馈,您在此链接中分享的所有反馈都将由Microsoft工程团队进行监控和审核。
答案 1 :(得分:0)
有关如何执行此操作的好文章,可以在这里找到:https://blogs.msdn.microsoft.com/aaddevsup/2018/08/29/how-to-add-an-azure-ad-role-to-a-enterprise-application-service-principal/
代码如下:
# Fetch User Account Administrator role instance
$role = Get-AzureADDirectoryRole | Where-Object {$_.displayName -eq 'User Account Administrator'}
# If role instance does not exist, instantiate it based on the role template
if ($role -eq $null) {
# Instantiate an instance of the role template
$roleTemplate = Get-AzureADDirectoryRoleTemplate | Where-Object {$_.displayName -eq 'User Account Administrator'}
Enable-AzureADDirectoryRole -RoleTemplateId $roleTemplate.ObjectId
# Fetch User Account Administrator role instance again
$role = Get-AzureADDirectoryRole | Where-Object {$_.displayName -eq 'User Account Administrator'}
}
#Now that we have the object IDs for the AAD role, we will need to get both object IDs to add the role to the enterprise application. We can use the command below :
Add-AzureADDirectoryRoleMember -ObjectId $role.ObjectId -RefObjectId $BeckeChB2Cs0v1GraphApiAdSPN.ObjectId
答案 2 :(得分:0)
我相信可以使用function computeMaxCallStackSizeC() {
try {
let a1 = '11111111111111111111111111111111111111111111111111111';
let a2 = '22222222222222222222222222222222222222222222222222222';
let a3 = '33333333333333333333333333333333333333333333333333333';
let a4 = '44444444444444444444444444444444444444444444444444444';
let a5 = '55555555555555555555555555555555555555555555555555555';
let a6 = '66666666666666666666666666666666666666666666666666666';
return 1 + computeMaxCallStackSizeC();
} catch (e) {
return 1;
}
}
for (let i = 0; i < 5; i++)
console.log(computeMaxCallStackSizeC());
模块中的Update-MgRoleManagementDirectoyRoleAssignment
命令在Powershell 7(跨平台)上运行。
从Powershell 7:
Microsoft.Graph
然后:
Install-Module Microsoft.Graph
Microsoft.Graph.Identity模块的文档似乎稀疏/不存在,但是您可以在此处查看Microsoft Graph API说明以获取指导:https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/roles-assign-graph