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.

Egyszerű szolgáltatásalkalmazás azonosítója

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

Előfeltételek

Az útmutató elvégzéséhez először a következő lépéseket kell elvégeznie:

Tárfiókkulcsok kezelése

Csatlakozás az Azure-fiókhoz

Az Azure CLI-munkamenet hitelesítése az az bejelentkezési parancsokkal.

az login

Key Vault-hozzáférés biztosítása a tárfiókhoz

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

Felhasználói fiók engedélyének megadása felügyelt tárfiókokhoz

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.

Felügyelt Key Vault-tárfiók létrehozása

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

Közös hozzáférésű jogosultságkód-jogkivonatok

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.

Közös hozzáférésű jogosultságkód definíciós sablonjának definiálása

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.

A Key Vault sasdefiníciós sablonjában szükséges fiók SAS-paraméterek

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 (httpscsak). 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

Feljegyzé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

Közös hozzáférésű jogosultságkód definíciójának beállítása a Key Vaultban

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>

A közös hozzáférésű jogosultságkód definíciójának ellenőrzése

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>

Következő lépések