Szybki start: tworzenie magazynu kluczy platformy Azure i klucza przy użyciu szablonu usługi ARM
Azure Key Vault to usługa w chmurze, która zapewnia bezpieczny magazyn wpisów tajnych, takich jak klucze, hasła i certyfikat. Ten przewodnik Szybki start koncentruje się na procesie wdrażania szablonu usługi Azure Resource Manager (szablon usługi ARM) w celu utworzenia magazynu kluczy i klucza.
Wymagania wstępne
Aby ukończyć ten artykuł:
- Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Użytkownik musi mieć przypisaną wbudowaną rolę platformy Azure, zalecaną rolę współautora. Dowiedz się więcej tutaj
Przegląd szablonu
{
"$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')))]"
}
}
}
Dwa zasoby są zdefiniowane w szablonie:
Więcej przykładów szablonów usługi Azure Key Vault można znaleźć w temacie Szablony szybkiego startu platformy Azure.
Parametry i definicje
Parametr | Definicja |
---|---|
keyOps | Określa operacje, które można wykonać przy użyciu klucza. Jeśli nie określisz tego parametru, można wykonać wszystkie operacje. Dopuszczalne wartości tego parametru to rozdzielona przecinkami lista operacji klucza zdefiniowanych przez specyfikację JSON Web Key (JWK):["sign", "verify", "encrypt", "decrypt", " wrapKey", "unwrapKey"] |
CurveName | Nazwa krzywej eliptycznej (EC) dla typu klucza EC. Zobacz JsonWebKeyCurveName |
Kty | Typ klucza do utworzenia. Aby uzyskać prawidłowe wartości, zobacz JsonWebKeyType |
Tagi | Metadane specyficzne dla aplikacji w postaci par klucz-wartość. |
Nbf | Określa godzinę jako obiekt DateTime, przed którym nie można użyć klucza. Formatem będzie sygnatura czasowa systemu Unix (liczba sekund po epoki unix 1 stycznia 1970 o utc). |
Exp | Określa czas wygaśnięcia jako obiekt DateTime. Formatem będzie sygnatura czasowa systemu Unix (liczba sekund po epoki unix 1 stycznia 1970 o utc). |
Wdrożenie szablonu
Możesz użyć Azure Portal, Azure PowerShell, interfejsu wiersza polecenia platformy Azure lub interfejsu API REST. Aby dowiedzieć się więcej o metodach wdrażania, zobacz Wdrażanie szablonów.
Przeglądanie wdrożonych zasobów
Możesz użyć Azure Portal, aby sprawdzić magazyn kluczy i klucz. Możesz też użyć następującego interfejsu wiersza polecenia platformy Azure lub skryptu Azure PowerShell, aby wyświetlić listę utworzonych kluczy.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault key list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Tworzenie klucza przy użyciu szablonu usługi ARM różni się od tworzenia klucza za pośrednictwem płaszczyzny danych
Tworzenie klucza za pomocą usługi ARM
Możliwe jest tylko utworzenie nowych kluczy. Nie można zaktualizować istniejących kluczy ani utworzyć nowych wersji istniejących kluczy. Jeśli klucz już istnieje, istniejący klucz jest pobierany z magazynu i używany (nie zostaną wykonane żadne operacje zapisu).
Aby autoryzować korzystanie z tego interfejsu API, obiekt wywołujący musi mieć akcję kontroli dostępu opartej na rolach (RBAC) "Microsoft.KeyVault/vaults/keys/write". Wbudowana rola "Key Vault Współautor" jest wystarczająca, ponieważ autoryzuje wszystkie akcje RBAC zgodne ze wzorcem "Microsoft.KeyVault/*".
Istniejący interfejs API (tworzenie klucza za pośrednictwem płaszczyzny danych)
- Istnieje możliwość utworzenia nowych kluczy, zaktualizowania istniejących kluczy i utworzenia nowych wersji istniejących kluczy.
- Obiekt wywołujący musi mieć autoryzację do korzystania z tego interfejsu API. Jeśli magazyn korzysta z zasad dostępu, obiekt wywołujący musi mieć uprawnienie "utwórz" klucz; Jeśli magazyn jest włączony dla kontroli dostępu opartej na rolach, obiekt wywołujący musi mieć wartość "Microsoft.KeyVault/vaults/keys/create/action" dataAction kontroli dostępu opartej na rolach.
Czyszczenie zasobów
Inne przewodniki Szybki start i samouczki usługi Key Vault bazują na tym przewodniku. Jeśli planujesz korzystać z kolejnych przewodników Szybki start i samouczków, pozostaw te zasoby na swoim miejscu. Jeśli nie będą Ci one już potrzebne, usuń grupę zasobów, a zostanie także usunięta usługa Key Vault i powiązane zasoby. Aby usunąć grupę zasobów przy użyciu interfejsu wiersza polecenia platformy Azure lub Azure PowerShell:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Następne kroki
W tym przewodniku Szybki start utworzono magazyn kluczy i klucz przy użyciu szablonu usługi ARM i zweryfikowano wdrożenie. Aby dowiedzieć się więcej o Key Vault i usłudze Azure Resource Manager, zobacz te artykuły.
- Przeczytaj omówienie usługi Azure Key Vault
- Dowiedz się więcej o usłudze Azure Resource Manager
- Przegląd zabezpieczeń Key Vault
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla