Azure Storage kapcsolati sztringek konfigurálása

A kapcsolati karakterlánc tartalmazzák azokat az engedélyezési információkat, amelyekre az alkalmazásnak szüksége van ahhoz, hogy futtatókörnyezetben, megosztott kulcsos hitelesítéssel férhessen hozzá egy Azure Storage-fiók adataihoz. A kapcsolati sztringek a következőkre konfigurálhatóak:

  • Csatlakozzon az Azurite Storage emulátorhoz.
  • Azure tárfiók elérése.
  • Hozzáférés a megadott erőforrásokhoz Azure egy közös hozzáférésű jogosultságkódon (SAS) keresztül.

A fiókhozzáférési kulcsok megtekintéséről és a kapcsolati karakterlánc másolásáról a A tárfiók hozzáférési kulcsai című témakörben olvashat.

Fontos

Az optimális biztonság érdekében a Microsoft javasolja, hogy a Microsoft Entra ID-t kezelt identitásokkal használja a blob-, üzenetsor- és táblaadatokra irányuló kérelmek engedélyezéséhez, amikor csak lehetséges. A Microsoft Entra ID és felügyelt identitásokkal való engedélyezés kiváló biztonságot és egyszerű használatot biztosít a megosztott kulcsok engedélyezésével szemben. A felügyelt identitásokkal kapcsolatos további információkért lásd: Az Azure erőforrások felügyelt identitásai. .NET alkalmazás felügyelt identitásának engedélyezéséről és használatáról példát talál a Azure által üzemeltetett alkalmazások Azure-erőforrásokhoz való hitelesítése .NET-tel részben.

A Azure kívül üzemeltetett erőforrások, például a helyszíni alkalmazások esetében a felügyelt identitásokat Azure Arc keresztül használhatja. Az Azure Arc-kompatibilis kiszolgálókon futó alkalmazások például felügyelt identitásokkal csatlakozhatnak Azure szolgáltatásokhoz. További információ: A Azure Arc-kompatibilis kiszolgálókkal rendelkező Azure erőforrások hitelesítése.

Olyan esetekben, amikor közös hozzáférésű jogosultságkódokat (SAS) használnak, Microsoft felhasználói delegálási SAS használatát javasolja. A felhasználói delegálási SAS-t a fiókkulcs helyett Microsoft Entra hitelesítő adatok védik. A közös hozzáférésű jogosultságkódokkal kapcsolatos további információkért lásd : Korlátozott hozzáférés biztosítása közös hozzáférésű jogosultságkódokkal rendelkező adatokhoz. A felhasználói delegálási SAS .NET használatával történő létrehozásához és használatához, látogasson el a Felhasználói delegálási SAS létrehozása és használata blobhoz .NET dokumentációra.

A hozzáférési kulcsok védelme

A tárfiók hozzáférési kulcsai teljes hozzáférést biztosítanak a tárfiók adataihoz, valamint sas-jogkivonatok létrehozásához. Mindig ügyeljen a hozzáférési kulcsok védelmére. A Azure Key Vault használatával biztonságosan kezelheti és elforgathatja a kulcsokat. A megosztott kulcshoz való hozzáférés teljes hozzáférést biztosít a felhasználónak a tárfiók adataihoz. A megosztott kulcsokhoz való hozzáférést gondosan korlátozni és figyelni kell. Használjon korlátozott hozzáférési hatókörű felhasználói delegálási SAS-jogkivonatokat olyan esetekben, amikor Microsoft Entra ID alapú engedélyezés nem használható. Kerülje a hozzáférési kulcsok kódolását vagy mentését bárhol, egyszerű, mások számára elérhető szövegben. Forgassa el a kulcsokat, ha úgy véli, hogy feltörték őket.

Fontos

Ha meg szeretné akadályozni, hogy a felhasználók megosztott kulccsal férhessenek hozzá a tárfiók adataihoz, letilthatja a tárfiók megosztott kulcsának engedélyezését. A minimálisan szükséges jogosultságokkal való részletes adat-hozzáférés ajánlott mint biztonsági legjobb gyakorlat. Microsoft Entra ID felügyelt identitásokat használó alapú engedélyezést kell használni az OAuthot támogató forgatókönyvekhez. Az SMB-t használva Kerberost kell használni az Azure Files-hoz. A REST-en keresztüli Azure Files SAS-jogkivonatok használhatók. A megosztott kulcs hozzáférését le kell tiltani, ha nincs szükség a véletlen használat megakadályozására. További információért lásd: A megosztott kulcsos hitelesítés megakadályozása egy Azure Storage fiókhoz.

Ha egy Azure Storage-fiókot Microsoft Entra Feltételes hozzáférés szabályzatokkal szeretne védeni, tiltsa le a tárfiók megosztott kulcsának engedélyezését.

