Azure Depolama bağlantı dizelerini yapılandırma

bağlantı dizesi, uygulamanızın Paylaşılan Anahtar yetkilendirmesini kullanarak çalışma zamanında Azure Depolama hesabındaki verilere erişmesi için gereken yetkilendirme bilgilerini içerir. bağlantı dizesi yapılandırabilirsiniz:

  • Azurite depolama öykünücüsine Bağlan.
  • Azure'da bir depolama hesabına erişme.
  • Paylaşılan erişim imzası (SAS) aracılığıyla Azure'da belirtilen kaynaklara erişin.

Hesap erişim anahtarlarınızı görüntülemeyi ve bağlantı dizesi kopyalamayı öğrenmek için bkz. Depolama hesabı erişim anahtarlarını yönetme.

Erişim anahtarlarınızı koruma

Depolama hesap erişim anahtarları hem depolama hesabının yapılandırmasına hem de verilere tam erişim sağlar. Erişim anahtarlarınızı korumak için her zaman dikkatli olun. Anahtarlarınızı güvenli bir şekilde yönetmek ve döndürmek için Azure Key Vault'ı kullanın. Paylaşılan anahtara erişim, kullanıcıya depolama hesabının yapılandırmasına ve verilerine tam erişim verir. Paylaşılan anahtarlara erişim dikkatle sınırlanmalı ve izlenmelidir. Microsoft Entra ID tabanlı yetkilendirmenin kullanılamadığı senaryolarda sınırlı erişim kapsamına sahip SAS belirteçleri kullanın. Erişim anahtarlarını sabit kodlamaktan veya başkalarının erişebileceği herhangi bir yerde düz metin olarak kaydetmekten kaçının. Ele geçirilmiş olabileceklerini düşünüyorsanız anahtarlarınızı döndürün.

Önemli

Microsoft, hesap anahtarlarını (Paylaşılan Anahtar yetkilendirmesi) kullanmak yerine mümkünse blob, kuyruk ve tablo verilerine karşı istekleri yetkilendirmek için Microsoft Entra Id kullanılmasını önerir. Microsoft Entra Id ile yetkilendirme, Paylaşılan Anahtar yetkilendirmesi yerine üstün güvenlik ve kullanım kolaylığı sağlar. Uygulamalarınızdan Microsoft Entra yetkilendirmesini kullanma hakkında daha fazla bilgi için bkz . Azure hizmetleriyle .NET uygulamalarının kimliğini doğrulama. SMB Azure dosya paylaşımları için Microsoft, şirket içi Active Directory Domain Services (AD DS) tümleştirmesi veya Microsoft Entra Kerberos kimlik doğrulaması kullanılmasını önerir.

Kullanıcıların Paylaşılan Anahtar ile depolama hesabınızdaki verilere erişmesini önlemek için, depolama hesabı için Paylaşılan Anahtar yetkilendirmesine izin verilmiyebilirsiniz. En düşük ayrıcalıklara sahip verilere ayrıntılı erişim, en iyi güvenlik uygulaması olarak önerilir. OAuth'u destekleyen senaryolar için Microsoft Entra Id tabanlı yetkilendirme kullanılmalıdır. SMB üzerinden Azure Dosyalar için Kerberos veya SMTP kullanılmalıdır. REST üzerinden Azure Dosyalar için SAS belirteçleri kullanılabilir. Yanlışlıkla kullanılmasını önlemek için gerekli değilse paylaşılan anahtar erişimi devre dışı bırakılmalıdır. Daha fazla bilgi için bkz. Azure Depolama hesabı için Paylaşılan Anahtar yetkilendirmesini engelleme.

Azure Depolama hesabını Microsoft Entra Koşullu Erişim ilkeleriyle korumak için, depolama hesabı için Paylaşılan Anahtar yetkilendirmesine izin vermemelisiniz.

Paylaşılan anahtar erişimini devre dışı bırakmışsanız ve tanılama günlüklerinde Paylaşılan Anahtar yetkilendirmesinin bildirildiğini görüyorsanız, bu, depolama alanına erişmek için güvenilen erişimin kullanıldığını gösterir. Diğer ayrıntılar için bkz . Aboneliğinizde kayıtlı kaynaklar için güvenilir erişim.

