Невозможно установить разрешения для контейнера с маркером SAS - PullRequest
0 голосов
/ 07 ноября 2018

Я не могу установить разрешения для контейнера хранения, когда использую токены SAS. Он отлично работает с ключами учетной записи хранения. Мне не хватает некоторых разрешений в определении SAS?

PS C:\WINDOWS\system32> Get-AzureKeyVaultManagedStorageSasDefinition -VaultName <vaultname> -Name writesas -AccountName <accountname> | fl *

Parameter      : {validityPeriod, signedPermissions, signedServices, signedResourceTypes...}
ParameterTable : Name                 Value
             validityPeriod       PT30M
             signedPermissions    rwdlacup
             signedServices       bqft
             signedResourceTypes  sco
             signedVersion        2016-05-31
             sasType              account


PS C:\WINDOWS\system32> $SasToken = (Get-AzureKeyVaultSecret -VaultName <vaultName> -SecretName <secretName>).SecretValueText
PS C:\WINDOWS\system32> $context = New-AzureStorageContext -StorageAccountName <storageAccountName> -SasToken $SasToken -Protocol Https

PS C:\WINDOWS\system32> Get-AzureStorageContainer -Context $context -Container  <containerName> | Set-AzureStorageContainerAcl -Permission Blob -PassThru
Set-AzureStorageContainerAcl : The remote server returned an error: (403) Forbidden. HTTP Status Code: 403 - HTTP Error Message: This request is not authorized to perform this operation.
At line:1 char:66
+ ... ner content | Set-AzureStorageContainerAcl -Permission Blob -PassThru
+                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Set-AzureStorageContainerAcl], StorageException
    + FullyQualifiedErrorId : StorageException,Microsoft.WindowsAzure.Commands.Storage.Cmdlet.SetAzureStorageContainer
   AclCommand

Через ключи учетной записи хранения

PS C:\WINDOWS\system32> $SAK = "storage account key"
PS C:\WINDOWS\system32> $context = New-AzureStorageContext -StorageAccountName <accountName>  -Protocol Https -StorageAccountKey $SAK

PS C:\WINDOWS\system32> Get-AzureStorageContainer -Context $context -Container <containerName> | Set-AzureStorageContainerAcl -Permission Blob -PassThru




 Blob End Point: https://<accountname>.blob.core.windows.net/


Name                 PublicAccess         LastModified
----                 ------------         ------------
<name>              Blob                 11/6/2018 12:45:48 AM +00:00

1 Ответ

0 голосов
/ 07 ноября 2018

Работало ли это когда-нибудь? Это означало, что вы могли устанавливать разрешения для контейнера с помощью тех же команд ранее. Если ответа нет, я предоставлю вам инструкции, как это сделать через CLI. Если да, попробуйте обновить версию powershell

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