最近,AAD添加了将服务主体放入安全组(ref)的功能。给定服务主体对象ID,如何使用Microsoft.Graph library查询其安全组成员身份?我尝试了以下方法:
tpm2_load -H 0x81010001 -u obj.pub -r obj.priv -n load.name -C load.context
tpm2_unseal -c load.context -L sha1:7
但出现错误:
Microsoft.Graph.ServiceException:代码:Request_ResourceNotFound 消息:资源'$ servicePrincipalId'不存在,或者其查询的参考属性对象之一不存在。
我尝试改用DirectoryObject:
error layer
hex: 0x0
identifier: TSS2_TPM_ERROR_LEVEL
description: Error produced by the TPM
format 1 error code
hex: 0x1d
identifier: TPM_RC_POLICY_FAIL
description: a policy check failed
但出现错误:
Microsoft.Graph.ServiceException:CodeMessage:资源标识符指定的不受支持的目录对象类'ServicePrincipal'。
如何获取有关服务主体的信息?还不支持,我必须使用REST API或其他东西吗?我正在使用1.17.0 Microsoft.Graph NuGet软件包。
答案 0 :(得分:3)
目前,您必须使用Microsoft.Graph.Beta library,它增加了对服务主体的支持:
var groups = client.ServicePrincipals[servicePrincipalId].GetMemberGroups(true).Request().PostAsync().Result;
您也可以使用CheckMemberGroups(new string[] { groupId })
方法。