[英]How do I use Service Principal authentication with an Azure Machine Learning Pipeline Endpoint in C#?
[英]How do I get the ObjectID associated with the authenticated Azure service principal?
我在 Azure AD 中创建了一个企业应用程序。 我用它来验证和创建资源:
AzureCredentials creds = SdkContext.AzureCredentialsFactory.FromServicePrincipal(
ClientId, ClientSecret, TenantId, AzureEnvironment.AzureGlobalCloud);
IAzure az = Azure.Authenticate(creds);
我不知道如何获取与我用来进行身份验证的企业应用程序关联的 ObjectId。 有办法吗?
您可以使用Microsoft Graph SDK来执行此操作,请参阅下面的示例,它调用 Microsoft Graph API - List servicePrincipals
,使用appId
即ClientId
过滤。
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var servicePrincipals = await graphClient.ServicePrincipals
.Request().Filter("appId eq '<ClientId here>'")
.GetAsync();
使用代码时,选择您想要的authProvider ,并确保您有足够的权限调用API,它在我这边工作正常, Id
是服务主体即企业应用程序的ObjectId
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.