Что касается проблемы, это связано с тем, что все SDK по умолчанию используют https://login.microsoftonline.com
в качестве Azure хоста центра сертификации Active Directory. Каждое из других облаков имеет разные конечные точки хоста с полномочиями. Таким образом, нам нужно изменить авторитетный хост, когда мы создаем DefaultAzureCredential
.
Например. Я использую sdk Azure Identity Version 1.1.0-beta.4
- Install SDK
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.1.0-beta.4</version>
</dependency>
</dependencies>
Код
/**
* the class `KnownAuthorityHosts` has the all cloud Azure Active Directory authority enpoint :
* https://docs.microsoft.com/en-us/java/api/com.azure.identity.knownauthorityhosts?view=azure-java-preview
*/
DefaultAzureCredential cred = new DefaultAzureCredentialBuilder().
authorityHost(KnownAuthorityHosts.AZURE_US_GOVERNMENT)
.build();
SecretClient client = new SecretClientBuilder()
.vaultUrl(<your-vault-url>)
.credential(cred )
.buildClient();
Подробнее см. статью