Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En reťazec pripojenia innehåller den auktoriseringsinformation som krävs för att programmet ska få åtkomst till data i ett Azure Storage konto vid körning med hjälp av auktorisering av delad nyckel. Du kan konfigurera anslutningssträng till:
- Anslut till Azurite Storage-emulatorn.
- Få åtkomst till ett lagringskonto i Azure.
- Få åtkomst till angivna resurser i Azure via en signatur för delad åtkomst (SAS).
Mer information om hur du visar dina kontoåtkomstnycklar och kopierar en reťazec pripojenia finns i Hantera åtkomstnycklar för lagringskonto.
Viktigt!
För optimal säkerhet rekommenderar Microsoft att du använder Microsoft Entra ID med hanterade identiteter för att auktorisera begäranden mot blob-, kö- och tabelldata när det är möjligt. Auktorisering med Microsoft Entra ID och hanterade identiteter ger överlägsen säkerhet och enkel användning via auktorisering av delad nyckel. Mer information om hanterade identiteter finns i Vad är hanterade identiteter för Azure resurser. Ett exempel på hur du aktiverar och använder en hanterad identitet för en .NET-applikation finns i Autentisering av de Azure-värdbaserade apparna till Azure-resurser med .NET.
För resurser som finns utanför Azure, till exempel lokala program, kan du använda hanterade identiteter via Azure Arc. Appar som körs på Azure Arc-aktiverade servrar kan till exempel använda hanterade identiteter för att ansluta till Azure tjänster. För att lära dig mer, se Autentisera mot Azure-resurser med Azure Arc-aktiverade servrar.
För scenarier där signaturer för delad åtkomst (SAS) används rekommenderar Microsoft att du använder en SAS för användardelegering. En SAS för användardelegering skyddas med Microsoft Entra autentiseringsuppgifter i stället för kontonyckeln. Mer information om signaturer för delad åtkomst finns i Bevilja begränsad åtkomst till data med signaturer för delad åtkomst. Ett exempel på hur du skapar och använder en SAS för användardelegering med .NET finns i Skapa en sas för användardelegering för en blob med .NET.
Skydda dina åtkomstnycklar
Åtkomstnycklar för lagringskonto ger fullständig åtkomst till lagringskontodata och möjligheten att generera SAS-token. Var alltid noga med att skydda dina åtkomstnycklar. Använd Azure Key Vault för att hantera och rotera dina nycklar på ett säkert sätt. Åtkomst till den delade nyckeln ger en användare fullständig åtkomst till ett lagringskontos data. Åtkomsten till delade nycklar bör begränsas noggrant och övervakas. Använd SAS-token för användardelegering med begränsad åtkomstomfång i scenarier där Microsoft Entra ID baserad auktorisering inte kan användas. Undvik hårdkodade åtkomstnycklar eller spara dem var som helst i oformaterad text som är tillgänglig för andra. Rotera dina nycklar om du tror att de har komprometterats.
Viktigt!
Om du vill hindra användare från att komma åt data i ditt lagringskonto med delad nyckel kan du inte tillåta auktorisering av delad nyckel för lagringskontot. Detaljerad åtkomst till data med minsta möjliga behörighet rekommenderas som bästa praxis för säkerhet. Microsoft Entra ID baserad auktorisering med hanterade identiteter ska användas för scenarier som stöder OAuth. Kerberos bör användas för Azure Files via SMB. För Azure Files via REST kan SAS-token användas. Åtkomst med delad nyckel ska inaktiveras om det inte krävs för att förhindra oavsiktlig användning. Mer information finns i Förhindra auktorisering med delad nyckel för ett Azure-lagringskonto.
För att skydda ett Azure Storage konto med Villkorsstyrd åtkomst i Microsoft Entra principer måste du inte tillåta auktorisering av delad nyckel för lagringskontot.
Om du har inaktiverat åtkomst till delad nyckel och du ser auktorisering av delad nyckel rapporterad i diagnostikloggarna anger detta att betrodd åtkomst används för att komma åt lagring. Mer information finns i Betrott åtkomst för resurser registrerade i din Microsoft Entra-klient.
Lagra en anslutningssträng
Ditt program måste komma åt reťazec pripojenia vid körning för att auktorisera begäranden som görs till Azure Storage. Du har flera alternativ för att lagra dina kontoåtkomstnycklar eller reťazec pripojenia:
- Microsoft rekommenderar att du använder Microsoft Entra ID för att auktorisera åtkomst till Azure Storage i stället för kontonycklar. Om du måste använda kontonycklar lagrar du dem på ett säkert sätt i Azure Key Vault. Mer information finns i Auktorisera åtkomst till data i Azure Storage.
- Du kan lagra dina reťazec pripojenia i en miljövariabel.
- Ett program kan lagra reťazec pripojenia i en fil app.config eller web.config. Lägg till reťazec pripojenia i avsnittet AppSettings i dessa filer.
Varning
Lagring av kontoåtkomstnycklar eller reťazec pripojenia i klartext utgör en säkerhetsrisk och rekommenderas inte. Lagra dina kontonycklar i ett krypterat format eller migrera dina program för att använda Microsoft Entra auktorisering för åtkomst till ditt lagringskonto.
Konfigurera en anslutningssträng för Azurite
Emulatorn stöder ett enda fast konto och en välkänd autentiseringsnyckel för autentisering med delad nyckel. Det här kontot och nyckeln är de enda autentiseringsuppgifterna för delad nyckel som tillåts för användning med emulatorn. Dessa är:
Account name: devstoreaccount1
Account key: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==
Kommentar
Autentiseringsnyckeln som stöds av emulatorn är endast avsedd för att testa funktionerna i din klientautentiseringskod. Det tjänar inte något säkerhetssyfte. Du kan inte använda ditt produktionslagringskonto och din nyckel med emulatorn. Du bör inte använda utvecklingskontot med produktionsdata.
Emulatorn stöder endast anslutning via HTTP. HTTPS är dock det rekommenderade protokollet för åtkomst till resurser i ett produktions- Azure lagringskonto.
Ansluta till emulatorkontot med hjälp av genvägen
Det enklaste sättet att ansluta till emulatorn från ditt program är att konfigurera en reťazec pripojenia i programmets konfigurationsfil som refererar till genvägen UseDevelopmentStorage=true. Genvägen motsvarar den fullständiga reťazec pripojenia för emulatorn, som anger kontonamnet, kontonyckeln och emulatorns slutpunkter för var och en av de Azure Storage tjänsterna:
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;
Följande .NET kodfragment visar hur du kan använda genvägen från en metod som tar en reťazec pripojenia. Konstruktorn BlobContainerClient(String, String) tar till exempel en reťazec pripojenia.
BlobContainerClient blobContainerClient = new BlobContainerClient("UseDevelopmentStorage=true", "sample-container");
blobContainerClient.CreateIfNotExists();
Kontrollera att emulatorn körs innan du anropar koden i kodfragmentet.
Mer information om Azurite finns i Använd Azurite-emulatorn för lokal Azure Storage utveckling.
Konfigurera en reťazec pripojenia för ett Azure lagringskonto
Använd följande format för att skapa en reťazec pripojenia för ditt Azure lagringskonto. Ange om du vill ansluta till lagringskontot via HTTPS (rekommenderas) eller HTTP, ersätt myAccountName med namnet på ditt lagringskonto och ersätt myAccountKey med åtkomstnyckeln för ditt konto:
DefaultEndpointsProtocol=[http|https];AccountName=myAccountName;AccountKey=myAccountKey
Din reťazec pripojenia kan till exempel se ut ungefär så här:
DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=<account-key>
Även om Azure Storage stöder både HTTP och HTTPS i en reťazec pripojenia rekommenderas HTTPS starkt.
Tips
Du hittar lagringskontots anslutningssträngar i Azure-portalen. Gå till Säkerhets - och nätverksåtkomstnycklar> i lagringskontots inställningar för att se anslutningssträng för både primära och sekundära åtkomstnycklar.
Skapa en reťazec pripojenia med hjälp av en signatur för delad åtkomst
Om du har en URL för signatur för delad åtkomst (SAS) som ger dig åtkomst till resurser i ett lagringskonto kan du använda SAS i en reťazec pripojenia. Eftersom SAS innehåller den information som krävs för att autentisera begäran tillhandahåller en reťazec pripojenia med en SAS protokollet, tjänstslutpunkten och de autentiseringsuppgifter som krävs för att få åtkomst till resursen.
Om du vill skapa en reťazec pripojenia som innehåller en signatur för delad åtkomst anger du strängen i följande format:
BlobEndpoint=myBlobEndpoint;
QueueEndpoint=myQueueEndpoint;
TableEndpoint=myTableEndpoint;
FileEndpoint=myFileEndpoint;
SharedAccessSignature=sasToken
Varje tjänstslutpunkt är valfri, även om reťazec pripojenia måste innehålla minst en.
Kommentar
Att använda HTTPS med en SAS rekommenderas som bästa praxis.
Om du anger en SAS i en reťazec pripojenia i en konfigurationsfil kan du behöva koda specialtecken i URL:en.
Exempel på tjänst-SAS
Här är ett exempel på en anslutningssträng som innehåller en service-SAS för Blob-lagring:
BlobEndpoint=https://storagesample.blob.core.windows.net;
SharedAccessSignature=sv=2015-04-05&sr=b&si=tutorial-policy-635959936145100803&sig=9aCzs76n0E7y5BpEi2GvsSv433BZa22leDOZXX%2BXXIU%3D
Och här är ett exempel på samma reťazec pripojenia med URL-kodning:
BlobEndpoint=https://storagesample.blob.core.windows.net;
SharedAccessSignature=sv=2015-04-05&sr=b&si=tutorial-policy-635959936145100803&sig=9aCzs76n0E7y5BpEi2GvsSv433BZa22leDOZXX%2BXXIU%3D
Sas-exempel för konto
Här är ett exempel på en reťazec pripojenia som innehåller ett konto-SAS för blob- och fillagring. Observera att slutpunkter för båda tjänsterna anges:
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
Och här är ett exempel på samma reťazec pripojenia med URL-kodning:
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
Skapa en reťazec pripojenia för en explicit lagringsslutpunkt
Du kan ange explicita tjänstslutpunkter i din reťazec pripojenia i stället för att använda standardslutpunkterna. Om du vill skapa en reťazec pripojenia som anger en explicit slutpunkt anger du den fullständiga tjänstslutpunkten för varje tjänst, inklusive protokollspecifikationen (HTTPS (rekommenderas) eller HTTP), i följande format:
DefaultEndpointsProtocol=[http|https];
BlobEndpoint=myBlobEndpoint;
FileEndpoint=myFileEndpoint;
QueueEndpoint=myQueueEndpoint;
TableEndpoint=myTableEndpoint;
AccountName=myAccountName;
AccountKey=myAccountKey
Ett scenario där du kanske vill ange en explicit slutpunkt är när du har mappat bloblagringsslutpunkten till en anpassad domän. I så fall kan du ange din anpassade slutpunkt för Blob Storage i reťazec pripojenia. Du kan också ange standardslutpunkterna för de andra tjänsterna om programmet använder dem.
Här är ett exempel på en reťazec pripojenia som anger en explicit slutpunkt för Blob-tjänsten:
# Blob endpoint only
DefaultEndpointsProtocol=https;
BlobEndpoint=http://www.mydomain.com;
AccountName=storagesample;
AccountKey=<account-key>
Det här exemplet anger explicita slutpunkter för alla tjänster, inklusive en anpassad domän för Blob-tjänsten:
# 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>
Slutpunktsvärdena i en reťazec pripojenia används för att konstruera begärande-URI:er till lagringstjänsterna och diktera formen på alla URI:er som returneras till koden.
Om du har mappat en lagringsslutpunkt till en anpassad domän och utelämnat den slutpunkten från en anslutningssträng kan du inte använda den anslutningssträngen för att komma åt data i tjänsten från din kod.
Mer information om hur du konfigurerar en anpassad domän för Azure Storage finns i Mappa en anpassad domän till en Azure Blob Storage slutpunkt.
Viktigt!
Tjänstslutpunktsvärden i dina anslutningssträng måste vara välformade URI:er, inklusive https:// (rekommenderas) eller http://.
Skapa en reťazec pripojenia med ett slutpunktssuffix
Om du vill skapa en reťazec pripojenia för en lagringstjänst i regioner eller instanser med olika slutpunktssuffix, till exempel för Microsoft Azure som drivs av 21Vianet eller Azure Government, använder du följande reťazec pripojenia format. Ange om du vill ansluta till lagringskontot via HTTPS (rekommenderas) eller HTTP, ersätt myAccountName med namnet på ditt lagringskonto, ersätt myAccountKey med din kontoåtkomstnyckel och ersätt mySuffix med URI-suffixet:
DefaultEndpointsProtocol=[http|https];
AccountName=myAccountName;
AccountKey=myAccountKey;
EndpointSuffix=mySuffix;
Här är ett exempel reťazec pripojenia för lagringstjänster i Azure som drivs av 21Vianet:
DefaultEndpointsProtocol=https;
AccountName=storagesample;
AccountKey=<account-key>;
EndpointSuffix=core.chinacloudapi.cn;
Auktorisera åtkomst med delad nyckel
Mer information om hur du auktoriserar åtkomst till Azure Storage med kontonyckeln eller med en reťazec pripojenia finns i någon av följande artiklar:
- Auktorisera åtkomst och anslut till Blob Storage med .NET
- Auktorisera åtkomst och anslut till Blob Storage med Java
- Godkänn åtkomst och anslut till bloblagring med JavaScript
- Auktorisera åtkomst och anslut till Blob Storage med Python