Konfigurace řetězců připojení Azure Storage

Připojovací řetězec obsahuje informace o autorizaci vyžadované pro přístup k datům v účtu služby Azure Storage za běhu pomocí autorizace sdíleného klíče. Můžete nakonfigurovat připojovací řetězec na:

  • Připojení do emulátoru úložiště Azurite.
  • Přístup k účtu úložiště v Azure
  • Přístup k zadaným prostředkům v Azure prostřednictvím sdíleného přístupového podpisu (SAS).

Informace o tom, jak zobrazit přístupové klíče účtu a zkopírovat připojovací řetězec, najdete v tématu Správa přístupových klíčů účtu úložiště.

Ochrana přístupových klíčů

Přístupové klíče účtu úložiště poskytují úplný přístup ke konfiguraci účtu úložiště a také k datům. Vždy buďte opatrní při ochraně přístupových klíčů. Pomocí služby Azure Key Vault můžete klíče bezpečně spravovat a otáčet. Přístup ke sdílenému klíči uděluje uživateli úplný přístup ke konfiguraci účtu úložiště a jeho datům. Přístup ke sdíleným klíčům by měl být pečlivě omezený a monitorovaný. Použití tokenů SAS s omezeným oborem přístupu ve scénářích, kdy se autorizace založená na Microsoft Entra ID nedá použít. Vyhněte se pevně kódovacím přístupovým klíčům nebo je uložte kdekoli ve formátu prostého textu, který je přístupný ostatním uživatelům. Pokud se domníváte, že by mohly být ohroženy, obměňte klíče.

Důležité

Microsoft doporučuje použít Microsoft Entra ID k autorizaci požadavků na data objektů blob, fronty a tabulky, pokud je to možné, místo použití klíčů účtu (autorizace sdíleného klíče). Autorizace pomocí Microsoft Entra ID poskytuje vynikající zabezpečení a snadné použití prostřednictvím autorizace sdíleného klíče. Další informace o používání autorizace Microsoft Entra z vašich aplikací naleznete v tématu Jak ověřovat aplikace .NET pomocí služeb Azure. U sdílených složek Azure smb doporučuje Microsoft používat integraci služby místní Active Directory Domain Services (AD DS) nebo ověřování microsoft Entra Kerberos.

Pokud chcete uživatelům zabránit v přístupu k datům ve vašem účtu úložiště pomocí sdíleného klíče, můžete zakázat autorizaci sdíleného klíče pro účet úložiště. Podrobný přístup k datům s minimálními potřebnými oprávněními se doporučuje jako osvědčený postup zabezpečení. Pro scénáře, které podporují OAuth, by se měla použít autorizace založená na ID Microsoftu Entra. Protokol Kerberos nebo SMTP by se měly používat pro službu Azure Files přes protokol SMB. Pro Službu Azure Files přes REST je možné použít tokeny SAS. Přístup ke sdílenému klíči by měl být zakázán, pokud není vyžadován, aby se zabránilo jeho neúmyslným použití. Další informace najdete v tématu Zabránění autorizaci sdíleného klíče pro účet Azure Storage.

Pokud chcete chránit účet azure Storage pomocí zásad podmíněného přístupu Microsoft Entra, musíte zakázat autorizaci sdíleného klíče pro účet úložiště.

Pokud jste zakázali přístup ke sdíleným klíčům a v diagnostických protokolech se zobrazuje autorizace sdíleného klíče, znamená to, že se pro přístup k úložišti používá důvěryhodný přístup. Další podrobnosti najdete v tématu Důvěryhodný přístup k prostředkům registrovaným ve vašem předplatném.

Uložení připojovací řetězec

Vaše aplikace potřebuje přístup k připojovací řetězec za běhu, aby bylo potřeba autorizovat požadavky provedené ve službě Azure Storage. Máte několik možností pro ukládání přístupových klíčů k účtu nebo připojovací řetězec:

  • Klíče účtu můžete bezpečně ukládat ve službě Azure Key Vault. Další informace najdete v tématu O klíčích účtu spravovaného úložiště služby Azure Key Vault.
  • Připojovací řetězec můžete uložit do proměnné prostředí.
  • Aplikace může uložit připojovací řetězec do souboru app.config nebo web.config. Do části Aplikace přidejte připojovací řetězec Nastavení v těchto souborech.

Upozorňující

Uložení přístupových klíčů k účtu nebo připojovací řetězec v prostém textu představuje bezpečnostní riziko a nedoporučuje se. Ukládejte klíče účtu v šifrovaných formátech nebo migrujte své aplikace, aby používaly autorizaci Microsoft Entra pro přístup k vašemu účtu úložiště.

Konfigurace připojovací řetězec pro Azurite

Emulátor podporuje jeden pevný účet a dobře známý ověřovací klíč pro ověřování pomocí sdíleného klíče. Tento účet a klíč jsou jediné přihlašovací údaje sdíleného klíče povolené pro použití s emulátorem. Mezi ně patří:

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

Poznámka:

Ověřovací klíč podporovaný emulátorem je určený pouze pro testování funkčnosti ověřovacího kódu klienta. Neslouží k žádnému účelu zabezpečení. S emulátorem nemůžete použít svůj produkční účet úložiště a klíč. S produkčními daty byste neměli používat vývojový účet.

Emulátor podporuje připojení pouze přes protokol HTTP. Protokol HTTPS je však doporučený protokol pro přístup k prostředkům v produkčním účtu úložiště Azure.

Připojení k účtu emulátoru pomocí zástupce

Nejjednodušší způsob, jak se připojit k emulátoru z aplikace, je nakonfigurovat připojovací řetězec v konfiguračním souboru aplikace, který odkazuje na zástupce UseDevelopmentStorage=true. Zástupce odpovídá úplnému připojovací řetězec emulátoru, který určuje název účtu, klíč účtu a koncové body emulátoru pro každou ze služeb Azure Storage:

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;

