使用 Azure Java SDK 获取 Authorization_RequestDenied 异常
Getting Authorization_RequestDenied Exception with Azure Java SDK
我编写了一个小片段来使用 Azure Java SDK 获取所有服务主体。得到这个异常。我需要为这个 sdk 调用提供什么权限?
"code":"Authorization_RequestDenied","message":{"lang":"en","value":"权限不足,无法完成操作。"}
ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(
"<CLIENT_ID>", "<TENANT_ID>",
"<CLIENT_SECRET>", AzureEnvironment.AZURE);
Authenticated authenticated = Azure.configure().withLogLevel(LogLevel.NONE)
.authenticate(credentials);
PagedList<ServicePrincipal> servicePrincipals = authenticated.servicePrincipals().list();
servicePrincipals.stream().forEach(principal -> System.out.println(principal.id()));
我找到问题所在了。
每当您尝试使用 id 获取服务主体时,它会在内部获取所有服务主体和 returns 具有该 id 的特定服务主体。
我尝试使用 getByName 进行获取,但效果很好。
authenticated.servicePrincipals().getByName("<MYAPP_NAME/MYAPP_ID>");
我编写了一个小片段来使用 Azure Java SDK 获取所有服务主体。得到这个异常。我需要为这个 sdk 调用提供什么权限?
"code":"Authorization_RequestDenied","message":{"lang":"en","value":"权限不足,无法完成操作。"}
ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(
"<CLIENT_ID>", "<TENANT_ID>",
"<CLIENT_SECRET>", AzureEnvironment.AZURE);
Authenticated authenticated = Azure.configure().withLogLevel(LogLevel.NONE)
.authenticate(credentials);
PagedList<ServicePrincipal> servicePrincipals = authenticated.servicePrincipals().list();
servicePrincipals.stream().forEach(principal -> System.out.println(principal.id()));
我找到问题所在了。
每当您尝试使用 id 获取服务主体时,它会在内部获取所有服务主体和 returns 具有该 id 的特定服务主体。
我尝试使用 getByName 进行获取,但效果很好。
authenticated.servicePrincipals().getByName("<MYAPP_NAME/MYAPP_ID>");