Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Служба хранилища 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