Následující fragment kódu .NET ukazuje, jak můžete použít zástupce z metody, která přebírá připojovací řetězec. Například konstruktor BlobContainerClient(String, String) přebírá připojovací řetězec.

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

Před voláním kódu v fragmentu kódu se ujistěte, že je emulátor spuštěný.

Další informace o Azurite najdete v tématu Použití emulátoru Azurite pro místní vývoj služby Azure Storage.

Konfigurace připojovací řetězec pro účet úložiště Azure

Pokud chcete vytvořit připojovací řetězec pro účet úložiště Azure, použijte následující formát. Určete, jestli se chcete připojit k účtu úložiště prostřednictvím protokolu HTTPS (doporučeno) nebo HTTP, nahraďte myAccountName názvem svého účtu úložiště a nahraďte myAccountKey přístupovým klíčem účtu:

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

Vaše připojovací řetězec může vypadat například takto:

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

I když Azure Storage podporuje protokol HTTP i HTTPS v připojovací řetězec, důrazně se doporučuje https.

Tip

Připojovací řetězec účtu úložiště najdete na webu Azure Portal. V nastavení účtu úložiště přejděte na Zabezpečení a síťové>přístupové klíče, abyste viděli připojovací řetězec primárních i sekundárních přístupových klíčů.

Vytvoření připojovací řetězec pomocí sdíleného přístupového podpisu

Pokud máte adresu URL sdíleného přístupového podpisu (SAS), která vám uděluje přístup k prostředkům v účtu úložiště, můžete sas použít v připojovací řetězec. Vzhledem k tomu, že SAS obsahuje informace potřebné k ověření požadavku, poskytuje připojovací řetězec s SAS protokol, koncový bod služby a nezbytné přihlašovací údaje pro přístup k prostředku.

Pokud chcete vytvořit připojovací řetězec, který obsahuje sdílený přístupový podpis, zadejte řetězec v následujícím formátu:

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

Každý koncový bod služby je volitelný, i když připojovací řetězec musí obsahovat alespoň jeden.

Poznámka:

Osvědčeným postupem je použití PROTOKOLU HTTPS se sdíleným přístupovým podpisem.

Pokud v konfiguračním souboru zadáváte SAS v připojovací řetězec, možná budete muset v adrese URL zakódovat speciální znaky.

Příklad SAS služby

Tady je příklad připojovací řetězec, který zahrnuje SAS služby pro úložiště objektů blob:

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

Tady je příklad stejného připojovací řetězec s kódováním adresy URL:

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

Příklad SAS účtu

Tady je příklad připojovací řetězec, který obsahuje SAS účtu pro úložiště objektů blob a souborů. Všimněte si, že jsou zadané koncové body pro obě služby:

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

Tady je příklad stejného připojovací řetězec s kódováním adresy URL:

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

Vytvoření připojovací řetězec pro explicitní koncový bod úložiště

Ve svém připojovací řetězec můžete místo výchozích koncových bodů zadat explicitní koncové body služby. Pokud chcete vytvořit připojovací řetězec, který určuje explicitní koncový bod, zadejte úplný koncový bod služby pro každou službu, včetně specifikace protokolu (https (doporučeno) nebo HTTP), v následujícím formátu:

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

Jeden scénář, ve kterém můžete chtít zadat explicitní koncový bod, je situace, kdy jste namapovali koncový bod úložiště objektů blob na vlastní doménu. V takovém případě můžete zadat vlastní koncový bod pro úložiště objektů blob v připojovací řetězec. Volitelně můžete zadat výchozí koncové body pro ostatní služby, pokud je vaše aplikace používá.

Tady je příklad připojovací řetězec, který určuje explicitní koncový bod pro službu Blob Service:

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

Tento příklad určuje explicitní koncové body pro všechny služby, včetně vlastní domény pro službu Blob Service:

# 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>

Hodnoty koncových bodů v připojovací řetězec slouží k vytvoření identifikátorů URI požadavků pro služby úložiště a diktování formátu všech identifikátorů URI, které se vrátí do kódu.

Pokud jste namapovali koncový bod úložiště na vlastní doménu a tento koncový bod vynecháte z připojovací řetězec, nebudete moct tento připojovací řetězec použít pro přístup k datům v této službě z vašeho kódu.

Další informace o konfiguraci vlastní domény pro Azure Storage najdete v tématu Mapování vlastní domény na koncový bod služby Azure Blob Storage.

Důležité

Hodnoty koncových bodů služby ve vašich připojovací řetězec musí být správně vytvořené identifikátory URI, včetně https:// (doporučeno) nebo http://.

Vytvoření připojovací řetězec s příponou koncového bodu

Pokud chcete vytvořit připojovací řetězec pro službu úložiště v oblastech nebo instancích s různými příponami koncových bodů, například pro Microsoft Azure provozovaný společností 21Vianet nebo Azure Government, použijte následující formát připojovací řetězec. Určete, jestli se chcete připojit k účtu úložiště prostřednictvím protokolu HTTPS (doporučeno) nebo HTTP, nahraďte myAccountName názvem účtu úložiště, nahraďte myAccountKey přístupovým klíčem účtu a nahraďte mySuffix příponou identifikátoru URI:

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

Tady je příklad připojovací řetězec pro služby úložiště v Azure provozované společností 21Vianet:

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

Autorizace přístupu pomocí sdíleného klíče

Informace o autorizaci přístupu ke službě Azure Storage pomocí klíče účtu nebo připojovací řetězec najdete v jednom z následujících článků:

Další kroky