Azure CLI ile blob verilerine erişimi yetkilendirme yöntemini seçme

Azure Depolama, blob verilerinde işlemleri nasıl yetkilendirmek istediğinizi belirtmenize olanak tanıyan Azure CLI uzantıları sağlar. Veri işlemlerini aşağıdaki yollarla yetkileyebilirsiniz:

  • Bir Microsoft Entra güvenlik sorumlusuyla. Microsoft, üstün güvenlik ve kullanım kolaylığı için Microsoft Entra kimlik bilgilerinin kullanılmasını önerir.
  • Hesap erişim anahtarı veya paylaşılan erişim imzası (SAS) belirteci ile.

Veri işlemlerinin nasıl yetkilendirileceğini belirtme

Blob verilerini okumak ve yazmak için Azure CLI komutları isteğe bağlı --auth-mode parametresini içerir. Bir veri işleminin nasıl yetkilendirileceğini belirtmek için bu parametreyi belirtin:

  • Parametresini --auth-modelogin Microsoft Entra güvenlik sorumlusu kullanarak oturum açmak için olarak ayarlayın (önerilir).
  • --auth-mode Yetkilendirme için kullanılacak hesap erişim anahtarını almaya çalışmak için parametresini eski key değere ayarlayın. Parametresini --auth-mode atlarsanız, Azure CLI erişim anahtarını da almayı dener.

parametresini --auth-mode kullanmak için Azure CLI sürüm 2.0.46 veya üzerini yüklediğinizden emin olun. Yüklü sürümünüzü denetlemek için komutunu çalıştırın az --version .

Dekont

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.

Önemli

parametresini --auth-mode atlar veya olarak ayarlarsanız key, Azure CLI yetkilendirme için hesap erişim anahtarını kullanmayı dener. Bu durumda Microsoft, erişim anahtarını komutta veya AZURE_STORAGE_KEY ortam değişkeninde sağlamanızı önerir. Ortam değişkenleri hakkında daha fazla bilgi için Yetkilendirme parametreleri için ortam değişkenlerini ayarlama başlıklı bölüme bakın.

Erişim anahtarını sağlamazsanız, Azure CLI her işlem için azure Depolama kaynak sağlayıcısını çağırmayı dener. Kaynak sağlayıcısına çağrı gerektiren birçok veri işleminin gerçekleştirilmesi azaltmaya neden olabilir. Kaynak sağlayıcısı sınırları hakkında daha fazla bilgi için bkz. Azure Depolama kaynak sağlayıcısı için ölçeklenebilirlik ve performans hedefleri.

Microsoft Entra kimlik bilgileriyle yetkilendirme

Azure CLI'da Microsoft Entra kimlik bilgileriyle oturum açtığınızda bir OAuth 2.0 erişim belirteci döndürülür. Bu belirteç, Sonraki veri işlemlerini Blob veya Kuyruk depolamaya karşı yetkilendirmek için Azure CLI 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.

Veri işlemlerini çağırma izinleri

Azure Depolama uzantıları blob verileri üzerindeki işlemler için desteklenir. Hangi işlemleri çağırabileceğiniz, Azure CLI'da 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 Depolama Blob Veri Okuyucusu rolü atanırsa, kapsayıcıdan veri okuyan betik komutlarını çalıştırabilirsiniz. Depolama Blob Veri Katkıda Bulunanı rolü atanmışsa, kapsayıcıyı veya içerdiği 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.

Örnek: Microsoft Entra kimlik bilgileriyle kapsayıcı oluşturmak için bir işlemi yetkilendirme

