Blob verilerine erişmek için Microsoft Entra kimlik bilgileriyle PowerShell komutlarını çalıştırma

Azure Depolama, Microsoft Entra kimlik bilgileriyle oturum açmanızı ve betik komutlarını çalıştırmanızı sağlayan PowerShell uzantıları sağlar. Microsoft Entra kimlik bilgileriyle PowerShell'de oturum açtığınızda bir OAuth 2.0 erişim belirteci döndürülür. Bu belirteç, Sonraki veri işlemlerini Blob depolamaya karşı yetkilendirmek için PowerShell tarafından otomatik olarak kullanılır. Desteklenen işlemler için artık komutuyla bir hesap anahtarı veya SAS belirteci geçirmeniz gerekmez.

Azure rol tabanlı erişim denetimi (Azure RBAC) aracılığıyla blob verilerine microsoft Entra güvenlik sorumlusuna izin atayabilirsiniz. Azure Depolama'daki Azure rolleri hakkında daha fazla bilgi için bkz. Blob verilerine erişim için Azure rolü atama.

Desteklenen işlemler

Azure Depolama uzantıları blob verileri üzerindeki işlemler için desteklenir. Hangi işlemleri çağırabileceğiniz, PowerShell'de oturum açtığınızda Microsoft Entra güvenlik sorumlusuna verilen izinlere bağlıdır. Azure Depolama kapsayıcılarına yönelik izinler Azure RBAC aracılığıyla atanır. Örneğin, Size Blob Veri Okuyucusu rolü atanmışsa, kapsayıcıdan veri okuyan betik komutlarını çalıştırabilirsiniz. Size Blob Veri Katkıda Bulunanı rolü atanmışsa, kapsayıcıyı veya içerdikleri verileri okuyan, yazan veya silen betik komutlarını çalıştırabilirsiniz.

Kapsayıcıdaki her Azure Depolama işlemi için gereken izinler hakkında ayrıntılı bilgi için bkz. OAuth belirteçleriyle depolama işlemlerini çağırma.

Önemli

Bir depolama hesabı Bir Azure Resource Manager ReadOnly kilidiyle kilitlendiğinde, söz konusu depolama hesabı için Liste Anahtarları işlemine izin verilmez. Liste Anahtarları bir POST işlemidir ve hesap için ReadOnly kilidi yapılandırıldığında tüm POST işlemleri engellenir. Bu nedenle, hesap ReadOnly kilidiyle kilitlendiğinde, hesap anahtarlarına sahip olmayan kullanıcıların blob verilerine erişmek için Microsoft Entra kimlik bilgilerini kullanması gerekir. PowerShell'de, Microsoft Entra kimlik bilgilerinizle bir Azure Depolama Context nesnesi oluşturmak için parametresini ekleyin-UseConnectedAccount.

Microsoft Entra kimlik bilgilerini kullanarak PowerShell komutlarını çağırma

Microsoft Entra kimlik bilgilerini kullanarak Azure Depolama'de oturum açmak ve sonraki işlemleri çalıştırmak için Azure PowerShell'i kullanmak için depolama hesabına başvurmak için bir depolama bağlamı oluşturun ve parametresini -UseConnectedAccount ekleyin.

Aşağıdaki örnekte, Microsoft Entra kimlik bilgilerinizi kullanarak Azure PowerShell'den yeni bir depolama hesabında nasıl kapsayıcı oluşturulacağı gösterilmektedir. Köşeli ayraçlardaki yer tutucu değerleri kendi değerlerinizle değiştirmeyi unutmayın:

  1. Bağlan-AzAccount komutuyla Azure hesabınızda oturum açın:

    Connect-AzAccount
    

    PowerShell ile Azure'da oturum açma hakkında daha fazla bilgi için bkz . Azure PowerShell ile oturum açma.

  2. New-AzResourceGroup çağrısı yaparak bir Azure kaynak grubu oluşturun.

    $resourceGroup = "sample-resource-group-ps"
    $location = "eastus"
    New-AzResourceGroup -Name $resourceGroup -Location $location
    
  3. New-Az Depolama Account çağrısı yaparak bir depolama hesabı oluşturun.

    $storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup `
      -Name "<storage-account>" `
      -SkuName Standard_LRS `
      -Location $location `
      -AllowBlobPublicAccess $false
    
  4. New-Az Depolama Context çağrısı yaparak yeni depolama hesabını belirten depolama hesabı bağlamını alın. Bir depolama hesabı üzerinde hareket ederken, kimlik bilgilerini tekrar tekrar geçirmek yerine bağlama başvurabilirsiniz. -UseConnectedAccount Microsoft Entra kimlik bilgilerinizi kullanarak sonraki veri işlemlerini çağırmak için parametresini ekleyin:

    $ctx = New-AzStorageContext -StorageAccountName "<storage-account>" -UseConnectedAccount
    
  5. Kapsayıcıyı oluşturmadan önce Depolama Blob Veri Katkıda Bulunanı rolünü kendinize atayın. Hesap sahibi olmanıza rağmen, depolama hesabında veri işlemleri gerçekleştirmek için açık izinlere ihtiyacınız vardır. Azure rolleri atama hakkında daha fazla bilgi için bkz . Blob verilerine erişim için Azure rolü atama.

    Önemli

    Azure rol atamalarının yayılması birkaç dakika sürebilir.

  6. New-Az Depolama Container'ı çağırarak kapsayıcı oluşturun. Bu çağrı önceki adımlarda oluşturulan bağlamı kullandığından, kapsayıcı Microsoft Entra kimlik bilgileriniz kullanılarak oluşturulur.

    $containerName = "sample-container"
    New-AzStorageContainer -Name $containerName -Context $ctx
    

Sonraki adımlar