Учетная запись хранения Azure отклоняет отправителя удостоверения управляемой службы - PullRequest
0 голосов
/ 11 декабря 2018

Я использую библиотеку Microsoft.Azure.Services.AppAuthentication (v1.0.3) для .NET для подключения из приложения-функции Azure к хранилищу больших двоичных объектов с использованием идентификатора управляемой службы.Код авторизации:

var tokenProvider = new AzureServiceTokenProvider();
string accessToken = await tokenProvider.GetAccessTokenAsync("https://storage.azure.com/");
var tokenCredential = new TokenCredential(accessToken);
var credentials = new StorageCredentials(tokenCredential);
var storageUri = new Uri($"https://{accountName}.blob.core.windows.net");
var client = new CloudBlobClient(storageUri, credentials);

Одна существующая учетная запись хранения отказывается принимать MSI независимо от заданных ролей RBAC:

Microsoft.WindowsAzure.Storage.StorageException: Server failed to authenticate the request.
Make sure the value of Authorization header is formed correctly including the signature.
   at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteAsyncInternal[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token)
   at Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer.CreateIfNotExistsAsync(BlobContainerPublicAccessType accessType, BlobRequestOptions options, OperationContext operationContext, CancellationToken cancellationToken)

Дополнительные сведения об исключении storageException.RequestInformation.ExtendedErrorInformation.AdditionalDetails жалуются, что AuthenticationErrorDetail: Issuer validation failed. Issuer did not match.

При декодировании сбойного токена jwt издатель выглядит нормально:

{
  "aud": "https://storage.azure.com/",
  "iss": "https://sts.windows.net/<my directory guid>/",
  ...
}

Когда я создавал новые идентично настроенные учетные записи хранения, работал тот же MSI приложения и код аутентификации приложения, и даже издатель в токенебыли точно такими же.Таким образом, приложение клиентской функции и его идентификатор MSI здесь не являются виновником.

Почему эта одна учетная запись хранения не может авторизоваться и как заставить ее принять MSI?

ОБНОВЛЕНИЕ: Крест отправил на форум MS , чтобы привлечь внимание MS при проверке, является ли это лазурной ошибкой.

1 Ответ

0 голосов
/ 11 декабря 2018

Я проверяю ваш код авторизации, а и существующая, и новая созданная учетная запись хранения принимают MSI .Поэтому я согласен с тем, что сказал juunas, это может быть ошибка в хранилище Azure.

Вы можете перейти на здесь , чтобы оставить отзыв, чтобы разработчики могли его исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...