Tárfiókkulcsok kezelése a Key Vaulttal és az Azure CLI-vel (örökölt)
Fontos
A Key Vault felügyelt tárfiókkulcsai (örökölt) támogatottak, és nincs több tervezett frissítés. Csak a fiók sasa támogatott az SAS-definíciók aláírt tárolási szolgáltatásának legkésőbb 2018.03.28-i verziójával.
Fontos
Az Azure CLI-ben a felügyelt tárfiókkulcsok támogatása el lett távolítva a 2.54-es verzióban, az oktatóanyag parancsaihoz az Azure CLI 2.53.1-es vagy korábbi verzióját kell használnia.
Fontos
Javasoljuk, hogy használja az Azure Storage-integrációt a Microsoft Entra ID-val, a Microsoft felhőalapú identitás- és hozzáférés-kezelési szolgáltatásával. A Microsoft Entra-integráció azure-blobokhoz, üzenetsorokhoz és táblákhoz érhető el, és OAuth2-jogkivonatalapú hozzáférést biztosít az Azure Storage-hoz (az Azure Key Vaulthoz hasonlóan). A Microsoft Entra ID lehetővé teszi az ügyfélalkalmazás hitelesítését egy alkalmazás vagy egy felhasználói identitás használatával a tárfiók hitelesítő adatai helyett. Az Azure-ban való futtatáskor Microsoft Entra által felügyelt identitást is használhat. A felügyelt identitások nem igénylik az ügyfél-hitelesítést és a hitelesítő adatok tárolását az alkalmazásban vagy az alkalmazással. Az alábbi megoldást csak akkor használja, ha a Microsoft Entra-hitelesítés nem lehetséges.
Az Azure Storage-fiókok egy fióknevet és egy kulcsot tartalmazó hitelesítő adatokat használnak. A kulcs automatikusan jön létre, és titkosítási kulcs helyett jelszóként szolgál. A Key Vault úgy kezeli a tárfiók kulcsait, hogy rendszeresen újragenerálja őket a tárfiókban, és megosztott hozzáférésű aláírási jogkivonatokat biztosít a tárfiók erőforrásaihoz való delegált hozzáféréshez.
A Key Vault által felügyelt tárfiók kulcsfunkciójával listázhatja (szinkronizálhatja) a kulcsokat egy Azure-tárfiókkal, és rendszeresen újragenerálhatja (elforgathatja) a kulcsokat. A tárfiókok és a klasszikus tárfiókok kulcsait is kezelheti.
A felügyelt tárfiók kulcs funkciójának használatakor vegye figyelembe a következő szempontokat:
- A rendszer soha nem ad vissza kulcsértékeket hívó válaszként.
- Csak a Key Vault kezelje a tárfiókkulcsokat. Ne kezelje saját maga a kulcsokat, és ne zavarja a Key Vault-folyamatokat.
- Csak egyetlen Key Vault-objektum kezelje a tárfiókkulcsokat. Ne engedélyezze a kulcskezelést több objektumból.
- Kulcsok újragenerálása csak a Key Vault használatával. Ne hozza létre manuálisan a tárfiókkulcsokat.
Fontos
A kulcs közvetlenül a tárfiókban való újragenerálása megszakítja a felügyelt tárfiókok beállítását, és érvénytelenítheti a használatban lévő SAS-jogkivonatokat, és leállást okozhat.
A Microsoft Entra-bérlő minden regisztrált alkalmazást szolgáltatásnévvel biztosít. A szolgáltatásnév az alkalmazásazonosító, amelyet a többi Azure-erőforráshoz való hozzáférés engedélyezésekor használnak az Azure-beli szerepköralapú hozzáférés-vezérlés (Azure RBAC) használatával.
A Key Vault egy Olyan Microsoft-alkalmazás, amely minden Microsoft Entra-bérlőben elő van regisztrálva. A Key Vault minden Azure-felhőben ugyanazzal az alkalmazásazonosítóval van regisztrálva.
Bérlők | Felhőbeli | Pályázat azonosítója |
---|---|---|
Microsoft Entra ID | Azure Government | 7e7c393b-45d0-48b1-a35e-2905ddf8183c |
Microsoft Entra ID | Azure – nyilvános | cfa8b339-82a2-471a-a3c9-0fc0be7a4093 |
Egyéb | Bármely | cfa8b339-82a2-471a-a3c9-0fc0be7a4093 |
Az útmutató elvégzéséhez először a következő lépéseket kell elvégeznie:
- Telepítse az Azure CLI-t.
- Kulcstartó létrehozása
- Azure-tárfiók létrehozása. A tárfiók nevének csak kisbetűket és számokat kell használnia. A név hosszának 3 és 24 karakter közöttinek kell lennie.
Az Azure CLI-munkamenet hitelesítése az az bejelentkezési parancsokkal.
az login
Az Azure CLI az role assignment create paranccsal hozzáférést adhat a Key Vaultnak a tárfiókhoz. Adja meg a parancsnak a következő paraméterértékeket:
--role
: Adja át a "Storage Account Key Operator Service Role" Azure-szerepkört. Ez a szerepkör korlátozza a tárfiók hozzáférési hatókörét. Klasszikus tárfiók esetén inkább adja át a "Klasszikus tárfiókkulcs-kezelő szolgáltatásszerepkört".--assignee
: Adja meg a "https://vault.azure.net"" értéket, amely a Key Vault url-címe az Azure nyilvános felhőben. (Az Azure Government-felhő esetében használja inkább a "--assignee-object-id" azonosítót, lásd: Egyszerű szolgáltatásalkalmazás azonosítója.)--scope
: Adja meg a tárfiók erőforrás-azonosítóját, amely az űrlapon/subscriptions/<subscriptionID>/resourceGroups/<StorageAccountResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<YourStorageAccountName>
található. Keresse meg az előfizetés azonosítóját az Azure CLI az account list paranccsal. Keresse meg a tárfiók nevét és a tárfiók erőforráscsoportját az Azure CLI az storage account list paranccsal.
az role assignment create --role "Storage Account Key Operator Service Role" --assignee "https://vault.azure.net" --scope "/subscriptions/<subscriptionID>/resourceGroups/<StorageAccountResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<YourStorageAccountName>"
Az Azure CLI az keyvault-set-policy parancsmaggal frissítse a Key Vault hozzáférési szabályzatát, és adjon tárfiók-engedélyeket a felhasználói fióknak.
# Give your user principal access to all storage account permissions, on your Key Vault instance
az keyvault set-policy --name <YourKeyVaultName> --upn user@domain.com --storage-permissions get list delete set update regeneratekey getsas listsas deletesas setsas recover backup restore purge
A tárfiókokra vonatkozó engedélyek nem érhetők el az Azure Portal tárfiókjának "Hozzáférési szabályzatok" lapján.
Hozzon létre egy Key Vault által felügyelt tárfiókot az Azure CLI az keyvault storage paranccsal. Állítson be egy 30 napos regenerációs időszakot. Amikor el kell forgatni, a KeyVault újragenerálja a nem aktív kulcsot, majd aktívként állítja be az újonnan létrehozott kulcsot. Egyszerre csak az egyik kulcs használható SAS-jogkivonatok kiadására, ez az aktív kulcs. Adja meg a parancsnak a következő paraméterértékeket:
--vault-name
: Adja meg a kulcstartó nevét. A kulcstartó nevének megkereséséhez használja az Azure CLI az keyvault list parancsot.-n
: Adja meg a tárfiók nevét. A tárfiók nevének megkereséséhez használja az Azure CLI az storage account list parancsot.--resource-id
: Adja meg a tárfiók erőforrás-azonosítóját, amely az űrlapon/subscriptions/<subscriptionID>/resourceGroups/<StorageAccountResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<YourStorageAccountName>
található. Keresse meg az előfizetés azonosítóját az Azure CLI az account list paranccsal. Keresse meg a tárfiók nevét és a tárfiók erőforráscsoportját az Azure CLI az storage account list paranccsal.
az keyvault storage add --vault-name <YourKeyVaultName> -n <YourStorageAccountName> --active-key-name key1 --auto-regenerate-key --regeneration-period P30D --resource-id "/subscriptions/<subscriptionID>/resourceGroups/<StorageAccountResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<YourStorageAccountName>"
Megkérheti a Key Vaultot is, hogy hozzon létre közös hozzáférésű jogosultságkód-jogkivonatokat. A megosztott hozzáférésű jogosultságkód delegált hozzáférést biztosít a tárfiók erőforrásaihoz. A fiókkulcsok megosztása nélkül hozzáférést biztosíthat az ügyfeleknek a tárfiók erőforrásaihoz. A megosztott hozzáférésű jogosultságkódokkal biztonságos módon oszthatja meg a tárerőforrásokat anélkül, hogy a fiókkulcsokat veszélyeztetné.
Az ebben a szakaszban található parancsok a következő műveleteket hajtják végre:
- Fiók közös hozzáférésű jogosultságkód-definíciójának
<YourSASDefinitionName>
beállítása. A definíció egy Key Vault által felügyelt tárfiókon<YourStorageAccountName>
van beállítva a kulcstartóban<YourKeyVaultName>
. - Állítsa be a Key Vault által felügyelt tár megosztott hozzáférésű jogosultságkód-definícióját a tárolóban. A definíció tartalmazza a létrehozott közös hozzáférésű jogosultságkód jogkivonatának sablon URI-ját. A definíció a közös hozzáférésű jogosultságkód típusával
account
rendelkezik, és N napig érvényes. - Ellenőrizze, hogy a közös hozzáférésű jogosultságkód titkos kulcsként lett-e mentve a kulcstartóban.
A Key Vault SAS-definíciós sablonnal hoz létre jogkivonatokat az ügyfélalkalmazásokhoz.
PÉLDA SAS-definíciós sablonra:
"sv=2018-03-28&ss=bfqt&srt=sco&sp=rw&spr=https"
Az SAS-definíciós sablon a következő lépésben lesz átadva a --template-uri
paraméternek.
SAS-lekérdezési paraméter | Leírás |
---|---|
SignedVersion (sv) |
Szükséges. Megadja a társzolgáltatás aláírt verzióját, amellyel engedélyezheti a fiók SAS-jével érkező kéréseket. A 2015-04-05-ös vagy újabb verzióra kell állítani. A Key Vault legkésőbb 2018.03.28-ra támogatja a verziókat |
SignedServices (ss) |
Szükséges. Megadja a fiók SAS-jével elérhető aláírt szolgáltatásokat. Lehetséges értékek: - Blob ( b )- Üzenetsor ( q )- Táblázat ( t )- Fájl ( f )Az értékeket kombinálva több szolgáltatáshoz is hozzáférést biztosíthat. Megadja például a ss=bf blob- és fájlvégpontokhoz való hozzáférést. |
SignedResourceTypes (srt) |
Szükséges. Megadja a fiók SAS-jével elérhető aláírt erőforrástípusokat. - Szolgáltatás ( s ): Hozzáférés a szolgáltatásszintű API-khoz (például szolgáltatástulajdonságok lekérése/beállítása, szolgáltatásstatisztikák lekérése, tárolók listázása/üzenetsorok/táblák/megosztások)- Tároló ( c ): Hozzáférés a tárolószintű API-khoz (például Tároló létrehozása/törlése, Üzenetsor létrehozása/törlése, Tábla létrehozása/törlése, Megosztás létrehozása/törlése, Blobok/fájlok és könyvtárak listázása)- Objektum ( o ): Hozzáférés az objektumszintű API-khoz blobokhoz, üzenetsor-üzenetekhez, táblaentitásokhoz és fájlokhoz (például Blob elhelyezése, Lekérdezési entitás, Üzenetek lekérése, Fájl létrehozása stb.)Az értékeket kombinálva több erőforrástípushoz is hozzáférést biztosíthat. Megadja például a srt=sc szolgáltatás- és tárolóerőforrásokhoz való hozzáférést. |
SignedPermission (sp) |
Szükséges. Megadja a fiók SAS-azonosítójához tartozó aláírt engedélyeket. Az engedélyek csak akkor érvényesek, ha megfelelnek a megadott aláírt erőforrástípusnak; ellenkező esetben a rendszer figyelmen kívül hagyja őket. - Olvasás ( r ): Az összes aláírt erőforrástípusra (szolgáltatás, tároló és objektum) érvényes. Engedélyezi az olvasási engedélyeket a megadott erőforrástípushoz.- Írás ( w ): Érvényes az összes aláírt erőforrástípusra (szolgáltatás, tároló és objektum). Engedélyezi az írási engedélyeket a megadott erőforrástípushoz.- Törlés ( d ): Tároló- és objektumerőforrás-típusok esetén érvényes, kivéve az üzenetsor-üzeneteket.- Végleges törlés ( y ): Csak a Blob objektumerőforrás-típusára érvényes.- Lista ( l ): Csak a szolgáltatás- és tárolóerőforrás-típusokra érvényes.- Hozzáadás ( a ): Csak a következő objektumerőforrás-típusokra érvényes: üzenetsor-üzenetek, táblaentitások és hozzáfűző blobok.- Létrehozás ( c ): Csak a következő objektumerőforrás-típusokra érvényes: blobok és fájlok. A felhasználók új blobokat vagy fájlokat hozhatnak létre, de nem írhatják felül a meglévő blobokat vagy fájlokat.- Frissítés ( u ): Csak a következő objektumerőforrás-típusokra érvényes: üzenetsor-üzenetek és táblaentitások.- Folyamat ( p ): Csak a következő objektumerőforrás-típusra érvényes: üzenetsor-üzenetek.- Címke ( t ): Csak a következő objektumerőforrás-típusra érvényes: blobok. Engedélyezi a blobcímkék műveleteit.- Szűrő ( f ): Csak a következő objektumerőforrás-típusra érvényes: blob. Engedélyezi a blobcímke szerinti szűrést.- Módosíthatatlansági szabályzat beállítása ( i ): Csak a következő objektumerőforrás-típusra érvényes: blob. Engedélyezi a nem módosíthatósági szabályzat beállítását és törlését, valamint a blobok jogi visszatartást. |
SignedProtocol (spr) |
Opcionális. Megadja az SAS-fiókkal küldött kérésekhez engedélyezett protokollt. Lehetséges értékek a HTTPS és a HTTP (https,http ) vagy a HTTPS (https csak). Az alapértelmezett érték https,http .A HTTP csak nem engedélyezett érték. |
További információ a fiók SAS-járól: Fiók SAS létrehozása
Megjegyzés
A Key Vault figyelmen kívül hagyja az olyan élettartam-paramétereket, mint az "Aláírt lejárat", az "Aláírt kezdés" és a 2018-03-28-s verzió után bevezetett paraméterek
Az Azure CLI az keyvault storage sas-definition create parancsával adja át az SAS-definíciós sablont az előző lépésből a --template-uri
paraméternek, és hozzon létre egy közös hozzáférésű jogosultságkód-definíciót. A paraméterhez megadhatja a választott -n
nevet.
az keyvault storage sas-definition create --vault-name <YourKeyVaultName> --account-name <YourStorageAccountName> -n <YourSASDefinitionName> --validity-period P2D --sas-type account --template-uri <sasDefinitionTemplate>
Az Azure CLI az keyvault storage sas-definition show parancsával ellenőrizheti, hogy a közös hozzáférésű jogosultságkód definíciója a kulcstartóban lett-e tárolva.
Most már használhatja az az keyvault storage sas-definition show parancsot és a id
tulajdonságot a titkos kód tartalmának megtekintéséhez.
az keyvault storage sas-definition show --id https://<YourKeyVaultName>.vault.azure.net/storage/<YourStorageAccountName>/sas/<YourSASDefinitionName>
- További információ a kulcsokról, titkos kódokról és tanúsítványokról.
- Tekintse át az Azure Key Vault csapat blogján található cikkeket.
- Tekintse meg az az keyvault storage referenciadokumentációját.