Ha letiltotta a megosztott kulcshoz való hozzáférést, és a diagnosztikai naplókban a megosztott kulcs engedélyezését látja, az azt jelzi, hogy a rendszer megbízható hozzáférést használ a tárterület eléréséhez. További információ: A Microsoft Entra-bérlőben regisztrált erőforrások megbízható hozzáférése.

Connection string tárolása

Az alkalmazásnak futásidőben hozzá kell férnie a kapcsolat karakterlánchoz az Azure Storage-hoz küldött kérelmek engedélyezéséhez. Számos lehetősége van a fiók hozzáférési kulcsainak vagy kapcsolati karakterlánc tárolására:

  • Microsoft Microsoft Entra ID használatát javasolja a fiókkulcsok helyett a Azure Storage hozzáférésének engedélyezéséhez. Ha fiókkulcsokat kell használnia, biztonságosan tárolja őket a Azure Key Vault. További információ: A Azure Storage adatokhoz való hozzáférésének engedélyezése.
  • Tárolhatja a kapcsolati karakterlánc-et egy környezeti változóban.
  • Az alkalmazások a kapcsolati karakterlánc egy app.config vagy web.config fájlban tárolhatják. Adja hozzá a kapcsolati karakterláncot a fájlok AppSettings szakaszához.

Figyelmeztetés

A fiók hozzáférési kulcsainak vagy kapcsolati karakterlánc tiszta szövegben való tárolása biztonsági kockázatot jelent, ezért nem ajánlott. Tárolja a fiókkulcsokat titkosított formátumban, vagy alakítsa át az alkalmazásokat úgy, hogy a Microsoft Entra hitelesítést használják a tárfiókhoz való hozzáféréshez.

Connection string konfigurálása az Azurite-hoz

Az emulátor egyetlen rögzített fiókot és egy jól ismert hitelesítési kulcsot támogat a megosztott kulcsú hitelesítéshez. Ez a fiók és kulcs az egyetlen közös kulcsú hitelesítő adat, amely az emulátorhoz használható. Ezek a következők:

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

Megjegyzés

Az emulátor által támogatott hitelesítési kulcs csak az ügyfél-hitelesítési kód funkcióinak tesztelésére szolgál. Nem szolgál semmilyen biztonsági célt. Az éles tárfiókát és kulcsát nem használhatja az emulátorral. Ne használja a fejlesztési fiókot éles adatokat tartalmazva.

Az emulátor csak HTTP-en keresztül támogatja a kapcsolatot. Az HTTPS azonban az ajánlott protokoll az erőforrások eléréséhez egy üzemi Azure tárfiókban.

Csatlakozás az emulátorfiókhoz a parancsikon használatával

Az emulátorhoz az alkalmazásból a legegyszerűbben úgy csatlakozhat, ha konfigurál egy kapcsolati karakterlánc az alkalmazás konfigurációs fájljában, amely a UseDevelopmentStorage=true parancsikonra hivatkozik. A parancsikon egyenértékű az emulátor teljes kapcsolati karakterlánc-jével, amely meghatározza az Azure Storage szolgáltatások mindegyikének fióknevét, fiókkulcsát, és az emulátor végpontjait.

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;

Az alábbi .NET kódrészlet bemutatja, hogyan használhatja a parancsikont egy kapcsolati karakterlánc használó metódusból. A BlobContainerClient(String, String) konstruktor például egy kapcsolat karakterláncot fogad el.

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

Győződjön meg arról, hogy az emulátor fut, mielőtt meghívja a kódot a kódrészletben.

További információ az Azurite-ról: Az Azurite emulátor a helyi Azure Storage fejlesztéshez.

Connection string konfigurálása Azure tárfiókhoz

Ha kapcsolati karakterlánc szeretne létrehozni Azure tárfiókjához, használja az alábbi formátumot. Adja meg, hogy https (ajánlott) vagy HTTP használatával szeretne-e csatlakozni a tárfiókhoz, cserélje le myAccountName a tárfiók nevére, és cserélje le myAccountKey a fiók hozzáférési kulcsára:

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

Előfordulhat például, hogy a kapcsolati karakterlánc a következőhöz hasonlóan néznek ki:

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

Bár Azure Storage http-t és HTTPS-t is támogat egy kapcsolati karakterlánc, HTTPS erősen ajánlott.

Tipp.

A tárfiók kapcsolati sztringjei a Azure portálon találhatók. A tárfiók beállításai között keresse meg a Biztonság + hálózatkezelés>hozzáférési kulcsokat, és tekintse meg az elsődleges és a másodlagos hozzáférési kulcsok kapcsolati karakterláncait.

Connection string létrehozása közös hozzáférésű jogosultságkód használatával

Ha rendelkezik egy közös hozzáférésű jogosultságkód (SAS) URL-címével, amely hozzáférést biztosít egy tárfiók erőforrásaihoz, használhatja az SAS-t egy kapcsolati karakterlánc. Mivel az SAS tartalmazza a kérelem hitelesítéséhez szükséges információkat, egy SAS-vel rendelkező kapcsolati karakterlánc biztosítja a protokollt, a szolgáltatásvégpontot és az erőforrás eléréséhez szükséges hitelesítő adatokat.

Ha közös hozzáférésű jogosultságkódot tartalmazó kapcsolati karakterlánc szeretne létrehozni, adja meg a sztringet a következő formátumban:

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

Minden szolgáltatásvégpont nem kötelező, bár a kapcsolati karakterlánc legalább egyet tartalmaznia kell.

Megjegyzés

A HTTPS használata egy SAS-szal ajánlott, mint a legjobb módszer.

Ha SAS-t ad meg a konfigurációs fájlban lévő kapcsolati karakterláncben, lehet, hogy speciális karaktereket kell kódolnia az URL-címben.

SAS szolgáltatás példa

Íme egy példa egy kapcsolati karakterláncra, amely tartalmaz egy szolgáltatási SAS-t a Blob-tárolóhoz.

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

Íme egy példa arra, hogyan néz ki ugyanaz a kapcsolati karakterlánc URL-kódolással:

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élda a fiók SAS-ra

Íme egy példa egy kapcsolati karakterláncra, amely tartalmaz egy fiók szolgáltatói aláírási kulcsot (SAS) a Blob- és fájltárolóhoz. Vegye figyelembe, hogy mindkét szolgáltatás végpontjai meg vannak adva:

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

Íme egy példa arra, hogyan néz ki ugyanaz a kapcsolati karakterlánc URL-kódolással:

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

Connection string létrehozása explicit tárolási végponthoz

Az alapértelmezett végpontok helyett explicit szolgáltatásvégpontokat is megadhat a kapcsolati karakterlánc. Explicit végpontot meghatározó kapcsolati karakterlánc létrehozásához adja meg az egyes szolgáltatások teljes szolgáltatásvégpontjait, beleértve a protokoll specifikációját (HTTPS (ajánlott) vagy HTTP-t is, a következő formátumban:

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

Az egyik eset, amikor explicit végpontot szeretne megadni, az az, amikor a Blob Storage-végpontot egy egyéni tartományhoz képezte le. Ebben az esetben megadhatja a Blob-tároló egyéni végpontját a kapcsolati karakterláncban. Ha az alkalmazás használja őket, megadhatja a többi szolgáltatás alapértelmezett végpontjait.

Íme egy példa egy kapcsolati karakterlánc, amely explicit végpontot határoz meg a Blob szolgáltatáshoz:

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

Ez a példa az összes szolgáltatás explicit végpontjait határozza meg, beleértve a Blob szolgáltatás egyéni tartományát is:

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

A kapcsolati karakterlánc végpontértékei a kérelem URI-jainak a tárolási szolgáltatásokhoz való létrehozásához, valamint a kódhoz visszaadott URI-k formájának diktálásához használhatók.

Ha egy tárvégpontot egy egyéni tartományra képeztél le, és ezt a végpontot kihagyod a kapcsolati karakterlánc-ből, akkor nem fogod tudni elérni a szolgáltatásban lévő adatokat a kódodból az adott kapcsolati karakterlánc használatával.

Az egyéni tartomány Azure Storage konfigurálásával kapcsolatos további információkért lásd: Egyéni tartomány leképezése Azure Blob Storage végpontra.

Fontos

A szolgáltatás végpontok kapcsolati karakterláncok értékeinek megfelelően formázott URI-knak kell lenniük, beleértve a https:// értéket (ajánlott) vagy a http://.

Végponti utótaggal rendelkező kapcsolati karakterlánc létrehozása

Ha különböző végponti utótagokkal ellátott régiókban vagy példányokban szeretne kapcsolati karakterláncot létrehozni egy tárolási szolgáltatáshoz, például a 21Vianet által üzemeltetett Microsoft Azure vagy az Azure Government esetében, használja az alábbi kapcsolati karakterlánc formátumot. Adja meg, hogy HTTPS-n vagy HTTP-n keresztül szeretne-e csatlakozni a tárfiókhoz, cserélje le myAccountName a tárfiók nevére, cserélje le myAccountKey a fiók hozzáférési kulcsára, és cserélje le mySuffix az URI utótagot:

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

Íme egy példa kapcsolati karakterlánc a 21Vianet által üzemeltetett Azure tárolási szolgáltatásaihoz:

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

Hozzáférés engedélyezése megosztott kulccsal

Ha tudni szeretné, hogyan engedélyezheti a Azure Storage hozzáférését a fiókkulcs használatával vagy egy kapcsolati karakterlánc, tekintse meg az alábbi cikkek egyikét:

Következő lépések