bağlantı dizesi depolama

Uygulamanızın Azure Depolama'a yapılan istekleri yetkilendirmek için çalışma zamanında bağlantı dizesi erişmesi gerekir. Hesap erişim anahtarlarınızı veya bağlantı dizesi depolamak için çeşitli seçenekleriniz vardır:

  • Hesap anahtarlarınızı Azure Key Vault'ta güvenli bir şekilde depolayabilirsiniz. Daha fazla bilgi için bkz . Azure Key Vault yönetilen depolama hesabı anahtarları hakkında.
  • bağlantı dizesi bir ortam değişkeninde depolayabilirsiniz.
  • Bir uygulama bağlantı dizesi bir app.config veya web.config dosyasında depolayabilir. bağlantı dizesi bu dosyalardaki Uygulama Ayarlar bölümüne ekleyin.

Uyarı

Hesap erişim anahtarlarınızı veya bağlantı dizesi açık metin olarak depolamak bir güvenlik riski oluşturur ve önerilmez. Hesap anahtarlarınızı şifrelenmiş bir biçimde depolayın veya uygulamalarınızı depolama hesabınıza erişim için Microsoft Entra yetkilendirmesini kullanacak şekilde geçirin.

Azurite için bağlantı dizesi yapılandırma

Öykünücü tek bir sabit hesabı ve Paylaşılan Anahtar kimlik doğrulaması için iyi bilinen bir kimlik doğrulama anahtarını destekler. Bu hesap ve anahtar, öykünücü ile kullanılmasına izin verilen tek Paylaşılan Anahtar kimlik bilgileridir. Bunlar:

Account name: devstoreaccount1
Account key: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==

Dekont

Öykünücü tarafından desteklenen kimlik doğrulama anahtarı yalnızca istemci kimlik doğrulama kodunuzun işlevselliğini test etme amacıyla tasarlanmıştır. Hiçbir güvenlik amacına hizmet etmez. Öykünücü ile üretim depolama hesabınızı ve anahtarınızı kullanamazsınız. Geliştirme hesabını üretim verileriyle kullanmamalısınız.

Öykünücü yalnızca HTTP üzerinden bağlantıyı destekler. Ancak HTTPS, üretim Azure depolama hesabındaki kaynaklara erişmek için önerilen protokoldür.

Kısayolu kullanarak öykünücü hesabına Bağlan

Uygulamanızdan öykünücüye bağlanmanın en kolay yolu, uygulamanızın yapılandırma dosyasında kısayola UseDevelopmentStorage=truebaşvuran bir bağlantı dizesi yapılandırmaktır. Kısayol, öykünücünün tam bağlantı dizesi eşdeğerdir. Bu, Azure Depolama hizmetlerinin her biri için hesap adını, hesap anahtarını ve öykünücü uç noktalarını belirtir:

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;
AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;
BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;
QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;
TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;

Aşağıdaki .NET kod parçacığı, bağlantı dizesi alan bir yöntemden kısayolu nasıl kullanabileceğinizi gösterir. Örneğin, BlobContainerClient(String, String) oluşturucu bir bağlantı dizesi alır.

BlobContainerClient blobContainerClient = new BlobContainerClient("UseDevelopmentStorage=true", "sample-container");
blobContainerClient.CreateIfNotExists();

Kod parçacığındaki kodu çağırmadan önce öykünücünün çalıştığından emin olun.

Azurite hakkında daha fazla bilgi için bkz. Yerel Azure Depolama geliştirmesi için Azurite öykünücüsü kullanma.

Azure depolama hesabı için bağlantı dizesi yapılandırma

Azure depolama hesabınız için bir bağlantı dizesi oluşturmak için aşağıdaki biçimi kullanın. DEPOLAMA hesabına HTTPS (önerilen) veya HTTP aracılığıyla bağlanmak isteyip istemediğinizi belirtin, değerini myAccountName depolama hesabınızın adıyla değiştirin ve değerini hesap erişim anahtarınızla değiştirin myAccountKey :

DefaultEndpointsProtocol=[http|https];AccountName=myAccountName;AccountKey=myAccountKey

