Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Служба хранилища Azure предоставляет расширения для PowerShell, которые позволяют вам входить в систему и выполнять команды сценариев с использованием учетных данных Microsoft Entra. При входе в PowerShell с помощью учетных данных Microsoft Entra возвращается маркер доступа OAuth 2.0. Этот токен автоматически используется PowerShell для авторизации последующих операций с данными в хранилище Blob. Для поддерживаемых операций больше не требуется передавать ключ учетной записи или маркер SAS с помощью команды.
Вы можете назначить права доступа к данным блобов субъекту безопасности Microsoft Entra с помощью управления доступом на основе ролей Azure (Azure RBAC). Дополнительные сведения о ролях Azure в службе хранилища Azure см. в статье "Назначение роли Azure для доступа к данным BLOB-объектов".
Поддерживаемые операции
Расширения службы хранилища Azure поддерживаются для операций с объектами BLOB. Какие операции можно вызывать, зависит от разрешений, предоставленных субъекту безопасности Microsoft Entra, под учётной записью которого вы входите в PowerShell. Разрешения для контейнеров службы хранилища Azure назначаются с помощью Azure RBAC. Например, если вам назначена роль чтения данных BLOB-объектов, вы можете выполнять сценарии, которые считывают данные из контейнера. Если вам назначена роль участника данных BLOB-объектов, вы можете выполнять команды сценариев, которые считывают, записывают или удаляют контейнеры или данные, содержащиеся в них.
Дополнительные сведения о разрешениях, необходимых для каждой операции службы хранилища Azure в контейнере, см. в разделе "Вызов операций хранилища с маркерами OAuth".
Это важно
Если учетная запись хранения заблокирована с использованием блокировки Azure Resource Manager ReadOnly, операция Список ключей не разрешена для этой учетной записи хранения.
Список ключей — операция POST, и все операции POST блокируются, если для учетной записи настроена блокировка ReadOnly. По этой причине, когда учетная запись заблокирована с помощью блокировки ReadOnly, пользователи, которые еще не обладают ключами учетной записи, должны использовать учетные данные Microsoft Entra для доступа к данным BLOB. В PowerShell включите -UseConnectedAccount параметр для создания объекта AzureStorageContext с учетными данными Microsoft Entra.
Вызов команд PowerShell с помощью учетных данных Microsoft Entra
Чтобы войти и выполнить последующие операции с помощью Azure PowerShell по отношению к Azure Storage, используя учетные данные Microsoft Entra, создайте контекст хранилища для ссылки на учетную запись хранения и включите этот параметр -UseConnectedAccount.
В следующем примере показано, как создать контейнер в новой учетной записи хранения из Azure PowerShell с помощью учетных данных Microsoft Entra. Не забудьте заменить значения заполнителей в угловых скобках собственными значениями.
Войдите в учетную запись Azure с помощью команды Connect-AzAccount :
Connect-AzAccountДополнительные сведения о входе в Azure с помощью PowerShell см. в статье "Вход с помощью Azure PowerShell".
Создайте группу ресурсов Azure, вызвав New-AzResourceGroup.
$resourceGroup = "sample-resource-group-ps" $location = "eastus" New-AzResourceGroup -Name $resourceGroup -Location $locationСоздайте учетную запись хранения, вызвав New-AzStorageAccount.
$storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup ` -Name "<storage-account>" ` -SkuName Standard_LRS ` -Location $location ` -AllowBlobPublicAccess $falseПолучите контекст учетной записи хранения, указывающий новую учетную запись хранения, вызвав New-AzStorageContext. При выполнении действия с учетной записью хранения, вместо многократной передачи аутентификационных данных, можно ссылаться на контекст.
-UseConnectedAccountВключите параметр для вызова любых последующих операций с данными с помощью учетных данных Microsoft Entra:$ctx = New-AzStorageContext -StorageAccountName "<storage-account>" -UseConnectedAccountПеред созданием контейнера назначьте себе роль участника данных BLOB-объектов хранилища. Несмотря на то, что вы являетесь владельцем учетной записи, вам требуются явные разрешения для выполнения операций с данными в учетной записи хранения. Дополнительные сведения о назначении ролей Azure см. в статье "Назначение роли Azure для доступа к данным BLOB-объектов".
Это важно
Для распространения назначений ролей Azure может потребоваться несколько минут.
Создайте контейнер, вызвав New-AzStorageContainer. Так как этот вызов использует контекст, созданный на предыдущих шагах, контейнер создается с помощью учетных данных Microsoft Entra.
$containerName = "sample-container" New-AzStorageContainer -Name $containerName -Context $ctx