Aşağıdaki örnekte, Microsoft Entra kimlik bilgilerinizi kullanarak Azure CLI'dan kapsayıcı oluşturma adımları gösterilmektedir. Kapsayıcıyı oluşturmak için Azure CLI'da oturum açmanız ve bir kaynak grubu ile depolama hesabınız olması gerekir. Bu kaynakların nasıl oluşturulacağını öğrenmek için bkz . Hızlı Başlangıç: Azure CLI ile blob oluşturma, indirme ve listeleme.

  1. 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.

  2. Microsoft Entra kimlik bilgilerinizi kullanarak kapsayıcıyı oluşturmak için login parametresi ayarlanmış az storage container create komutunu --auth-mode çağırın. Köşeli ayraçlardaki yer tutucu değerleri kendi değerlerinizle değiştirmeyi unutmayın:

    az storage container create \
        --account-name <storage-account> \
        --name sample-container \
        --auth-mode login
    

Hesap erişim anahtarıyla yetkilendirme

Hesap anahtarına sahipseniz herhangi bir Azure Depolama veri işlemini çağırabilirsiniz. Genel olarak, hesap anahtarını kullanmak daha az güvenlidir. Hesap anahtarının gizliliği ihlal edilirse hesabınızdaki tüm veriler tehlikeye girebilir.

Aşağıdaki örnekte, hesap erişim anahtarını kullanarak kapsayıcı oluşturma gösterilmektedir. Hesap anahtarını belirtin ve parametresini --auth-mode şu değerle key belirtin:

az storage container create \
    --account-name <storage-account> \
    --name sample-container \
    --account-key <key>
    --auth-mode key

Ö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 kullanıcıların Microsoft Entra kimlik bilgileriyle verilere erişmesi gerekir.

SAS belirteci ile yetkilendirme

SAS belirtecini kullanıyorsanız SAS tarafından izin verilen veri işlemlerini çağırabilirsiniz. Aşağıdaki örnekte SAS belirteci kullanarak kapsayıcı oluşturma gösterilmektedir:

az storage container create \
    --account-name <storage-account> \
    --name sample-container \
    --sas-token <token>

Yetkilendirme parametreleri için ortam değişkenlerini ayarlama

Bir Azure Depolama veri işlemine yapılan her çağrıya dahil edilmelerini önlemek için ortam değişkenlerinde yetkilendirme parametreleri belirtebilirsiniz. Aşağıdaki tabloda kullanılabilir ortam değişkenleri açıklanmaktadır.

Ortam değişkeni Tanım
AZURE_STORAGE_ACCOUNT Depolama hesabı adı. Bu değişken, depolama hesabı anahtarı veya SAS belirteci ile birlikte kullanılmalıdır. Hiçbiri yoksa Azure CLI, kimliği doğrulanmış Microsoft Entra hesabını kullanarak depolama hesabı erişim anahtarını almaya çalışır. Aynı anda çok sayıda komut yürütülürse Azure Depolama kaynak sağlayıcısı azaltma sınırına ulaşılabilir. Kaynak sağlayıcısı sınırları hakkında daha fazla bilgi için bkz. Azure Depolama kaynak sağlayıcısı için ölçeklenebilirlik ve performans hedefleri.
AZURE_STORAGE_KEY Depolama hesabı anahtarı. Bu değişken depolama hesabı adıyla birlikte kullanılmalıdır.
AZURE_STORAGE_CONNECTION_STRING Depolama hesabı anahtarını veya SAS belirtecini içeren bir bağlantı dizesi. Bu değişken depolama hesabı adıyla birlikte kullanılmalıdır.
AZURE_STORAGE_SAS_TOKEN Paylaşılan erişim imzası (SAS) belirteci. Bu değişken depolama hesabı adıyla birlikte kullanılmalıdır.
AZURE_STORAGE_AUTH_MODE Komutunun çalıştırıldığı yetkilendirme modu. İzin verilen değerler (önerilir) veya keyşeklindedir login . belirtirseniz loginAzure CLI, veri işlemini yetkilendirmek için Microsoft Entra kimlik bilgilerinizi kullanır. Eski key modu belirtirseniz, Azure CLI hesap erişim anahtarını sorgulamayı ve komutu anahtarla yetkilendirmeyi dener.

Sonraki adımlar