Örneğin, bağlantı dizesi şuna benzer olabilir:

DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=<account-key>

Azure Depolama bir bağlantı dizesi hem HTTP hem de HTTPS'yi desteklese de, HTTPS kesinlikle önerilir.

Bahşiş

Depolama hesabınızın bağlantı dizesi Azure portalında bulabilirsiniz. Hem birincil hem de ikincil erişim anahtarlarının bağlantı dizesi görmek için depolama hesabınızın ayarlarında Güvenlik + ağ>Erişim anahtarları'na gidin.

Paylaşılan erişim imzası kullanarak bağlantı dizesi oluşturma

Depolama hesabındaki kaynaklara erişmenizi sağlayan bir paylaşılan erişim imzası (SAS) URL'niz varsa SAS'yi bir bağlantı dizesi kullanabilirsiniz. SAS, isteğin kimliğini doğrulamak için gereken bilgileri içerdiğinden, SAS içeren bir bağlantı dizesi protokol, hizmet uç noktası ve kaynağa erişmek için gerekli kimlik bilgilerini sağlar.

Paylaşılan erişim imzası içeren bir bağlantı dizesi oluşturmak için dizeyi aşağıdaki biçimde belirtin:

BlobEndpoint=myBlobEndpoint;
QueueEndpoint=myQueueEndpoint;
TableEndpoint=myTableEndpoint;
FileEndpoint=myFileEndpoint;
SharedAccessSignature=sasToken

her hizmet uç noktası isteğe bağlıdır, ancak bağlantı dizesi en az bir tane içermelidir.

Dekont

EN iyi yöntem olarak HTTPS'nin SAS ile kullanılması önerilir.

Yapılandırma dosyasındaki bir bağlantı dizesi SAS belirtiyorsanız, URL'de özel karakterleri kodlamanız gerekebilir.

Hizmet SAS örneği

Blob depolama için hizmet SAS'sini içeren bir bağlantı dizesi örneği aşağıda verilmişti:

BlobEndpoint=https://storagesample.blob.core.windows.net;
SharedAccessSignature=sv=2015-04-05&sr=b&si=tutorial-policy-635959936145100803&sig=9aCzs76n0E7y5BpEi2GvsSv433BZa22leDOZXX%2BXXIU%3D

URL kodlaması ile aynı bağlantı dizesi bir örneği aşağıda verilmişti:

BlobEndpoint=https://storagesample.blob.core.windows.net;
SharedAccessSignature=sv=2015-04-05&amp;sr=b&amp;si=tutorial-policy-635959936145100803&amp;sig=9aCzs76n0E7y5BpEi2GvsSv433BZa22leDOZXX%2BXXIU%3D

Hesap SAS örneği

Blob ve Dosya depolama için hesap SAS'sini içeren bir bağlantı dizesi örneği aşağıda verilmiştır. Her iki hizmet için de uç noktaların belirtildiğini unutmayın:

BlobEndpoint=https://storagesample.blob.core.windows.net;
FileEndpoint=https://storagesample.file.core.windows.net;
SharedAccessSignature=sv=2015-07-08&sig=iCvQmdZngZNW%2F4vw43j6%2BVz6fndHF5LI639QJba4r8o%3D&spr=https&st=2016-04-12T03%3A24%3A31Z&se=2016-04-13T03%3A29%3A31Z&srt=s&ss=bf&sp=rwl

URL kodlaması ile aynı bağlantı dizesi bir örneği aşağıda verilmişti:

BlobEndpoint=https://storagesample.blob.core.windows.net;
FileEndpoint=https://storagesample.file.core.windows.net;
SharedAccessSignature=sv=2015-07-08&amp;sig=iCvQmdZngZNW%2F4vw43j6%2BVz6fndHF5LI639QJba4r8o%3D&amp;spr=https&amp;st=2016-04-12T03%3A24%3A31Z&amp;se=2016-04-13T03%3A29%3A31Z&amp;srt=s&amp;ss=bf&amp;sp=rwl

Açık depolama uç noktası için bağlantı dizesi oluşturma

