Aracılığıyla paylaş


Azure CLI ile kuyruk verilerine erişimi yetkilendirmeyi seçme

Azure Depolama, kuyruk 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

Kuyruk 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 v2.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 kuyruk 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 ortam değişkeninde AZURE_STORAGE_KEY 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ç, Kuyruk Depolama karşı sonraki veri işlemlerini 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 bir Microsoft Entra güvenlik sorumlusuna kuyruk verilerine izin atayabilirsiniz. Azure Depolama'daki Azure rolleri hakkında daha fazla bilgi için bkz. Azure RBAC ile Azure Depolama verilerine erişim haklarını yönetme.

Veri işlemlerini çağırma izinleri

Azure Depolama uzantıları, kuyruk 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. Kuyruklara yönelik izinler Azure RBAC aracılığıyla atanır. Örneğin, size Depolama Kuyruk Veri Okuyucusu rolü atanırsa, kuyruktan veri okuyan betik komutlarını çalıştırabilirsiniz. Depolama Kuyruk Verileri Katkıda Bulunanı rolü atanmışsa, bir kuyruğu veya içerdikleri verileri okuyan, yazan veya silen betik komutlarını çalıştırabilirsiniz.

Bir kuyrukta 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 kuyruk oluşturmak için bir işlemi yetkilendirme

Aşağıdaki örnekte, Microsoft Entra kimlik bilgilerinizi kullanarak Azure CLI'dan kuyruk oluşturma adımları gösterilmektedir. Kuyruğu oluşturmak için Azure CLI'da oturum açmanız ve bir kaynak grubu ile depolama hesabınız olması gerekir.

  1. Kuyruğu oluşturmadan önce, Depolama Kuyruk Verileri 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 rollerini atama hakkında daha fazla bilgi için bkz . Kuyruk verilerine erişim için Azure rolü atama.

    Önemli

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

  2. az storage queue create Microsoft Entra kimlik bilgilerinizi kullanarak kuyruğu oluşturmak için parametresinin ayarlandığı login komutu --auth-mode çağırın. Köşeli ayraçlardaki yer tutucu değerleri kendi değerlerinizle değiştirmeyi unutmayın:

    az storage queue create \
        --account-name <storage-account> \
        --name sample-queue \
        --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 kuyruk oluşturma gösterilmektedir. Hesap anahtarını belirtin ve parametresini --auth-mode şu değerle key belirtin:

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

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 kuyruk oluşturma gösterilmektedir:

az storage queue create \
    --account-name <storage-account> \
    --name sample-queue \
    --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 çalıştırılırsa 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