[英]Connect to KeyVault in Azure China
我将此代码用于 Azure KeyVault 服务,它适用于常规 Azure
ClientSecretCredential clientCredential = new(options.KeyVaultTenantId, options.KeyVaultClientId, options.KeyVaultClientSecret);
KeyVaultCertificateWithPolicy rootCertificate = new CertificateClient(vaultUri, _clientCredential).GetCertificate(_rootCertificateId).Value;
但是我需要连接到 Azure 中国。 代码失败并显示消息:
AADSTS90002:找不到租户“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”。 检查以确保您拥有正确的租户 ID 并登录到正确的云。 请咨询您的订阅管理员,如果租户没有活动订阅,则可能会发生这种情况
我找到了这个,但我不知道在我的代码中在哪里设置ActiveDirectoryServiceSettings.AzureChina
。 请建议
<PackageReference Include="Azure.Identity" Version="1.5.0" />
<PackageReference Include="Azure.Security.KeyVault.Certificates" Version="4.2.0" />
<PackageReference Include="Azure.Security.KeyVault.Keys" Version="4.2.0" />
<PackageReference Include="Azure.Security.KeyVault.Secrets" Version="4.2.0" />
您需要使用ClientSecretCredential(String, String, String, ClientSecretCredentialOptions)
构造函数覆盖并在ClientSecretCredentialOptions
中将AuthorityHost
设置为 Azure 中国。
就像是:
var clientSecretCredentialOptions = new ClientSecretCredentialOptions()
{
AuthorityHost = AzureAuthorityHosts.AzureChina
};
ClientSecretCredential clientCredential = new(options.KeyVaultTenantId, options.KeyVaultClientId, options.KeyVaultClientSecret, clientSecretCredentialOptions);
KeyVaultCertificateWithPolicy rootCertificate = new CertificateClient(vaultUri, _clientCredential).GetCertificate(_rootCertificateId).Value;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.