Varsayılan uç noktaları kullanmak yerine bağlantı dizesi açık hizmet uç noktalarını belirtebilirsiniz. Açık uç nokta belirten bir bağlantı dizesi oluşturmak için, protokol belirtimi (HTTPS (önerilen) veya HTTP dahil olmak üzere her hizmet için tam hizmet uç noktasını aşağıdaki biçimde belirtin:

DefaultEndpointsProtocol=[http|https];
BlobEndpoint=myBlobEndpoint;
FileEndpoint=myFileEndpoint;
QueueEndpoint=myQueueEndpoint;
TableEndpoint=myTableEndpoint;
AccountName=myAccountName;
AccountKey=myAccountKey

Açık uç nokta belirtmek isteyebileceğiniz bir senaryo, Blob depolama uç noktanızı özel bir etki alanına eşlediğiniz senaryodur. Bu durumda, bağlantı dizesi Blob depolama için özel uç noktanızı belirtebilirsiniz. İsteğe bağlı olarak, uygulamanız bunları kullanıyorsa diğer hizmetler için varsayılan uç noktaları belirtebilirsiniz.

Blob hizmeti için açık bir uç nokta belirten bir bağlantı dizesi örneği aşağıda verilmiştir:

# Blob endpoint only
DefaultEndpointsProtocol=https;
BlobEndpoint=http://www.mydomain.com;
AccountName=storagesample;
AccountKey=<account-key>

Bu örnek, Blob hizmeti için özel bir etki alanı dahil olmak üzere tüm hizmetler için açık uç noktaları belirtir:

# All service endpoints
DefaultEndpointsProtocol=https;
BlobEndpoint=http://www.mydomain.com;
FileEndpoint=https://myaccount.file.core.windows.net;
QueueEndpoint=https://myaccount.queue.core.windows.net;
TableEndpoint=https://myaccount.table.core.windows.net;
AccountName=storagesample;
AccountKey=<account-key>

bağlantı dizesi uç nokta değerleri, depolama hizmetlerine yönelik istek URI'lerini oluşturmak ve kodunuz için döndürülen URI'lerin biçimini dikte etmek için kullanılır.

Depolama uç noktasını özel bir etki alanına eşlediyseniz ve bu uç noktayı bir bağlantı dizesi atladıysanız, bu hizmetteki verilere kodunuzdan erişmek için bu bağlantı dizesi kullanamazsınız.

Azure Depolama için özel etki alanı yapılandırma hakkında daha fazla bilgi için bkz. Özel etki alanını Azure Blob Depolama uç noktasına eşleme.

Önemli

bağlantı dizesi'lerinizdeki hizmet uç noktası değerleri, (önerilen) veya http://dahil olmak üzere https:// iyi BIÇIMLENDIRILMIŞ URI'ler olmalıdır.

Uç nokta soneki ile bağlantı dizesi oluşturma

21Vianet veya Azure Kamu tarafından sağlanan Microsoft Azure gibi farklı uç nokta sonekleri olan bölgelerde veya örneklerde depolama hizmeti için bağlantı dizesi oluşturmak için aşağıdaki bağlantı dizesi biçimini kullanın. Depolama hesabına HTTPS (önerilen) veya HTTP aracılığıyla bağlanmak isteyip istemediğinizi belirtin, değerini myAccountName depolama hesabınızın adıyla değiştirin, myAccountKey değerini hesap erişim anahtarınızla değiştirin ve değerini URI soneki ile değiştirin mySuffix :

DefaultEndpointsProtocol=[http|https];
AccountName=myAccountName;
AccountKey=myAccountKey;
EndpointSuffix=mySuffix;

Azure'da 21Vianet tarafından sağlanan depolama hizmetleri için örnek bir bağlantı dizesi aşağıda verilmişti:

DefaultEndpointsProtocol=https;
AccountName=storagesample;
AccountKey=<account-key>;
EndpointSuffix=core.chinacloudapi.cn;

Paylaşılan Anahtar ile erişimi yetkilendirme

Hesap anahtarıyla veya bağlantı dizesi ile Azure Depolama erişimi yetkilendirmeyi öğrenmek için aşağıdaki makalelerden birine bakın:

Sonraki adımlar