Azure Active Directory ile yetkilendir

Azure Depolama, Blob, kuyruk ve tablo hizmetlerine yönelik isteklerin kimlik tabanlı yetkilendirmesi için Azure Active Directory (Azure AD) ile tümleştirme sağlar. Azure AD ile, Kullanıcı, Grup veya uygulamalara blob, kuyruk ve tablo kaynaklarına erişim vermek için rol tabanlı erişim denetimi 'ni (RBAC) kullanabilirsiniz. Tek bir kapsayıcı, kuyruk veya tablo düzeyi kapsamındaki izinleri verebilirsiniz.

azure Depolama 'de azure AD tümleştirmesi hakkında daha fazla bilgi edinmek için, bkz. Azure Active Directory kullanarak azure bloblarına ve kuyruklara erişim yetkisi verme.

Uygulamanızda Azure AD kullanmanın avantajları hakkında daha fazla bilgi için, bkz. Azure Active Directory tümleştirme.

İpucu

Azure AD ile blob, kuyruk ve tablo verilerine erişimi yetkilendirmek, diğer yetkilendirme seçenekleri üzerinde üstün güvenlik ve kullanım kolaylığı sağlar. Uygulamalarınızdan gelen istekleri yetkilendirmek için Azure AD kullandığınızda, paylaşılan anahtar yetkilendirmesi ile yaptığınız gibi, hesap erişim anahtarınızı kodunuzla depolamak zorunda kalmaktan kaçının. Blob, kuyruk ve tablo uygulamalarınız ile paylaşılan anahtar yetkilendirmesini kullanmaya devam edebilirsiniz, Microsoft, mümkün olduğunda Azure AD 'ye geçmeyi önerir. azure Depolama 'de azure AD tümleştirmesi hakkında daha fazla bilgi için, bkz. Azure Active Directory kullanarak azure bloblarına ve kuyruklara erişim yetkisi verme.

Kimlik doğrulaması için OAuth erişim belirteçleri kullanma

azure Depolama, depolama hesabını içeren abonelikle ilişkili azure AD kiracısından OAuth 2,0 erişim belirteçleri kabul eder. Azure Depolama, için erişim belirteçlerini kabul eder:

  • Kullanıcılar
  • Hizmet sorumluları
  • Azure kaynakları için yönetilen kimlikler
  • Kullanıcılar tarafından yetkilendirilen izinleri kullanan uygulamalar

Azure Depolama user_impersonation , uygulamaların kullanıcı tarafından izin verilen herhangi bir işlem yapmasına izin veren adlı tek bir temsili kapsamını kullanıma sunar.

Azure Depolama için belirteçleri istemek üzere https://storage.azure.com/ kaynak kimliği için değeri belirtin.

Kullanıcılar ve hizmet sorumluları için Azure AD 'den erişim belirteçleri isteme hakkında daha fazla bilgi için bkz. Azure AD Için kimlik doğrulama senaryoları.

Yönetilen kimliklerle yapılandırılmış kaynaklar için erişim belirteçleri isteme hakkında daha fazla bilgi için, bkz. bir Azure VM 'de Azure kaynakları için Yönetilen kimlikler kullanarak erişim belirteci alma.

OAuth belirteçleriyle depolama işlemlerini çağırma

OAuth erişim belirteçlerini kullanarak blob, kuyruk ve tablo hizmeti işlemlerini çağırmak için, aşağıdaki örnekte gösterildiği gibi, erişim belirtecini, taşıyıcı şemasını kullanarak Yetkilendirme üst bilgisine geçirin ve 2017-11-09 veya üzeri bir hizmet sürümünü belirtin:

Request:
GET /container/file.txt
x-ms-version: 2017-11-09
Authorization: Bearer eyJ0eXAiO...V09ccgQ
User-Agent: PostmanRuntime/7.6.0
Accept: */*
Host: sampleoautheast2.blob.core.windows.net
accept-encoding: gzip, deflate

Response:
HTTP/1.1 200
status: 200
Content-Length: 28
Content-Type: text/plain
Content-MD5: dxG7IgOBzApXPcGHxGg5SA==
Last-Modified: Wed, 30 Jan 2019 07:21:32 GMT
Accept-Ranges: bytes
ETag: "0x8D686838F9E8BA7"
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 09f31964-e01e-00a3-8066-d4e6c2000000
x-ms-version: 2017-11-09
x-ms-creation-time: Wed, 29 Aug 2018 04:22:47 GMT
x-ms-lease-status: unlocked
x-ms-lease-state: available
x-ms-blob-type: BlockBlob
x-ms-server-encrypted: true
Date: Wed, 06 Mar 2019 21:50:50 GMT
Welcome to Azure Storage!!

Taşıyıcı çekişmesi

Taşıyıcı çekişmesi, OAuth protokolünün RFC 6750 ' inin bir parçasıdır ve yetkilendirme bulma için kullanılır. Anonim istekler veya geçersiz OAuth taşıyıcı belirteci olan istekler için sunucu, kimlik sağlayıcısı ve kaynak bilgileri ile 401 (yetkisiz) durum kodunu döndürür. Azure AD ile kimlik doğrulaması sırasında bu değerleri nasıl kullanacağınızı öğrenmek için bağlantıyı inceleyin.

Azure Depolama Blobu ve sıra hizmetleri sürüm 2019-12-12 ve üzeri için bir taşıyıcı sınaması döndürür. Azure Depolama tablo hizmeti 2020-12-06 sürümünden bir taşıyıcı sınaması döndürür. Azure Data Lake Storage 2. sürüm 2017-11-09 ve üzeri için bir taşıyıcı sınaması döndürür.

İstemci isteği anonim indirme blobu isteğine taşıyıcı belirtecini içermiyorsa, aşağıdaki bir taşıyıcı sınama yanıtı örneğidir:

Request:
GET /container/file.txt
x-ms-version: 2019-12-12
Host: sampleoautheast2.blob.core.windows.net

Response:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer authorization_uri=https://login.microsoftonline.com/<tenant_id>/oauth2/authorize resource_uri=https://storage.azure.com

<?xml version="1.0" encoding="utf-8"?>
<Error>
    <Code>NoAuthenticationInformation</Code>
    <Message>Server failed to authenticate the request. Please refer to the information in the www-authenticate header.
RequestId:ec4f02d7-1003-0006-21f9-c55bc8000000
Time:2020-01-08T08:01:46.2063459Z</Message>
</Error>
Parametre Açıklama
authorization_uri Yetkilendirme sunucusunun URI 'SI (fiziksel uç noktası). Bu değer, bir bulma uç noktasından sunucu hakkında daha fazla bilgi almak için bir arama anahtarı olarak da kullanılır. İstemcinin, yetkilendirme sunucusunun güvenilir olduğunu doğrulaması gerekir. Kaynak Azure AD tarafından korunduğunda, URL 'nin https://login.microsoftonline.com veya Azure AD 'nin desteklediği diğer ana bilgisayar adı ile başladığını doğrulamak yeterlidir. Kiracıya özgü bir kaynak her zaman kiracıya özgü bir yetkilendirme URI 'SI döndürmelidir.
resource_id Kaynağın benzersiz tanımlayıcısını döndürür. İstemci uygulaması, kaynak için bir erişim belirteci istediğinde, bu tanımlayıcıyı kaynak parametresinin değeri olarak kullanabilir. İstemci uygulamasının bu değeri doğrulaması önemlidir, aksi takdirde kötü amaçlı bir hizmet ayrıcalık yükselmesi saldırısı yapabilir. Bir saldırının önlenmesi için önerilen strateji, resource_id erişilmekte olan Web API URL 'siyle aynı olduğunu doğrulamadır. https://storage.azure.com, genel olarak kullanılan Azure Depolama kaynak kimliğidir.

RBAC ile erişim haklarını yönetme

Azure AD, RBAC aracılığıyla güvenli kaynaklara erişimin yetkilendirmesini işler. RBAC kullanarak kullanıcılara, gruplara veya hizmet sorumlularına roller atayabilirsiniz. Her rol, bir kaynak için bir izin kümesini kapsar. Kullanıcı, Grup veya hizmet sorumlusuna rol atandıktan sonra, bu kaynağa erişimi vardır. Azure portal, Azure komut satırı araçları ve Azure Yönetim API 'Lerini kullanarak erişim hakları atayabilirsiniz. RBAC hakkında daha fazla bilgi için bkz. Role-Based Access Control kullanmaya başlama.

Azure Depolama için depolama hesabındaki bir kapsayıcı veya kuyruktaki verilere erişim izni verebilirsiniz. azure Depolama, azure AD ile kullanılmak üzere bu yerleşik RBAC rollerini sunmaktadır:

yerleşik rollerin azure Depolama için nasıl tanımlandığı hakkında daha fazla bilgi için bkz. azure kaynakları için rol tanımlarını anlama.

Ayrıca, BLOB depolama ve Azure kuyrukları ile kullanmak üzere özel roller de tanımlayabilirsiniz. Daha fazla bilgi için bkz. Azure Role-Based için özel roller oluşturma Access Control.

Veri işlemlerini çağırma izinleri

aşağıdaki tablolarda, belirli azure Depolama işlemlerini çağırmak için bir Azure AD kullanıcısı, grubu veya hizmet sorumlusu için gereken izinler açıklanır. Bir istemcinin belirli bir işlemi çağırmasını sağlamak için, istemcinin atanmış RBAC rolünün bu işlem için yeterli izinleri sağladığından emin olun.

Blob hizmeti işlemlerine yönelik izinler

Blob hizmeti işlemi RBAC eylemi
Kapsayıcıları Listele MICROSOFT. Depolama/storageaccounts/blobservices/containers/read (depolama hesabı kapsamına alındı)
Blob hizmeti özelliklerini ayarla MICROSOFT. Depolama/storageaccounts/blobservices/write
Blob hizmeti özelliklerini al MICROSOFT. Depolama/storageaccounts/blobservices/read
Ön kontrol blobu Isteği Anonim
Blob hizmeti Istatistiklerini al MICROSOFT. Depolama/storageaccounts/blobservices/read
Kullanıcı temsilciyi al anahtarı MICROSOFT. Depolama/storageaccounts/blobservices/generateuserdelegationkey
Kapsayıcı Oluşturma MICROSOFT. Depolama/storageaccounts/blobservices/containers/write
Kapsayıcı özelliklerini al MICROSOFT. Depolama/storageaccounts/blobservices/containers/read
Kapsayıcı meta verilerini al MICROSOFT. Depolama/storageaccounts/blobservices/containers/read
Kapsayıcı meta verilerini ayarla MICROSOFT. Depolama/storageaccounts/blobservices/containers/write
Kapsayıcı ACL 'sini al OAuth aracılığıyla kullanılamaz
Kapsayıcı ACL 'sini ayarla OAuth aracılığıyla kullanılamaz
Kapsayıcıyı Silme Microsoft. Depolama/storageAccounts/blobServices/containers/delete
Kira Kapsayıcısı Microsoft. Depolama/storageAccounts/blobServices/containers/write
Blobları Listele Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/read (kapsayıcı kapsamında)
İkili Büyük Nesne Koyma Oluşturma veya değiştirme için: Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/write
Yeni blob oluşturmak için: Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/add/action
Blob Al Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/read
BLOB özelliklerini Al Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/read
Blob Özelliklerini Ayarlama Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/write
Blob Meta Verilerini Al Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/read
Blob Meta Verilerini Ayarlama Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/write
Blob Kiralama Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/write
İkili Büyük Nesne Anlık Görüntüsünü Alma Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/write veya
Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/add/action
İkili Büyük Nesneyi Kopyalama Hedef blob için: Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/write veya Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/add/action (hedefe yeni blob yazarken)
Aynı depolama hesabı içinde kaynak blob için: Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/read
Farklı bir depolama hesabında kaynak blob için: Anonim olarak kullanılabilir veya geçerli SAS belirteci dahil edilir
Blob Kopyalamayı Durdurma Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/write
İkili Büyük Nesneyi Silme Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/delete
Put Block Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/write
Blok Listesini Koy Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/write
Blok Listesini Al Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/read
Sayfayı Koy Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/write
Sayfa Aralıklarını Al Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/read
Artımlı Kopyalama Blobu Hedef blob için: Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/write
Kaynak blob için: Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/read
Yeni blob için: Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/add/action
Ekleme Bloğu Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/write veya Microsoft. Depolama/storageAccounts/blobServices/containers/blobs/add/action

Kuyruk hizmeti için izinler

Kuyruk hizmeti işlemi RBAC eylemi
Kuyrukları Listele Microsoft. Depolama/storageAccounts/queueServices/queues/read (kapsamlı depolama hesabı)
Kuyruk Hizmeti Özelliklerini Ayarlama Microsoft. Depolama/storageAccounts/queueServices/read
Kuyruk Hizmeti Özelliklerini Al Microsoft. Depolama/storageAccounts/queueServices/read
Kontrol Öncesi Kuyruk İsteği Anonim
Kuyruk Hizmeti İstatistiklerini Al Microsoft. Depolama/storageAccounts/queueServices/read
Kuyruk Oluşturma Microsoft. Depolama/storageAccounts/queueServices/queues/write
Kuyruğu Silme Microsoft. Depolama/storageAccounts/queueServices/queues/delete
Kuyruk Meta Verilerini Al Microsoft. Depolama/storageAccounts/queueServices/queues/read
Kuyruk Meta Verilerini Ayarlama Microsoft. Depolama/storageAccounts/queueServices/queues/write
Kuyruk ACL'sini Al OAuth aracılığıyla kullanılamaz
Kuyruk ACL'sini Ayarlama OAuth aracılığıyla kullanılamaz
İleti Koy Microsoft. Depolama/storageAccounts/queueServices/queues/messages/add/action veya Microsoft. Depolama/storageAccounts/queueServices/queues/messages/write
İleti Al Microsoft. Depolama/storageAccounts/queueServices/queues/messages/process/action veya (Microsoft.Depolama/storageAccounts/queueServices/queues/messages/delete ve Microsoft. Depolama/storageAccounts/queueServices/queues/messages/read)
İletilere Göz Atma Microsoft. Depolama/storageAccounts/queueServices/queues/messages/read
İleti silme Microsoft. Depolama/storageAccounts/queueServices/queues/messages/process/action veya Microsoft. Depolama/storageAccounts/queueServices/queues/messages/delete
İletileri Temizle Microsoft. Depolama/storageAccounts/queueServices/queues/messages/delete
İletiyi Güncelleştirme Microsoft. Depolama/storageAccounts/queueServices/queues/messages/write

Tablo hizmeti işlemleri için izinler

Tablo hizmeti işlemi RBAC eylemi
Tablo Hizmeti Özelliklerini Ayarlama Microsoft. Depolama/storageAccounts/tableServices/write
Tablo Hizmeti Özelliklerini Al Microsoft. Depolama/storageAccounts/tableServices/read
Kontrol Öncesi Tablo İsteği Anonim
Tablo Hizmeti İstatistiklerini Al Microsoft. Depolama/storageAccounts/tableServices/read
Varlık Grup İşlemleri Gerçekleştirme Alt işlem ayrı olarak yetkilendirilir
Sorgu Tabloları Microsoft. Depolama/storageAccounts/tableServices/tables/read (kapsamlı depolama hesabı)
Tablo Oluşturma Microsoft. Depolama/storageAccounts/tableServices/tables/write
Tabloyu Sil Microsoft. Depolama/storageAccounts/tableServices/tables/delete
Tablo ACL'sini Al OAuth aracılığıyla kullanılamaz
Tablo ACL'sini Ayarlama OAuth aracılığıyla kullanılamaz
Sorgu Varlıkları Microsoft. Depolama/storageAccounts/tableServices/tables/entities/read
Varlık Ekle Microsoft. Depolama/storageAccounts/tableServices/tables/entities/write veya Microsoft. Depolama/storageAccounts/tableServices/tables/entities/add/action
Varlık Ekleme veya Birleştirme Microsoft. Depolama/storageAccounts/tableServices/tables/entities/write veya (Microsoft.Depolama/storageAccounts/tableServices/tables/entities/add/action ve Microsoft. Depolama/storageAccounts/tableServices/tables/entities/update/action)
Varlık Ekleme veya Değiştirme Microsoft. Depolama/storageAccounts/tableServices/tables/entities/write veya (Microsoft.Depolama/storageAccounts/tableServices/tables/entities/add/action ve Microsoft. Depolama/storageAccounts/tableServices/tables/entities/update/action)
Varlığı Güncelleştirme Microsoft. Depolama/storageAccounts/tableServices/tables/entities/write veya Microsoft. Depolama/storageAccounts/tableServices/tables/entities/update/action
Varlığı Birleştir Microsoft. Depolama/storageAccounts/tableServices/tables/entities/write veya Microsoft. Depolama/storageAccounts/tableServices/tables/entities/update/action
Varlığı Silme Microsoft. Depolama/storageAccounts/tableServices/tables/entities/delete

Ayrıca bkz.