Rövid útmutató: Azure Key Vault és kulcs létrehozása ARM-sablonnal
Az Azure Key Vault egy felhőalapú szolgáltatás, amely biztonságos tárat biztosít a titkos kulcsokhoz, például kulcsokhoz, jelszavakhoz és tanúsítványokhoz. Ez a rövid útmutató egy Azure Resource Manager-sablon (ARM-sablon) üzembe helyezésének folyamatára összpontosít egy kulcstartó és egy kulcs létrehozásához.
Előfeltételek
A cikk elvégzéséhez:
- Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
- A felhasználónak azure-beli beépített szerepkört kell hozzárendelnie, ajánlott szerepkör-közreműködőt kell megadnia. További információ itt
A sablon áttekintése
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vaultName": {
"type": "string",
"metadata": {
"description": "The name of the key vault to be created."
}
},
"keyName": {
"type": "string",
"metadata": {
"description": "The name of the key to be created."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "The location of the resources"
}
},
"skuName": {
"type": "string",
"defaultValue": "standard",
"allowedValues": [
"standard",
"premium"
],
"metadata": {
"description": "The SKU of the vault to be created."
}
},
"keyType": {
"type": "string",
"defaultValue": "RSA",
"allowedValues": [
"EC",
"EC-HSM",
"RSA",
"RSA-HSM"
],
"metadata": {
"description": "The JsonWebKeyType of the key to be created."
}
},
"keyOps": {
"type": "array",
"defaultValue": [],
"metadata": {
"description": "The permitted JSON web key operations of the key to be created."
}
},
"keySize": {
"type": "int",
"defaultValue": 2048,
"metadata": {
"description": "The size in bits of the key to be created."
}
},
"curveName": {
"type": "string",
"defaultValue": "",
"allowedValues": [
"",
"P-256",
"P-256K",
"P-384",
"P-521"
],
"metadata": {
"description": "The JsonWebKeyCurveName of the key to be created."
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults",
"apiVersion": "2021-11-01-preview",
"name": "[parameters('vaultName')]",
"location": "[parameters('location')]",
"properties": {
"accessPolicies": [],
"enableRbacAuthorization": true,
"enableSoftDelete": true,
"softDeleteRetentionInDays": "90",
"enabledForDeployment": false,
"enabledForDiskEncryption": false,
"enabledForTemplateDeployment": false,
"tenantId": "[subscription().tenantId]",
"sku": {
"name": "[parameters('skuName')]",
"family": "A"
},
"networkAcls": {
"defaultAction": "Allow",
"bypass": "AzureServices"
}
}
},
{
"type": "Microsoft.KeyVault/vaults/keys",
"apiVersion": "2021-11-01-preview",
"name": "[format('{0}/{1}', parameters('vaultName'), parameters('keyName'))]",
"properties": {
"kty": "[parameters('keyType')]",
"keyOps": "[parameters('keyOps')]",
"keySize": "[parameters('keySize')]",
"curveName": "[parameters('curveName')]"
},
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('vaultName'))]"
]
}
],
"outputs": {
"proxyKey": {
"type": "object",
"value": "[reference(resourceId('Microsoft.KeyVault/vaults/keys', parameters('vaultName'), parameters('keyName')))]"
}
}
}
A sablonban két erőforrás van definiálva:
További Azure Key Vault-sablonminták találhatók az Azure Gyorsindítási sablonokban.
Paraméterek és definíciók
Paraméter | Definíció |
---|---|
keyOps | A kulcs használatával végrehajtható műveleteket adja meg. Ha nem adja meg ezt a paramétert, minden művelet végrehajtható. A paraméter elfogadható értékei a JSON Web Key (JWK) specifikációja által meghatározott kulcsműveletek vesszővel tagolt listája:["sign", "verify", "encrypt", "decrypt", " wrapKey", "unwrapKey"] |
CurveName | Az EK-kulcs típusának elliptikus görbe (EC) neve. Lásd: JsonWebKeyCurveName |
Kty | A létrehozandó kulcs típusa. Érvényes értékekért lásd: JsonWebKeyType |
Címkék | Alkalmazásspecifikus metaadatok kulcs-érték párok formájában. |
nbf | Dátum/idő objektumként adja meg az időt, amely előtt a kulcs nem használható. A formátum unix időbélyeg (a Unix Epoch utáni másodpercek száma 1970. január 1-jén (UTC). |
Exp | Dátum/idő objektumként adja meg a lejárati időt. A formátum unix időbélyeg (a Unix Epoch utáni másodpercek száma 1970. január 1-jén (UTC). |
A sablon üzembe helyezése
Használhatja az Azure Portalt, az Azure PowerShellt, az Azure CLI-t vagy a REST API-t. Az üzembe helyezési módszerekről a Sablonok üzembe helyezése című témakörben olvashat.
Üzembe helyezett erőforrások áttekintése
Az Azure Portalon ellenőrizheti a kulcstartót és a kulcsot. Másik lehetőségként a következő Azure CLI- vagy Azure PowerShell-szkripttel listázhatja a létrehozott kulcsot.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault key list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
A kulcs ARM-sablonnal való létrehozása eltér az adatsíkon keresztüli kulcskészítéstől
Kulcs létrehozása ARM-en keresztül
Csak új kulcsok hozhatók létre. A meglévő kulcsok frissítése és a meglévő kulcsok új verzióinak létrehozása nem lehetséges. Ha a kulcs már létezik, akkor a rendszer lekéri a meglévő kulcsot a tárolóból, és használja (nem történik írási művelet).
Az API használatához a hívónak rendelkeznie kell a "Microsoft.KeyVault/vaults/keys/write" szerepköralapú hozzáférés-vezérlési (RBAC) műveletével. A beépített "Key Vault-közreműködő" szerepkör elegendő, mivel minden olyan RBAC-műveletet engedélyez, amely megfelel a "Microsoft.KeyVault/*" mintának.
Meglévő API (kulcs létrehozása adatsíkon keresztül)
- Létrehozhat új kulcsokat, frissítheti a meglévő kulcsokat, és létrehozhatja a meglévő kulcsok új verzióit.
- A hívónak jogosultnak kell lennie az API használatára. Ha a tároló hozzáférési szabályzatokat használ, a hívónak "létrehozási" kulcs engedéllyel kell rendelkeznie; Ha a tároló engedélyezve van az RBAC-hez, a hívónak rendelkeznie kell a "Microsoft.KeyVault/vaults/keys/create/action" RBAC DataAction értékkel.
Az erőforrások eltávolítása
Erre a rövid útmutatóra egyéb Key Vault-útmutatók és oktatóanyagok is épülnek. Ha azt tervezi, hogy az ezt követő rövid útmutatókkal és oktatóanyagokkal dolgozik tovább, ne törölje ezeket az erőforrásokat. Ha már nincs rá szükség, törölje az erőforráscsoportot. Ezzel törli a kulcstartót és a kapcsolódó erőforrásokat is. Az erőforráscsoport törlése az Azure CLI vagy az Azure PowerShell használatával:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Következő lépések
Ebben a rövid útmutatóban létrehozott egy kulcstartót és egy kulcsot egy ARM-sablon használatával, és érvényesítette az üzembe helyezést. A Key Vaultról és az Azure Resource Managerről az alábbi cikkekben olvashat bővebben.
- Az Azure Key Vault áttekintése
- További információ az Azure Resource Managerről
- Tekintse át a Key Vault biztonsági áttekintését